Så lad mig spørge på en anden måde. Hvordan laver jeg det tjek i imei_auth. Prøv om du kan infiltrere det i dette. Måske lidt nemmere da jeg ved dette virker korrekt.
if(isset($_POST['imei'])){ if(trim($_POST['imei']) == '' || !preg_match('/^\d{15}$/',$_POST['imei'])) $errors['imei'] = "<font color='#FF3300'>The imei has to be 15 digits.</font>"; else{ $result = mysql_query("SELECT imei FROM x8unit WHERE imei='$imei'") or die(mysql_error()); $imeiok=true; while ($row=mysql_fetch_array($result)) { if($row['imei']==$imei) { $imeiok = false; } } mysql_free_result($result); if(!$imeiok) { $errors['imei'] = "<font color='#FF3300'>The imei number you entered allready excists in our database.</font>"; }else{ $fejl--; } } } else $errors['imei'] = "*";
Det koster lidt tid og besvær at lave gode indrykninger i sin programmer.
Men hvis man bruger den tid det tager at lave og løbende opdatere siden indrykninger, opnår man nogle fordele, en af de væsentlige fordele man opnår er at man ikke risikerer at glemme hvilken if- betingelse en given else hører sammen med. Det ser meget ud til at det er det der er fejlen her. Til at du, hvis du havde de indrykninger, hurtigt selv kunne finde fejlen.
Det er forståeligt at du gerne vil 'spare den tid og det besvær'.
Men hvis du er for doven til at lave indrykninger, hvorfor skulle så jeg bruge min tid på at lave dem for dig ?
Behøver du så sandelig heller ikke hr. Men jeg ved det ikke er et problem med {}. Der er startede { du ikke kan se. Måske skulle jeg have skrevet det. Men regnede ikke med det ville være så vigtigt at du kunne se dem alle.
Ja okay, men nu fungere tjeket jo i x8unit tabellen jo fint. Så ville ikke rode i det. Problemet kommer når jeg skal tjekke i imei_auth. Du har ikke et forslag vel?
Jamen fejl indeholder jo bare 9. Det er sat øverst i scriptet, og der bliver ikke pillet ved det. Det er nok $error der skal udskrives. Men der står ikke noget hvis jeg gør det.
jeg har gjort det du sagde. Det ser nu således ud:
if(isset($_POST['imei'])){ if(trim($_POST['imei']) == '' || !preg_match('/^\d{15}$/',$_POST['imei'])) $errors['imei'] = "<font color='#FF3300'>The imei has to be 15 digits.</font>"; else{ $result = mysql_query("SELECT imei FROM x8unit WHERE imei='$imei'") or die(mysql_error()); if (mysql_num_rows($result)>0) { $errors['imei'] = "<font color='#FF3300'>The IMEI you entered allready excists in our database.</font>"; }else{ $result2 = mysql_query("SELECT imei FROM imei_auth WHERE imei='$imei'") or die(mysql_error()); if (mysql_num_rows($result2)>1) { $errors['imei'] = "<font color='#FF3300'>IMEI entered is not authorised</font>"; }else $fejl--; } } } else $errors['imei'] = "*";
Ved nr. 2 tjek har jeg sat 1 istedet for 0, da den skal gøre det modsatte, går udfra det er rigtigt. Men når jeg indtaster et imei der ikke står i imei_auth, siger den alligevel ok for det og kommer ikke med error msg. Det første tjek virker perfekt.
Tjah.. Så virker det altså som det skal. Den udskriver 1 når det er et imei nummer der findes, og udskriver 0 når det ikke findes.
Du skal have mange tak for hjælpen!
Og så synes jeg også jeg vil give dig engang ros for du taler i et sprog man kan forstå, og bliver aldrig forvirret over dine kommentarer, og gør man bliver du ikke irriteret over man spørger om det samme igen. Du er en vild gut er du.
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.