PHP beurtenteller werkt niet???

Status
Niet open voor verdere reacties.

timboiscool

Gebruiker
Lid geworden
27 nov 2008
Berichten
205
Hallo.

Mijn vriend heeft een script in php geschreven maar het werkt niet.

wat er niet werkt:
de beurten teller gaat niet verder omlaag dan 9 .

hier is de code:

PHP:
<html>
<title>test<title
<head>
</head>
<body style="background-color: green;" >

<form action="index.php" method=POST>
<input type=text name="poep"/>
<input type=submit name="ha" value="verzend"/>
</form>

<?php
error_reporting(0);
$text = $_POST["poep"];
$submit = $_POST["ha"];
$bt = 10;

if ($submit){

if($bt >= 0){



if ($text != "hallo"){
echo "text is fout";
$bt = $bt - 1; 
}
else{
echo "text is goed";

} 
}
else{
echo "je beurten zijn op";
}
}
else{
echo "je hebt nog niet op de knop geklikt";
}
echo "<br>je hebt nog $bt beurten over";
?>

</body>
</html>
ps: ik schrijf dit omdat mijn vriend !nog! geen acc mag op helpmij.
 
je moet niet steeds else doen
het werkt zo
if (x=y) {
//doe dit
} elseif (x=z) {
// doe dit
} elseif(y=z) {
//doe dit
} else {
//doet dit als bovenstaande niet van toepassing is
}
 
all enkele fouten zijn verbetert werking niet getest
maar je moet ook eens global bekijken.deze zal de var permanent maken op de server.
PHP:
<html>
    <head>
    <title>test</title>
    </head>
<body style="background-color: green;" >
    <form action="index.php" method="POST">
        <input type="text" name="poep"/>
        <input type="submit" name="ha" value="verzend"/>
    </form>
     <?php
    error_reporting(0);
    $text = $_POST["poep"];
    $submit = $_POST["ha"];
    $bt = 10;
     if ($submit){
         if($bt >= 0){
            if ($text != "hallo"){
                echo "text is fout";
                $bt = $bt - 1; 
            }else{
                echo "text is goed";
            } 
         }else{
            echo "je beurten zijn op";
         }
    }else{
        echo "je hebt nog niet op de knop geklikt";
    }
        echo "<br>je hebt nog $bt beurten over";
    ?>
    </body>
</html>
 
Het probleem is dat bij iedere run van het script $bt opnieuw op 10 gezet wordt. Als je em af wilt laten tellen moet je gebruik maken van een session, zodat het getal bewaard wordt tussen verschillende bezoeken van de pagina.
 
Het probleem is dat bij iedere run van het script $bt opnieuw op 10 gezet wordt. Als je em af wilt laten tellen moet je gebruik maken van een session, zodat het getal bewaard wordt tussen verschillende bezoeken van de pagina.

geporbeert maar werkt ook niet :\
dit is code nu :

PHP:
<html>
    <head>
    <title>test</title>
    </head>
<body style="background-color: green;" >
    <form action="as.php" method="POST">
        <input type="text" name="poep"/>
        <input type="submit" name="ha" value="verzend"/>
    </form>
     <?php
    error_reporting(0);
    $text = $_POST["poep"];
    $submit = $_POST["ha"];
	if ($_SESSION['bt'] == null){
	$_SESSION['bt']=10;
	}
	else
	{
	$_SESSION['bt'] = $_SESSION['bt'];
	}

	
     if ($submit){
         if($_SESSION['bt'] >= 0){
            if ($text != "hallo"){
                echo "text is fout";
                $_SESSION['bt'] = $_SESSION['bt'] - 1; 
            }else{
                echo "text is goed";
            } 
         }else{
            echo "je beurten zijn op";
         }
    }else{
        echo "je hebt nog niet op de knop geklikt";
    }
		$lbt = $_SESSION['bt'];
        echo "<br>je hebt nog $lbt beurten over";
    ?>
    </body>
</html>
 
ik mis volgende code
PHP:
session_start()
en volgende code brengt niet veel aarde aan de dijk.
PHP:
$_SESSION['bt'] = $_SESSION['bt'];//Moet mogelijks u post zijn
merk op bovenstaande code zal een variabele bij session dus zolang de browser open is blijven bestaan op de server deze wordt gelijk gesteld aan een variable met zelfde referentie zelfde waarde.

dus wil je deze wil laten dalen kan je dit doen door
PHP:
$_SESSION['bt']--;//dit kan je doen als ik geen null ben en een getal ben
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan