[php / mysql] Dit lijkt toch niet fout?

Pagina: 1
Acties:

  • Cheater
  • Registratie: Januari 2001
  • Laatst online: 22-09 09:29
Dit lijkt toch niet fout?
code:
1
2
$invoegen = "INSERT INTO users (username, name, achternaam, email, Woonplaats, Registratie, Gebdatum, Geslacht, Homepage, ICQ) //171
VALUES ('$username', '$name', '$achternaam', '$email', '$Woonplaats', NOW(), '$Gebdatum', '$Geslacht', '$Homepage', '$ICQ')"; //172

en toch de foutmelding:
Parse error: parse error in
file-url\Formulier.php on line 172 |:(

De gehele code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//169
//170
$invoegen = "INSERT INTO users (username, name, achternaam, email, Woonplaats, Registratie, Gebdatum, Geslacht, Homepage, ICQ) //171
VALUES ('$username', '$name', '$achternaam', '$email', '$Woonplaats', NOW(), '$Gebdatum', '$Geslacht', '$Homepage', '$ICQ')"; //172

SELECT username
FROM users
if username = $username
{
echo "De gebruikersnaam $username komt al in het systeem voor. Kies een andere gebruikersnaam."
}
else
{
mysql_query($invoegen) or die("Het systeem heeft uw gegevens niet kunnen registreren. Als dit probleem zich voort blijft doen, neem dan contact op met de eigenaar van deze site.");
}

  • johnny7
  • Registratie: November 2000
  • Laatst online: 07-11-2023
Moet dat niet een == zijn achter de if i.p.v. =?

  • Bas_f
  • Registratie: Januari 2001
  • Laatst online: 18-09 09:38
Ik denk dat wanneer je je hele query op 1 regel houd, alles goed gaat.

...


  • evaarties
  • Registratie: April 2001
  • Laatst online: 09-09 13:46

evaarties

Powerball @ 12.582

moet er bij de if else niet nog een ; bij?

  • Bas_f
  • Registratie: Januari 2001
  • Laatst online: 18-09 09:38
Correcte syntax: (na een $row=mysql_fetch_array($query) )
PHP:
1
2
3
4
5
6
7
8
9
10
<?
if($row[username]==$username)
 {
  blabla;
 }
else
 {
  blabla;
 }
?>

...


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

regel 172: SELECT username

Zover ik weet is dit inderdaad geen geldig PHP commando.

Terug naar dorpsstraat!, ga niet langs start, u ontvangt geen fl 200,-!

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Dusty heeft een nieuw spel gevonden, is al de tweede keer dat je zo'n antwoord geeft ;)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 20 september 2001 10:45 schreef Nielsz het volgende:
Dusty heeft een nieuw spel gevonden, is al de tweede keer dat je zo'n antwoord geeft ;)
Ben je slecht in tellen ? of loop je achter ? ;)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op donderdag 20 september 2001 10:47 schreef dusty het volgende:

[..]

Ben je slecht in tellen ? of loop je achter ? ;)
:Y)
Haha, ik zie 'm al zitten, monopoly te spelen hahahahaha
(of heb je het gewoon zelf geprogrammeerd) ;)
[..en reageer es op de icq, ik moet ff wat weten..]


ontopic: Je query moet uitgevoerd worden door sql, dus:
mysql_query("select blaat from blaat");

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op donderdag 20 september 2001 10:43 schreef dusty het volgende:
regel 172: SELECT username

Zover ik weet is dit inderdaad geen geldig PHP commando.

Terug naar dorpsstraat!, ga niet langs start, u ontvangt geen fl 200,-!
Ik koop hem..... Dorpstraat rulez :P :P

Programmer - an organism that turns coffee into software.


  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Wat je wilt doen werkt sowieso niet zo. Probeer is

if(!mysql_query('SELECT username FROM users WHERE username = \''.$username.'\''))
{
echo "De gebruikersnaam $username komt al in het systeem voor. Kies een andere gebruikersnaam."
}
else
{
mysql_query($invoegen) or die("Het systeem heeft uw gegevens niet kunnen registreren. Als dit probleem zich voort blijft doen, neem dan contact op met de eigenaar van deze site.");
}

Je kan ook desnoods van 'username' een unique veld maken (zoekt ook sneller dan, vergeet ook geen index...) En dan gewoon if(!mysql_query($invoegen)) print('blah bestaat al etc');

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

oh eneh...vergeet ook geen mysql_escape_string (oid) te gebruiken, anders is de username "foo'; DROP TABLE users" zo lullig. >:)

  • Cheater
  • Registratie: Januari 2001
  • Laatst online: 22-09 09:29
Ik zit nu op school, en m'n site is hier geblokkeerd.

Dus ik kan nu niets proberen, maar zo gauw ik thuis ben, zal ik 2 van jullie antwoorden eens proberen...


PS... M'n username kolom IS unique. Gewoon voor extra veiligheid dat een username nooit 2x voor kan komen. Ook al weten hackers mijn (registratie) formulier te misbruiken ofzow...:r

Ik heb toen uitgebreid de search zitten gebruiken, en daarom heb ik ook POST gebruikt in plaats van GET...
STUKKEN veiliger he... (8>

PS2. Ik wil NIET dat jullie hieronder weer een discussie beginnen over POST en GET, van dat hackers ook POST kunnen omzeilen enzow... ik zei NIET hier! :7

Tnx... Cheater 8-)

  • Cheater
  • Registratie: Januari 2001
  • Laatst online: 22-09 09:29
Op donderdag 20 september 2001 11:06 schreef Zoijar het volgende:
oh eneh...vergeet ook geen mysql_escape_string (oid) te gebruiken, anders is de username "foo'; DROP TABLE users" zo lullig. >:)
Wil je nader uitleggen wat je bedoelt, en hoe ik dit toe moet passen?

edit:

sorry, ik las het woordje GEEN niet...
mysql_escape_string komt nog helemaal niet voor, dus...
ik denk dat ik goed zit.

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

ik moet het toch ff zeggen...post of get is geen beveiligings maatregel, de enigne rede om post te gebruiken is dat je "meer data" door kan sturen. GETs hebben een lengte beperking.

Over dat andere, je moet altijd een beetje op letten met client data, ze kunnen alle soorten troep sturen als usernames etc. Stel dat je een wachtwoord check doet als volgt: SELECT * FROM blah WHERE password=$password

Ziet er veilig uit, maar wat als de client als wachtwoord nu is bv: "foo OR 1" stuurt, dan is het (ge?)hacked...
Iets anders is als iemand als user name "<script>location='about:blank'" zou kiezen, en dan iets post je webpage het nie meer doet :P


functie referenties: mysql_escape_string, addslashes, htmlspecialchars

  • Cheater
  • Registratie: Januari 2001
  • Laatst online: 22-09 09:29
Op donderdag 20 september 2001 11:35 schreef Zoijar het volgende:

Over dat andere, je moet altijd een beetje op letten met client data, ze kunnen alle soorten troep sturen als usernames etc. Stel dat je een wachtwoord check doet als volgt: SELECT * FROM blah WHERE password=$password

Ziet er veilig uit, maar wat als de client als wachtwoord nu is bv: "foo OR 1" stuurt, dan is het (ge?)hacked...
Iets anders is als iemand als user name "<script>location='about:blank'" zou kiezen, en dan iets post je webpage het nie meer doet :P


functie referenties: mysql_escape_string, addslashes, htmlspecialchars
Hmmm... nader uitleg is nu toch wel gewenst...
Kun je me een praktisch voorbeeld geven?
Dus een broncode, waar dit goedje, al in is verwerkt?
Pagina: 1