Er was een sql fout, die is nu opgelost.
Daarom heb ik de title en zo veranderd.


Hoi ik heb een script gescreven met een sql fout en een php fout :)
Ja waar hoort dit topic dan in:)
Maar ik ben op het forum gekomen omdat hier veel profs zijn.




<?php
include("safe.php");
include("config.php");
if ( isset( $_POST['submit']  )  )//controleerd als er op submit is geklikt:
{

mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_db);

    $query = " SELECT
                id,
                status,
                wachtwoord,
                actief
                geld
                FROM
                gebruikers
                WHERE
                id = '" . $_SESSION['user_id'] . "'
                AND
                status  = '" . $_SESSION['user_status'] . "'
                "; 
    $result = mysql_query( $query );
    $rij    = $rij = mysql_fetch_object($result);
    $dbpass = $dbpass = htmlspecialchars($rij->geld);
if("Carlo" == ($_POST['aa'])) {
echo 'Vraag 1 heeft u goed!';
printf('<br>uw opgegeven andwoord: %s', $_POST['aa']);

$geld = $dbpass + 10;

 $sql = "UPDATE gebruikers SET geld + 10  WHERE id='".$_SESSION['user_id']."'";
     $query = mysql_query($sql);

echo "<br> u heeft '.$geld.' op uw rekening staan";
}else{
echo " andwoord 1 is niet goed!";
}

if("Demi" ==($_POST['ab'])) {
echo 'Vraag 2 heeft u goed!';
printf('<br>uw opgegeven andwoord: %s', $_POST['aa']);

$geld = $dbpass + 10;

 $sql = "UPDATE gebruikers SET geld +10  WHERE id='".$_SESSION['user_id']."'";
     $query = mysql_query($sql);

echo "<br> u heeft '.$geld.' op uw rekening staan";
}else{
echo " andwoord 2 is niet goed!";
}


}else{//dit zorgt ervoor

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="nl" xml:lang="nl">
  <head>

    <meta http-equiv="Content-Language" content="nl" />
    <link rel="stylesheet" type="text/css" href="../style.css" />
    <title><?= $sitenaam ?> - Vragen</title>
  </head>
  <body>

<!--Hier kan je aan gaan werken demi!---!>

<form action="test.php" method="post" name="vragen"/>
Vraag 1:<br>

Ga op de site opzoek naar de gene waar je terecht kan als je problemen hebt met het inloggen.<br>
Wie is dat (schrijf de naam met hoofdletter)
<br><input type=text  name=aa><br>
<br>
 Vraag 2:<br>
Ga op de sit opzoek naar de gene waar je terecht kan als de lagout niet goed is.<br>
Wie is dat (schrijf de naam met een hoofdletter)
<br><input type=text  name=ab><br>
<br>
Vraag 3:<br>
Hoeveel personen hebben aan de site mee geholpen?<br>
 Schrijf dat hier op (inclusief *** en ***)
<br><input type=text name=ac><br>
<br>
Vraag 4:<br>
Hoeveel Speelgeld krijg je in het begin van het spel?<br>
 (exclussief bonissen)<br>
<input type=text name=ab><br>
<input type=submit valeu=Verzenden! name=submit>
</form>



<!---Hier niet meer werken demi---!>
<?php
//mysql close
}
?>
<!--Hier kan je weer werken--!>
</body>
</html>


---php fout---

Als eerste controleerd hij als ik carlo heb ingevult.
Maar als tweede moet hij controleren als je demi hebt ingevult, dat doet hij niet. hoe kan ik dat weer oplossen??

Boaz schreef op 09.03.2009 19:01
Je verhoogt de waarde wel, maar wijst 'm niet toe:
UPDATE gebruikers SET geld + 10

moet dus zijn:
UPDATE gebruikers SET geld = geld + 10

