hier ff een inlogscriptje (fout in lijn 19 tot 23)
<?php
include "style.css"; //zet de kleuren
if ($naam == $null || $pass == $null) //controleer lege velden
{ echo"Klik <a href = http://www.garpie.be/FiGHTBoTS>hier</a>; om terug te gaan.<BR>";
if ($naam == $null) { echo"Je hebt geen naam ingevuld.<br>"; }
if ($pass == $null) { echo"Je hebt geen wachtwoord ingevuld."; }}
else {
include "config.php"; //maak conectie met database
$query = "SELECT * FROM `members` WHERE `id` > '0' ";
$sql = mysql_query($query) or die (mysql_error());
while($data = mysql_fetch_object($sql)){
$controlenaam = $data->lognaam;
$controlepas = $data->logpas;
if ($controlenaam != $naam) { //controleer naam
echo"Deze naam is niet geregistreerd.<BR>"; }
else{ if ($controlepas != $pass) { //controleer paswoord
echo"Foute ID of paswoord.<BR>"; }}
//Aanmelden of fout
19 $fout = "aanmelden";
20 $cfout = "fout";
21 echo"$fout *** $cfout<br>"; //hier word $fout weergegeven als aanmelden
22 if ($fout = $cfout) { echo"$fout"; } //hier word $fout weergegeven als fout
23 else{ echo"$fout"; }
24 }}
25 ?>
------------------------------------------------------------
Hoe kan dit?
Volgens mij kan je beter schrijven:
$query = "SELECT * FROM `members` WHERE `lognaam` = '$naam' AND logpass = '$pass' ";

En dan kijken of er een rij bestaat die aan beide voorwaarden voldoet. (mysql_num_rows)

ipv

$query = "SELECT * FROM `members` WHERE `id` > '0' ";
Wat is de fout ...

Dit if ($fout = $cfout) is altijd true trouwens ...
Ja inderdaad bij if statements moet je == gebruiken ipv =.
in lijn 19 geef ik $fout de waarde "aanmelden"
die waarde herhaald het ook in lijn 21
ik geef $fout nergens de waarde "fout" maar in lijn 22 echoed hij $fout toch als waarde "fout" hoe kan dit?
While loop is afgesloten in lijn 24
Vraag is eigenlijk hoe komt het dat $fout toch de waarde "fout" krijgt?
Ok, probleem opgelost, was inderdaad == en niet =
Bedankt voor de reacties.
Domme fout maar daar kan je uren achter zoeken.
wat is de fout precies een parse error?
als dat zo is
22 if ($fout = $cfout) { echo"$fout"; }
moet zijn
22 if ($fout == $cfout) { echo "$fout"; }
en ik snap ook niet wwrom $fout gelijk moet zijn aan $cfout wat hij geef nu altijd weer
echo "$fout";

en een beetje laat gepost:S

Reageren