Ik gebruik het volgende om iemand zijn profiel te laten wijzigen, probleem is wel dat wanneer men de gebruikersnaam niet verandert, toch zegt dat die gebruikersnaam al in gebruik is. Hoe los ik dit op?
<?php
if ($_POST['submit']) {
$res = mysql_query("SELECT * FROM leden WHERE gebruikersnaam='$_POST['gebruikersnaam']; '") or die(mysql_error());
if ($_POST['gebruikersnaam'] == "") {
$error ="U moet een gebruikersnaam invullen!"; }
elseif(mysql_num_rows($res) != 0){
$error ="Er bestaat al een gebruiker met deze gebruikersnaam!";}
?>
<?php
if($_POST['submit']){
$res=mysql_query("SELECT * FROM leden WHERE gebruikersnaam='$_POST['gebruikersnaam']; '") or die(mysql_error());
Je selecteerd alles van een lid. Die heeft een gebruikersnaam die in de database staat. Logisch dat hij dan aangeeft dat er meer dan 0 users met die username zijn
ja dat weet ik ook wel maar hoekan ik het maken dat wanneer men zijn gebruikersnaamniet wijzigd deze toch vervangen wordt de originele.
vb:
gebruikersnaam = ikke
email= test@test.be
profiel wijzigen:
gebruikersnaam = ikke
email = testje@testje.be
nu mag hij dus niet zeggen dat de gebruikersnaam al bestaat maar als ik de gebruikersnaam "ikke" ookverander en deze naam wordt gebruikt bij een ander profiel moet hij wel zeggen dat de gebruikersnaam al in gebruik is.
Hans - 05/09/2004 12:47 (laatste wijziging 05/09/2004 12:49)
HTML beginner
W8, Hans is verward..
Als je nu eens NIET:
a) alles ophaalt uit die tabel
b) met mysql_num_rows() werkt
Hij moet een foutmeldingen geven als "mysql_num_rows($res)" niet gelijk is aan 0 omdat er dan een rij gevonden is waar deze gebruikersnaam al gebruikt wordt.
Als "mysql_num_rows($res)" gelijk is aan nul wil dat zeggen dat er geen rij gevonden is met de gebruikersnaam die je wil posten.
Maar nu is mijn probleem nog niet opgelost. Met id gaat ook niet denk ik want dan zou je een zelfde gebruikersnaam kunnen ingeven dan wat er al bestaat.
hij zou eigenlijk moeten zoeken in al de rijen van de db behalve in de rij van de gegevens die ik wil wijzigen.