@Carlo: Lees je de posts wel goed door?
Ja sorry maar ik verander dat dan, en dan verander ik weer de hele code, en vergeet ik dat :).
Maar hij zegt nu

Vraag 1 heeft u goed!
uw opgegeven andwoord: Carlo
u heeft '.11.' op uw rekening staan andwoord 2 is niet goed!

ja ik weet dat antwoord met een t moet schrijven :)

Maar hoe kan het dat antwoord 2 fout is?
Ik vul gewoon Demi in.
hoe kan ik controleren dat ze andwoord 1, 2, 3 en 4 goed hebben?
Hoofdletter gevoelig? Zet alles naar lowercase [php]strtolower[/php]().
Ik weet niet hoe ik hierbij moet gebruiken.


<?php
//dit is een test
$a = $_POST['a'];
$a = strtolower($A);
echo $a;
?>

Moet ik het anders zo aan pakken?
Waarom zoveel regels?
<?php
//dit is een test
echo strtolower($_POST['a']);
?>
Wow niet aan gedacht, ik zal het eens proberen

EDIT: Helaas werkt dit niet, ik heb het veranderd. (ik post als het moet wel de code) Maar de 2de vraag is altijd fout..
<?
//grote en kleine letters gelijk maken
$a = strtolower($_POST['aa']);
$b = strtolower($_POST['ab']);
$c = strtolower($_POST['ac']);
$d = strtolower($_POST['ad']);
?>

weten jullie misschien een oplossing?
Hoe kan het dat de 2de andwoord altijd fout is?
Het is opgelost!

<?php
include("safe.php");
include("config.php");



//BEGIN INSETELLINGEN
//de vragen d staat de 'de' v staat voor 'vraag' a betekent welke vraag 
//hier kan je de vragen instellen

//vraag 1:
$dva = 'waar kan je terecht als er problemen zijn in de punten aftrek  problemen met inloggen, enz?'; 
//vraag 2:
$dvb = 'Waar ka je terecht als er problemen zijn met de lagout van de pagina?'; 
//vraag 3:
$dvc = 'Uit hoeveel man bestaat onze team?'; 
//vraag4:
$dvd = 'Hoeveel geld krijg je in het begin van het spel?'; 

//de andwoorden, hier kan je het wijziggen.
$aa = 'carlo'; //andwoord van vraag 1
$ab = 'demi';  //andwoord van vraag 2
$ac = '3';     //andwoord van vraag 3
$ad = '1000';  //andwoord van vraag 4

//de andwoorden van de persoon omzetten in kortere tekst (verander hier niks!)
//grote en kleine letters gelijk maken
$va = strtolower($_POST['va']);
$vb = strtolower($_POST['vb']);
$vc = strtolower($_POST['vc']);
$vd = strtolower($_POST['vd']); 



//wil je aan iedereen een bonis geven?
//verander dan die 0.
//laat anders die 0 staan!
$aantal = '0';

//Hoeveel punten krijgen ze als ze een andwoord goed hebben?
$hoeveel = '10';

//Welke waarden heeft dit spel?
$db_waarden = '1';

//je kan je script testen.
//(let erop dat je niet vergeet weg te halen!)
//
//zet op de volgende regel de 2// om de vragen en de andwoorden te zien
   /*
echo 'andwoorden: a=' . $aa . ' b= ' . $ab . ' c= ' . $ac . ' d=';
echo $ad;
echo '<br>';
echo 'vragen: a=' . $dva . ' b= ' . $dvb . ' c= ' . $dvd . ' d=';
echo $dvd;
echo '<br';
//zet dan ook 2 //'s voor de hier-na-komende regel
*/
//einde instellingen


//verander hier niks meer!


//sql opdracht uitvoeren
    $query = " SELECT
                id,
                status,
                wachtwoord,
                actief,
                geld,
		aantal_spel
                FROM
                gebruikers
                WHERE
                id = '" . $_SESSION['user_id'] . "'
                AND
                status  = '" . $_SESSION['user_status'] . "'
                "; 
    $result = mysql_query( $query );
    $rij    =    mysql_fetch_object($result);
    $geld   =  htmlspecialchars($rij->geld);
    $spel   =  htmlspecialchars($rij->aantal_spel);

if ($spel == 5){
echo 'Jammer genoeg je hebt al 5 keer dit spel gespeelt in een week';
}else{
if ( isset( $_POST['submit']  )  )//controleerd als er op submit is geklikt:
{
echo 'heey';





if($aa = $va){
echo 'Goezo!<br>';
echo 'U heeft vraag1 goed ingevult!<br>';
echo $dva;
$aantal = $aantal + $hoeveel;
}else{
echo " andwoord 1 is niet goed!";
echo '<br>';
}

if($ab = $vb){
echo 'Goezo!<br>';
echo 'U heeft vraag2 goed ingevult!<br>';
echo $dva;
echo '<br>';
$aantal = $aantal + $hoeveel;
}else{
echo " andwoord 2 is niet goed!";
echo '<br>';
}

if($ac = $vc){
echo 'Goezo!<br>';
echo 'U heeft vraag3 goed ingevult!<br>';
echo $dva;
echo '<br>';
$aantal = $aantal + $hoeveel;
}else{
echo " andwoord 3 is niet goed!";
echo '<br>';
}

if($ad = $vd){
echo 'Goezo!<br>';
echo 'U heeft vraag4 goed ingevult!<br>';
echo $dva;
echo '<br>';
$aantal = $aantal + $hoeveel;
}else{
echo " andwoor4  is niet goed!";
echo '<br>';
}

echo 'U heeft ' . $aantal . ' Euro gewonnen!';
echo '<br>';
$sql = "UPDATE gebruikers SET geld= geld + '".$aantal."' WHERE id='".$_SESSION['user_id']."'";
   $query = mysql_query($sql);
if($query == TRUE) {
$test = '6' - $aantal;
    echo 'Er is succes vol geld op je rekening gestord';
   }else{
        echo "Er is een probleeem opgetreden, je kan nog '.$aantal.' keer stemmen, vragen beandwoorden.";
    echo "<br>Er is dus niks veranderd";
}

$sql = "UPDATE gebruikers SET aantal_spel = aantal_spel + '".$db_waarden."' WHERE id='".$_SESSION['user_id']."'";
   $query = mysql_query($sql);
if($query == TRUE) {
$test = '6' - $aantal;
    echo '<br> Je db_waarden is met 1 gestegen';
   }else{
        echo "Er is een probleeem opgetreden, je kan nog '.$aantal.' keer stemmen, vragen beandwoorden.";
    echo "<br>Er is dus niks veranderd";
}
   
}else{   //dit zorgt ervoor
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="nl" xml:lang="nl">
  <head>

    <meta http-equiv="Content-Language" content="nl" />
    <link rel="stylesheet" type="text/css" href="../style.css" />
    <title><?= $sitenaam ?> - Vragen</title>
  </head>
  <body>

<!--Hier kan je aan gaan werken demi!---!>
<form action="deo.php" method="post" name="vragen"/>


<br>
Vraag 1:<br>
<? echo $dva ?><br>
<input type="text" name="va"><br>
<br>
Vraag 2:<br>
<? echo $dvb; ?><br>
<input type="text" name="vb"><br>
<br>
Vraag 3:<br>
<? echo $dvc; ?><br>
<input type="text" name-"vc"><br>
<br>
Vraag 4:<br>
<? echo $dvd ?><br>
<input type="text" name="vd"><br>
<br>
<input type="submit" value="Test je kennis!" name="submit">
<?
}
}
?>

Maar hoe kan het dat vraag 3 altijd fout is?
regel 117
Dit is een toekenning en geen vergelijking.
if($aa = $va){

Dit is een vergelijking.
if($aa == $va){

Reageren