php fout.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Carlo  boy

carlo boy

09/03/2009 18:58:00
Quote Anchor link
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.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?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>

[/CODE]
---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??
Gewijzigd op 01/01/1970 01:00:00 door Carlo boy
 
PHP hulp

PHP hulp

22/11/2024 12:39:22
 
Bo az

Bo az

09/03/2009 19:01:00
Quote Anchor link
Je verhoogt de waarde wel, maar wijst 'm niet toe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
UPDATE gebruikers SET geld + 10

moet dus zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
UPDATE gebruikers SET geld = geld + 10
 
Carlo  boy

carlo boy

09/03/2009 19:32:00
Quote Anchor link
Ik vind het vreemd, hij blijft op 1 staan.
Zo roep ik het op:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$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 ( $result === false )
    {
        echo '<p>Er is een fout opgetreden:';
        echo '<br />Query: ' . $query;
        echo '<br />Foutmelding: ' . mysql_error() . '</p>';

Hier staat nog allemaal php, en html en op de laaste regel staat dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo " U heeft '.$dbpass.' Euro  op uw rekening staan!"; ?>
Gewijzigd op 01/01/1970 01:00:00 door carlo boy
 
- SanThe -

- SanThe -

09/03/2009 19:35:00
Quote Anchor link
Je post is nu niet echt leesbaar. Pas je post even aan en gebruik en tags om je code heen. Om php code zet je uiteraard dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en ?>
Gebruik je Afbeelding knop om dit te doen.

SanThe.

Edit:
$dbpass = $dbpass = htmlspecialchars($rij->geld);

Twee keer = gebruiken geeft een true (= 1)
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Carlo  boy

carlo boy

09/03/2009 19:46:00
Quote Anchor link
IK ben nog een newbie in php, maar ik snap dit niet:

$dbpass = $dbpass = htmlspecialchars($rij->geld);

Twee keer = gebruiken geeft een true (= 1)
 
- SanThe -

- SanThe -

09/03/2009 19:55:00
Quote Anchor link
$var = 'iets';
Dat is normale syntax.
Als dat dus goed gaat geeft dat een true die je normaliter nergens terugziet.

Alleen jij zet dat dus in een $var door dit te doen.
$var = $var = 'iets';

Geen idee waarom je dit doet.
 
Carlo  boy

carlo boy

09/03/2009 20:10:00
Quote Anchor link
Ow bedoel je dat zo :P
Nouw ik heb m'n script niet afgemaakt en dan gaat iemand anders er aan werken.
Maar m'n probleem is er nog :(.
Als ik kijk in phpmyadmin, daar zie ik dat het gewoon 11 is maar als ik het opvraag is het 1..

Hoe kan dat?
 
- SanThe -

- SanThe -

09/03/2009 20:14:00
Quote Anchor link
echo $rij->geld;

Edit:
SanThe schreef op 09.03.2009 19:55:
$var = 'iets';
Dat is normale syntax.
Als dat dus goed gaat geeft dat een true die je normaliter nergens terugziet.

Alleen jij zet dat dus in een $var door dit te doen.
$var = $var = 'iets';

Geen idee waarom je dit doet.

Dus als je hebt $var = $var = 'iets';
En je doet echo $var; => Dat geeft dus die 1.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Carlo  boy

carlo boy

09/03/2009 20:20:00
Quote Anchor link
Ik heb dat weggedaan maar ik blijf die een zien
 
- SanThe -

- SanThe -

09/03/2009 20:23:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$query
= " SELECT
                id,
                status,
                wachtwoord,
                actief
                geld
                FROM
                gebruikers
                WHERE
                id = '"
. $_SESSION['user_id'] . "'
                AND
                status  = '"
. $_SESSION['user_status'] . "'
                "
;
$result = mysql_query( $query );
if(!$result)
{

    echo '<p>Er is een fout opgetreden:';
    echo '<br />Query: ' . $query;
    echo '<br />Foutmelding: ' . mysql_error() . '</p>';
}

else
{
    $rij = mysql_fetch_object($result);
    echo $rij->geld;
}

?>
 
Carlo  boy

carlo boy

09/03/2009 20:29:00
Quote Anchor link
Nu komt er alleen een 1 te staan :(

Wat doe ik fout
 
- SanThe -

- SanThe -

09/03/2009 20:35:00
Quote Anchor link
Dan staat er volgens mij een 1 in de database.
 
Eddy E

Eddy E

09/03/2009 21:43:00
Quote Anchor link
Gebruik ook gewoon mysql_fetch_assoc() ipv _object.
Dat staat wel intressant, maar is het niet.


Alleen maar traag en fout, want het is geen object.
 
Carlo  boy

carlo boy

09/03/2009 21:45:00
Quote Anchor link
ik heb in de database 51 staan
 
- SanThe -

- SanThe -

09/03/2009 21:50:00
Quote Anchor link
Zit er wel in de session datgene dat jij verwacht. Controleer dat eens.
 
Carlo  boy

carlo boy

10/03/2009 17:35:00
Quote Anchor link
Ja als ik niet ingelocht ben dan doet hij het niet
+
Er staan geen andere mensen in de databace..
Maar mijn 1 blijft :(

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
include("config.php");
include("htmltop.php");

// Inloggen verplicht; safe.php
include("safe.php");

$query = " SELECT
                id,
                status,
                wachtwoord,
                actief
                geld
                FROM
                gebruikers
                WHERE
                id = '"
. $_SESSION['user_id'] . "'
                AND
                status  = '"
. $_SESSION['user_status'] . "'
                "
;
$result = mysql_query( $query );
if(!$result)
{

    echo '<p>Er is een fout opgetreden:';
    echo '<br />Query: ' . $query;
    echo '<br />Foutmelding: ' . mysql_error() . '</p>';
}

else
{
    $rij = mysql_fetch_object($result);
    echo $rij->geld;
   echo hoi;
}

$rij = mysql_fetch_object($result);
    echo $rij->geld;
   echo hoi;
?>
 
- SanThe -

- SanThe -

10/03/2009 17:37:00
Quote Anchor link
Zet dit bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
 
Carlo  boy

carlo boy

10/03/2009 18:01:00
Quote Anchor link
Snik,
het lukt niet :(
 
- SanThe -

- SanThe -

10/03/2009 18:08:00
Quote Anchor link
carlo schreef op 10.03.2009 18:01:
Snik,
het lukt niet :(

Hier kan niemand wat mee.

Duidelijk zijn is een vereiste.

Jouw scriptje van 2 posts terug zou een notice/error moeten geven.
 
Carlo  boy

carlo boy

10/03/2009 18:23:00
Quote Anchor link
Ik heb de errors uitstaan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
echo heey
echo hoi
echo nee
?>

een voorbeeldje en daar krijg ik als verwacht een error:


Parse error: parse error, expecting `','' or `';'' in C:\www\xampp\htdocs\web\inlogsysteem\ingelocht\test.php on line 3

Mijn errors doen het dus wel.

Ik zelf krijg geen error over het probleem anders was ik er wel uit gekomen.
Ik weet verder ook niet wat er fout is, ik zit alles te proberen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

include("config.php");
include("htmltop.php");

// Inloggen verplicht; safe.php
include("safe.php");

$sql = "SELECT geld FROM gebruikers WHERE id = '" . $_SESSION['user_id'] . "'";
$query = mysql_query($sql);
$tellen = mysql_num_rows($query);
while($rij = mysql_fetch_object($query)) {
 $naam = htmlspecialchars($rij->geld);
 echo $naam;
}
        
?>


En ik ben er uit gekomen :)
Heel erg bedankt voor je hulp!


Maar hoe kan ik dan 2dingen controleren?
Zie de eerste post.

Hij controleerd de eerste maar niet de 2de hoe kan ik dan de 2de en dan ook de 3de en de 4de controleren?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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!";
}


als je bij de 2de vraag demi invult, controleerd hij niet als het demi is, hij blijft bij het controleren van carlo haken.
Gewijzigd op 01/01/1970 01:00:00 door carlo boy
 
Carlo  boy

carlo boy

10/03/2009 18:25:00
Quote Anchor link
kan-hem-niet-verwijderen
Gewijzigd op 01/01/1970 01:00:00 door carlo boy
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.