Avatar billede stormdk Nybegynder
12. oktober 2005 - 14:48 Der er 9 kommentarer

Redigér profiltekst

Hejsa! Jeg er igang med et community, og er løbet ind i et problem. Jeg har siddet i timevis uden at kunne forstå hvad der er galt. Den bliver ved med at sende til siden ?nMsg=2, og jeg forstår ikke hvorfor, her er koden, håber I har et svar:

if($_POST['new']){
if(empty($_POST['username']) OR empty($_POST['password']) OR empty($_POST['password2']) OR empty($_POST['first_name']) OR empty($_POST['email'])){
Header("location: ".$_SERVER["PHP_SELF"]."?nMsg=1");
break;
}



if($_POST['password'] != "$_POST[password2]"){
Header("location: ".$_SERVER["PHP_SELF"]."?nMsg=4");
break;}else{

$c1 = mysql_query("SELECT * FROM users WHERE id = '$_COOKIE[user]'");
while($rs = mysql_fetch_array($c1)){
if(strtolower(addslashes($_POST['username'])) == "$rs[username]"){

$insert = mysql_query("UPDATE users SET username = '".addslashes($_POST['username'])."', first_name = '".addslashes($_POST['first_name'])."', email = '".addslashes($_POST['email'])."', born_day = '".addslashes($_POST['born_day'])."', born_month = '".addslashes($_POST['born_month'])."', born_year = '".addslashes($_POST['born_year'])."', gender = '".addslashes($_POST['gender'])."', last_name = '".addslashes($_POST['last_name'])."', occupation = '".addslashes($_POST['occupation'])."', www = '".addslashes($_POST['www'])."', status = '".addslashes($_POST['status'])."', location = '".addslashes($_POST['location'])."', password = '".addslashes($_POST['password'])."' WHERE id = '$_COOKIE[user]' LIMIT 1") or die(mysql_error());
Header("location: ".$_SERVER["PHP_SELF"]."?nMsg=3");
ob_end_flush;
}else{


$c2 = mysql_query("SELECT * FROM users WHERE username = '".addslashes($_POST[username])."'");
$c5 = mysql_fetch_array($c2);
$c3 = mysql_num_rows($c2);
if($c3 != "0"){
Header("location: ".$_SERVER["PHP_SELF"]."?nMsg=2");
break;
}else{

$usercheck = "$_POST[username]";

if (strlen($usercheck) > 20) {
Header("location: ".$_SERVER["PHP_SELF"]."?nMsg=5");
break;
}elseif (strlen($usercheck) < 2) {
Header("location: ".$_SERVER["PHP_SELF"]."?nMsg=6");
break;
}
else if(!eregi("^([0-9a-z])+$", $usercheck)){
Header("location: ".$_SERVER["PHP_SELF"]."?nMsg=7");
break;
}

if($c3 != "0"){
Header("location: ".$_SERVER["PHP_SELF"]."?nMsg=2");
break;
}else{
Header("location: ".$_SERVER["PHP_SELF"]."?nMsg=3");
break;
}}

}
}
}
}
Avatar billede jaw Nybegynder
12. oktober 2005 - 14:54 #1
Indeholder $_POST['username'] det du tror den gør?
Du kan lige prøve:
echo "SELECT * FROM users WHERE username = '".addslashes($_POST[username]); og så manuelt tjekke med f.eks. phpMyAdmin at der findes en række med det brugernavn den spytter ud.
Avatar billede stormdk Nybegynder
12. oktober 2005 - 14:56 #2
Det har jeg gjort, den indeholder hvad den skal :)
Avatar billede kimg Nybegynder
12. oktober 2005 - 15:02 #3
Er ikke sikker men prøv at ændre "if($c3 != "0")" til "if($c3 != 0)"
Har ikke kigget det hele igennem ;-)

Kim
Avatar billede jaw Nybegynder
12. oktober 2005 - 15:06 #4
Hvorfor vil du egentlig have den til et være "ikke lig" med 0 ? Så bliver du jo smidt videre, hvis brugernavnet findes?!
Avatar billede stormdk Nybegynder
12. oktober 2005 - 15:12 #5
Jaw>

nMsg=2 er en fejlmeddelse.

Kimg> Giver bar en parse error.
Avatar billede jaw Nybegynder
12. oktober 2005 - 15:18 #6
Jaja, det kan jeg skam se :) Men bliver den tricket ved den rigtige fejl? Skal du sendes til nMsg=2 når brugernavnet eksisterer?
Avatar billede stormdk Nybegynder
12. oktober 2005 - 16:24 #7
Jaw>

Ja :)
Avatar billede stormdk Nybegynder
12. oktober 2005 - 17:23 #8
Antal point er nu sat op til 200 .
Avatar billede jaw Nybegynder
12. oktober 2005 - 20:03 #9
Hvilke variabler sender du ind i scriptet - altså hvilke forms har du, og hvor kommer brugernavnet fra?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester