parsing error, maar welke?

  • Onderwerp starter Onderwerp starter pavl
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

pavl

Gebruiker
Lid geworden
24 jan 2004
Berichten
30
Hallo,

Ik wil bezoekers laten inloggen via een html-Form. Dit stuurt bezoekers door naar het script dat checkt of ze in de database staan.

Daarin staat deze regel:

$user_result = mysql_query("
SELECT UserName, Password FROM Users WHERE UserName = "$_POST['username']" AND Password = "$_POST['password']"
") or die("Fout: " . mysql_error());

Het wil maar niet lukken. Elke keer krijg ik de melding:

Parse error: parse error in .../inlogtest.php on line 5.

Line 5 is vanaf $user_result tot en met [password']"'.

Ik heb alle varianten geprobeerd van enkele en dubbele quotes, maar de fout bleef. Wat zie ik over het hoofd?

Dank voor alle hulp!
 
PHP:
$user_result = mysql_query("SELECT UserName, Password FROM Users WHERE UserName = '" . $_POST['username'] . "' AND Password = '" . $_POST['password'] . "'") or die("Fout: " . mysql_error());
wel handig om een editor te gebruiken die kleurcodering heeft, dan zie je sneller wat er fout gaat ;)
 
Geplaatst door JPeetje
wel handig om een editor te gebruiken die kleurcodering heeft, dan zie je sneller wat er fout gaat ;)

Bedankt voor de php-tip. Ik ga het proberen. En wat die kleurcodering betreft: ik werk in dreamweaver, die heeft kleurcodering, ik heb waarschijnlijk niet genoeg op de kleuren gelet. Maar hoe zet je die kleurcodering in een bericht? Kan dat alleen handmatig met "Kleur"?:thumb:
 
PHP:
php codes
en voila, kleurtjes ;)

btw, welkom bij helpmij.nl :thumb:
 
[btw, welkom bij helpmij.nl :thumb:

Bedankt,

mijn fout is opgelost, maar enkele regels verder krijg ik een nieuwe parsing error:

PHP:
if (mysql_num_rows($user_result) > 0
{    while (list($username, $password) = mysql_fetch_array($user_result))
{	$_SESSION["username"] = $UserName;
			$_SESSION["password"] = $Password;
			header("Location: http://mijnadres");
			exit ();

In regel 9, dat is de regel die begint met "{while" schijnt dus ook weer een fout te zitten. Ik heb dit deel van het script gekopieerd van Olav die ook op dit forum zit, dus begrijp ik niet wat er fout is.

Wie weet de oplossing?

pavl :confused:
 
Laatst bewerkt:
PHP:
if (mysql_num_rows($user_result) > 0) // haakje aan 't einde
{
    while (list($username, $password) = mysql_fetch_array($user_result))
{
$_SESSION["username"] = $UserName;
$_SESSION["password"] = $Password;
header("Location: [url]http://mijnadres[/url]");
exit ();
ff dat haakje d'rachter zetten en 't werkt
ik neem aan dat je verderop die {} wel goed afsluit ? ;)

btw, ik weet niet precies waarom je dat in een while() lus doet, zo wordt de sessie constant overschreven...en als het 1 rij is, dan is de while() helemaal niet nodig...magoed, je zal je redenen wel hebben :)
 
Laatst bewerkt:
Geplaatst door JPeetje
btw, ik weet niet precies waarom je dat in een while() lus doet, zo wordt de sessie constant overschreven...en als het 1 rij is, dan is de while() helemaal niet nodig...magoed, je zal je redenen wel hebben :)

Bedankt weer!:o

de enige reden is dat ik het zo letterlijk van iemand anders overgenomen heb. Ik had intussen al bedacht dat ik ook net zo goed met "if" naam en wachtwoord met de tabel kon checken. En in een artikel op http://www.devarticles.com/c/a/MySQL/PHP_MySQL_and_Authentication_101 staat een stap-voor-stap uitleg met weer een andere manier.

pavl
 
Geplaatst door pavl
de enige reden is dat ik het zo letterlijk van iemand anders overgenomen heb. Ik had intussen al bedacht dat ik ook net zo goed met "if" naam en wachtwoord met de tabel kon checken.
klopt :) als er meer dan 1 rij is gevonden dan zijn gebruikersnaam & wachtwoord goed...dus kan hij al wel ingelogd worden...
pas wanneer je extra gegevens wil laden, email adres of zo, dan pas hoef je de rij op te vragen

En in een artikel op http://www.devarticles.com/c/a/MySQL/PHP_MySQL_and_Authentication_101 staat een stap-voor-stap uitleg met weer een andere manier.
da's heel wat code voor een simpel login systeem...ook niet echt te snappen voor iemand die er net mee begint...kun je beter gebruiken wat je nu hebt ;)
 
Laatst bewerkt:
Mag ik pavl er dan ook nog op wijzen dat hij heel onoverzichtelijk code. Of anders degene waar hij het script van heeft overgenomen. Ga in het laatste geval zeker niet deze style overnemen!

Gebruik tabs voor de {} en verschillende lagen met loops, ifjes en switches. Je zult merken dat dat tijdens het debuggen (fouten eruit halen) aanzienlijk veel tijd bespaart.

Probeer bij ingewikkelde constructies of dingen die je anders doet dan normaal zoveel mogelijk commentaar bij te voegen met /* */ of //. Later, wanneer je iets moet aanpassen kun je het dan snel weer vinden en begrijpen hoe je dat destijds hebt gedaan. Ook voor mensen die later de broncode bekijken kunnen zo snappen wat je doet.

Blaataap heeft in de tips & handleidingen sectie op dit forum een artikel daarover geschreven.
 
Geplaatst door pcfixer
Mag ik pavl er dan ook nog op wijzen dat hij heel onoverzichtelijk code. (...)
Blaataap heeft in de tips & handleidingen sectie op dit forum een artikel daarover geschreven.

Ik wil het graag lezen, maar waar staat het precies? Ik kan geen Tips & Handleidingensectie vinden.

pavl
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan