<?php
$q2 = mysql_query("SELECT * FROM `members` WHERE `username` = '".$_POST['username']."'");
$q3 = mysql_fetch_assoc($q2);
?>

Deze query geeft als echo : Resource id #5. Hier zou hij normaal toch de username in de post moet checken of die al in de DB staat ?
Nicolas Pierre op 05/01/2011 11:52:33

ik echo q2


q2 heeft in jouw code het resultaat van de query, niet de opgevraagde waarden. Je moet q3 echo'en (of toch een deel van de array q3).
<?php

$q2 = mysql_query("SELECT * FROM `members` WHERE `username` = '".$_POST['username']."'") or die(mysql_error());

$q3 = mysql_fetch_assoc($q2);

echo $q3['username'] . PHP_EOL;

?>

En als er meerdere mensen zijn met die username dan moet je die in een while-lus plaatsen:

<?php

$q2 = mysql_query("SELECT * FROM `members` WHERE `username` = '".$_POST['username']."'") or die(mysql_error());

while($q3 = mysql_fetch_assoc($q2))
{
echo $q3['username'] .'<br />' . PHP_EOL;
}

?>

of print_r($q3)
Ok hij echot nu de juiste username maar nog steeds gaat hij die dan inserten in de DB wa dus niet mag :(

<?php

if($q3->username == $_POST['username']) {

die('<BR><BR>Sorry, but the username "'.$q3->username.'" is taken, please choose another.');
}
?>

wat met deze code dus niet zou mogen
Dan moet je in die de else van die voorwaarde de code plaatsen die dat dan gaat inserten.
Laat de hele code zien en bouw goede foutafhandeling in, dus geen die().
je hoeft geen die te gebruiken je kunt ook gewoon echo gebruiken, want die word toch sterk afgeraden:
<?php
if($q3->username == $_POST['username']) {

echo '<BR><BR>Sorry, but the username "'.$q3->username.'" is taken, please choose another.';
}
?>
Ik denk dat je bedoelt dat die(); zal worden afgeraden. Dat terzijde; je kunt beter even je code plaatsen.

Teun Hesseling op 05/01/2011 16:16:42

je hoeft geen die te gebruiken je kunt ook gewoon echo gebruiken, want echo word toch sterk afgeraden:
<?php
if($q3->username == $_POST['username']) {

echo '<BR><BR>Sorry, but the username "'.$q3->username.'" is taken, please choose another.';
}
?>


Reageren