Voor een onderdeel van een site heb ik een upload script geschreven.
Dit script plaatst het geuploadde bestand (mits het aan een aantal voorwaarden voldoet) in een bepaalde map en plaatst in een MySQL tabel een vermelding (naam van de uploader + bestandsnaam) naar het plaatje.
Dit werkte op zich allemaal goed.
Nu wilde ik, om te voorkomen dat er 2x dezelfde naam in de DB komt, een deel toevoegen die controleerde of de naam al voorkwam. Op zich leek mij dit goed te doen. Ik schreef hiervoor het volgende stukje:
Na het toevoegen van dit stukje script krijg ik keurig een foutmelding wanneer de naam al in de DB stond, maar was dit niet het geval dan kreeg ik alleen nog maar een lege pagina.. Zodra ik dit stukje verwijder, werkt het script verder weer perfect.
Verder heb ik een keer de if-statement verwijderd maar de rest laten staan. Vervolgens heb ik een
Ik kreeg dan bij een naam die al in de DB stond een getal te zien (afhankelijk van het aantal keren dat de naam voorkwam).
Op zich lijkt mij dus dat de code klopt. Maar waar ga ik de fout in?
Dit script plaatst het geuploadde bestand (mits het aan een aantal voorwaarden voldoet) in een bepaalde map en plaatst in een MySQL tabel een vermelding (naam van de uploader + bestandsnaam) naar het plaatje.
Dit werkte op zich allemaal goed.
Nu wilde ik, om te voorkomen dat er 2x dezelfde naam in de DB komt, een deel toevoegen die controleerde of de naam al voorkwam. Op zich leek mij dit goed te doen. Ik schreef hiervoor het volgende stukje:
PHP:
1
2
3
4
5
6
| connect_db(); $naamcheck = mysql_num_rows(mysql_query("SELECT * FROM smoelen WHERE naam = '$jenaam'")) or die(mysql_error()); if (!empty($naamcheck)) { echo "$html_code <li>Jij hebt al een plaatje op je naam staan. Wil je deze vervangen, stuur dan een mailtje naar mij </li>"; exit(); } |
Na het toevoegen van dit stukje script krijg ik keurig een foutmelding wanneer de naam al in de DB stond, maar was dit niet het geval dan kreeg ik alleen nog maar een lege pagina.. Zodra ik dit stukje verwijder, werkt het script verder weer perfect.
Verder heb ik een keer de if-statement verwijderd maar de rest laten staan. Vervolgens heb ik een
PHP:
toegevoegd.1
| echo $naamcheck; |
Ik kreeg dan bij een naam die al in de DB stond een getal te zien (afhankelijk van het aantal keren dat de naam voorkwam).
Op zich lijkt mij dus dat de code klopt. Maar waar ga ik de fout in?
[ Voor 6% gewijzigd door JJapie op 23-06-2003 20:27 ]