18. januar 2007 - 09:52Der er
16 kommentarer og 1 løsning
Jeg får en ELSE fejl, retter jeg den får jeg en $ fejl
<?php header("Content-type: text/plain");
$msg = $_REQUEST['msg']; $key = $_REQUEST['key'];
if($msg){ require("DATABASE.inc"); switch (strtolower($key)){ case "tilmeld": if(strlen($msg)==8){ $row = mysql_query("SELECT mobil_nr FROM gudsord_bruger WHERE mobil_nr='".$msg."'"); if (mysql_num_rows($row)>0){ $qu = "Insert into gudsord_bruger set mobil_nr='".$msg."',DATO='".date("y-m-d")."'"; mysql_query($qu); }else{ echo "Nummeret ".$msg." eksisterer allerede, mvh Ib"; mysql_close(); break; } }else{ echo "Ugyldigt telefonnummer: ".$msg.", hvis det er en fejl, bedes du kontakte Ib"; mysql_close(); break; } echo "Du er nu oprettet og vil modtage Guds Ord via SMS hverdag, mvh Ib"; mysql_close(); break;
case "afmeld": if(strlen($msg)==8){ $row = mysql_query("SELECT mobil_nr FROM gudsord_bruger WHERE mobil_nr='".$msg."'"); if (mysql_num_rows($row)>0){ $qu = "delete FROM gudsord_bruger WHERE mobil_nr='".$row."'"; mysql_query($qu); echo "Du er nu afmeld og vil længere modtage Guds Ord via SMS hverdag"; echo "Skriv tilmeld, hvis du vil på igen, mvh Ib"; }else{ echo "Nummeret ".$msg." eksisterer allerede, mvh Ib"; mysql_close(); break; } }else{ echo "Ugyldigt telefonnummer: ".$msg.""; mysql_close(); break; } mysql_close(); }else{ echo "Ukendt kommando, mangler nok et mobil nummer. med venlig hilsen Ib"; } ?>
hvorfor returner $row = mysql_query("SELECT mobil_nr FROM gudsord_bruger WHERE mobil_nr='".$msg."'"); når den skulle retur et mobil nummer. Nummeret eksisterer i DB og kan findes med SQL sætningen SELECT mobil_nr FROM gudsord_bruger WHERE mobil_nr=22334455);
forresten så kan det her ikke rigtig lade sig gøre: if(strlen($msg)==8){ $row = mysql_query("SELECT mobil_nr FROM gudsord_bruger WHERE mobil_nr='".$msg."'"); if (mysql_num_rows($row)>0){ $qu = "delete FROM gudsord_bruger WHERE mobil_nr='".$row."'"; mysql_query($qu); echo "Du er nu afmeld og vil længere modtage Guds Ord via SMS hverdag"; echo "Skriv tilmeld, hvis du vil på igen, mvh Ib"; }else{ echo "Nummeret ".$msg." eksisterer allerede, mvh Ib"; mysql_close(); break; } }else{ echo "Ugyldigt telefonnummer: ".$msg.""; mysql_close(); break; }
Du skal først hente resultatet ud med mysql_fetch_row/array/assoc eller mysql_result inden du kan bruge resultatet af din query på den måde
Du skal nok rette til nedenstående. Du behøver i denne sammenhæng ikke mysql_fetch_xxxx.
if(strlen($msg)==8){ $row = mysql_query("SELECT mobil_nr FROM gudsord_bruger WHERE mobil_nr='".$msg."'"); if (mysql_num_rows($row)>0){ $qu = "delete FROM gudsord_bruger WHERE mobil_nr='".$msg."'"; mysql_query($qu); echo "Du er nu afmeld og vil længere modtage Guds Ord via SMS hverdag"; echo "Skriv tilmeld, hvis du vil på igen, mvh Ib"; }else{ echo "Nummeret ".$msg." eksisterer IKKE, mvh Ib"; mysql_close(); break; } }else{ echo "Ugyldigt telefonnummer: ".$msg.""; mysql_close(); break; }
Har lavet et lidt anderledes script. Her er mobil_nr UNIQUE i tabellen, altså samme nr. kan kun forekomme en gang. Og feltet DATO er af typen DATE år-måned-dato
$beskeder = array( 1 => "Ugyldigt telefonnummer: ". $var .", hvis det er en fejl, bedes du kontakte Ib", 2 => "Du er nu afmeldt og vil ikke længere modtage Guds Ord via SMS hverdag", 3 => "Nummeret ". $var ." findes ikke i DB'en, mvh Ib", 4 => "Du er nu oprettet og vil modtage Guds Ord via SMS hverdag, mvh Ib", 5 => "Nummeret ". $var ." eksisterer allerede, mvh Ib", );
// DATABASE.inc bør du omdøbe til ex. DATABASE.inc.php for alle tilfældes skyld // Ellers vil den evt. blive vist som tekst i en brugers browser, domain.dk/DATABASE.inc require("DATABASE.inc");
if($action == "afmeld") {
$sql = "DELETE FROM gudsord_bruger WHERE mobil_nr = ". $tlf; mysql_query($sql);
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.