abonnement Unibet Coolblue Bitvavo
pi_16780809
Ik heb dus een script gebouwd wat uit de database een ID vist waar een naam, symbool en een valentie bijhoren. Dan is het dus de bedoeling dat ie @ random een ID naar boven haalt, daar de naam van geeft en jij dan de symbool en de valentie moet invullen. Als testje zeg maar.
php:
<?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<
html>
<
head>
<
title>Elektrovalenties - Scheikunde</title>
</
head>
<
body bgcolor="">
<?
php
error_reporting
(E_ALL);

include(
'dbconfig.php');

// Maak verbinding met MySQL server
@mysql_connect($dbhost, $dbuser, $dbpassword) or die("Could not connect to database");  
@
mysql_select_db("$dbname") or die("Unable to select database $dbname");
?>

<b>Oefending</b>

<form method="post" action="index.php">
<?

$rand_id
= rand(0, 17);

$qed2 = "SELECT * FROM scheikunde WHERE ID = $rand_id LIMIT 1";
$dbresult2 = mysql_query($qed2);

while(
$result = mysql_fetch_array($dbresult2)){

$naam = "$result[naam]";

echo
"<i>$naam</i><p>";
}

?>
<table summary="">
<tr>
  <td>Symbool:</td>
  <td><input type="text" size="5" name="symbool" maxlength="8"></td>
</tr>
<tr>
  <td>Valentie:</td>
    <td><input type="text" size="5" name="valentie" maxlength="4"></td>
</tr>
<tr>
  <td colspan=2><center><input type="submit" name="submit" value="Bevestig"></center></td>
</tr>
</table>
</form>
<?
if(isset($submit)){

    
$dbd = "SELECT * FROM scheikunde WHERE ID = $rand_id";
    
$dbresultd = mysql_query($dbd);
    
    while(
$result = mysql_fetch_array($dbresultd)){
    
$db_valentie = "$result[valentie]";
    
$db_symbool = "$result[symbool]";
    
    echo (
$db_symbool);
    echo (
" ");
  echo (
$db_valentie);
    echo (
"<p>");
        
    if((
$symbool == $db_symbool) AND ($valentie == $db_valentie)){
    echo(
"<font color='green'><b>Exactly!</b></font><p>");
    }
    else{
    echo(
"<font color='red'><b>Try again!</b></font><p>");
    unset(
$submit);
    }
}
}

?>

</body>
</html>
?>

Het gaat hierbij nu fout omdat als ie gaat checken of het klopt hij alweer een nieuw $rand_id heeft en het daarmee vergelijkt.

Hoe los ik dat op?

"There are no short cuts to any place worth going"
- Beverly Sills
pi_16780884
Overigens, omdat ik de [php] tag gebruik zet ie er automatisch aan het begin een <? neer en aan het eind een ?>, die horen er natuurlijk niet maar dat doet UBB.
"There are no short cuts to any place worth going"
- Beverly Sills
pi_16780956
effe een check inbouwen of die $rand_id al bestaat...
pi_16781006
quote:
Op zondag 1 februari 2004 16:53 schreef Thomas B. het volgende:
effe een check inbouwen of die $rand_id al bestaat...
Hij bestaat altijd, dat is niet het probleem. Maar hij pakt dus alweer een nieuwe omdat ie de pagina refresht. Als je op submit drukt gaat ie dat ding weer af en heeft ie alweer een nieuw $rand_id en daar vergelijkt ie mee en dan gaat het fout. Of tenminste, het gaat alleen goed als jij kan voorspellen welke ie random gaat pakken.
"There are no short cuts to any place worth going"
- Beverly Sills
pi_16781146
php:
<?
$dbd
= "SELECT * FROM scheikunde WHERE ID = $rand_id";
$dbresultd = mysql_query($dbd);
?>

Daar heeft ie dus alweer het nieuwe $rand_id te pakken en ik wil dat ie de oude houdt.
"There are no short cuts to any place worth going"
- Beverly Sills
pi_16781159
dan maak je er 2 paginas van en pass je die $rand_id door in et formulier
pi_16781302
quote:
Op zondag 1 februari 2004 16:57 schreef Pizza_Shooter het volgende:
php:
<?
$dbd
= "SELECT * FROM scheikunde WHERE ID = $rand_id";
$dbresultd = mysql_query($dbd);
?>

Daar heeft ie dus alweer het nieuwe $rand_id te pakken en ik wil dat ie de oude houdt.
Ja das toch logisch... je loopt iedere keer weer dat script af en kom je weer opnieuw langs die rand(0, 17)
Gewoon
php:
<?
if isset($rand_id){
blablabla
} else {
$rand_id = rand(0,17);
}
?>

pi_16781683
Heb nu dit:
php:
<?
error_reporting
(E_ALL);

include(
'dbconfig.php');

// Maak verbinding met MySQL server
@mysql_connect($dbhost, $dbuser, $dbpassword) or die("Could not connect to database");  
@
mysql_select_db("$dbname") or die("Unable to select database $dbname");

?>

<b>Oefending</b>

<form method="post" action="index.php">
<?

if(isset($rand_id)){

if(isset(
$submit)){

    
$dbd = "SELECT * FROM scheikunde WHERE ID = $rand_id";
    
$dbresultd = mysql_query($dbd);
    
    while(
$result = mysql_fetch_array($dbresultd)){
    
$db_valentie = "$result[valentie]";
    
$db_symbool = "$result[symbool]";
    
    echo (
$db_symbool);
    echo (
" ");
  echo (
$db_valentie);
    echo (
"<p>");
        
    if((
$symbool == $db_symbool) AND ($valentie == $db_valentie)){
    echo(
"<font color='green'><b>Exactly!</b></font><p>");
    }
    else{
    echo(
"<font color='red'><b>Try again!</b></font><p>");
    unset(
$submit);
    }
}
}
}
else{
$rand_id = rand(0, 17);

$qed2 = "SELECT * FROM scheikunde WHERE ID = $rand_id LIMIT 1";
$dbresult2 = mysql_query($qed2);

while(
$result = mysql_fetch_array($dbresult2)){

$naam = "$result[naam]";

echo
"<i>$naam</i><p>";
}

?>
<table summary="">
<tr>
  <td>Symbool:</td>
  <td><input type="text" size="5" name="symbool" maxlength="8"></td>
</tr>
<tr>
  <td>Valentie:</td>
    <td><input type="text" size="5" name="valentie" maxlength="4"></td>
</tr>
<tr>
  <td colspan=2><center><input type="submit" name="submit" value="Bevestig"></center></td>
</tr>
</table>
</form>
<?
}
?>

Maar nu kent ie $rand_id helemaal niet meer.
"There are no short cuts to any place worth going"
- Beverly Sills
pi_16782252
wat er bedoeld werdt was denk ik een
code:
<INPUT TYPE='hidden' NAME='rand_id' Value='$rand_id'>
aan je oorspronkelijke pagina toevoegen en die vervolgens met $_POST['rand_id'] weer opvragen
pi_16784830
quote:
Op zondag 1 februari 2004 17:25 schreef TheRookie het volgende:
wat er bedoeld werdt was denk ik een
code:
<INPUT TYPE='hidden' NAME='rand_id' Value='$rand_id'>
aan je oorspronkelijke pagina toevoegen en die vervolgens met $_POST['rand_id'] weer opvragen
jep
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')