How to return to the home page after an Alert message

Asked

Viewed 1,795 times

0

I have a page that performs a BMI calculation and saves some information in the bank.

The structure is divided into four files:
index.html = Html code;
index.php = Calls the index.html;
banco.php = Connects to the database;
cadastrar.php = Performs the calculation, saves to the database and returns the message

The BMI message is given through a alert(). When I click on "Ok", Alert closes and I continue on the whole page blank cadastrar.php (page that picks up the data, makes the calculation and returns the user’s message).


I tried to use the expession location.href and other options to try to redirect, but without success.

I would like to know how to do so that after I close the alert(), the user returns to the home page (index)?

session_start();
include "banco.php";


$nome = "";
$altura = 0;
$peso = 0;

if(!empty($_POST))
{
$nome = $_POST['nome'];
$altura = $_POST['altura'];
$peso = $_POST['peso'];

cadastrar($nome,$altura,$peso);
calcularIMC($altura,$peso);

}


function cadastrar($nome,$altura,$peso)
{
try
{
    $pdo = conectar();
    $incluir = $pdo->prepare("INSERT INTO usuario("
            . "nome, altura, peso) VALUES("
            . ":nome, :altura, :peso)");
    $incluir->bindValue(":nome", $nome);
    $incluir->bindValue(":altura", $altura);
    $incluir->bindValue(":peso", $peso);
    $incluir->execute();

    if($incluir->rowCount() > 0)
        return true;
    else
        return false;

}catch(PDOException $e)
{
   echo "Erro ao incluir na tabela categoria ".$e->getMessage();
}
}

function calcularIMC($altura,$peso){

$imc = 0;
if($altura >0 && $peso >0){
  $imc = $peso / ($altura * $altura);
}

echo '<script language="javascript">';
echo 'alert("Sua quantidade de IMC é: '.$imc.'")';
echo 'location.href="index.html"';  //Tentei utilizar o location.href, mas sem sucesso 
echo '</script>';

}

1 answer

0


Missing period and comma after Alert.

echo '<script language="javascript">';   
echo 'alert("Sua quantidade de IMC é: '.$imc.'");';
echo 'location.href="index.html";';    
echo '</script>';
  • I made this change. The alert() does not shoot and page is also not redirected

  • Here it works in several browsers, I have not tested all the code, only the last one, I gave any value to a variable "$imc" before the code. Press the CTRL+U keys on the page, and make sure this Javascript is being generated.

  • Here it has no effect, but tries to remove: language="javascript", or change to 'type='text/javascript'

  • When I add the echo 'location.href="index.html";'; it displays the following error in php line 1: Uncaught Syntaxerror: Unexpected Identifier

  • Did you put the ";" after the Alert? If the interpreter does not expect the "Location" (error translation) it is because he expects something else before, which may well be the semicolon I suggested.

  • It’s amazing, I always manage to do the hardest and hit me in the easiest rsrs It was the semicolon in the Alert. Thank you!

Show 1 more comment

Browser other questions tagged

You are not signed in. Login or sign up in order to post.