Avatar billede elohim Nybegynder
18. januar 2007 - 09:52 Der 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";
}
?>
Avatar billede mcgoat Nybegynder
18. januar 2007 - 09:54 #1
hvor ? :)
Avatar billede erikjacobsen Ekspert
18. januar 2007 - 10:10 #2
Du mangler vist en }
Avatar billede elohim Nybegynder
18. januar 2007 - 10:11 #3
Parse error: parse error, unexpected T_ELSE in /gudsord.php on line 47
Avatar billede elohim Nybegynder
18. januar 2007 - 10:12 #4
Ja men jeg har stiret mig blind på noget, så jeg kan ikke selv få øje på den.
Avatar billede erikjacobsen Ekspert
18. januar 2007 - 10:16 #5
Mika 4,1 - første 5 ord
Avatar billede elohim Nybegynder
18. januar 2007 - 11:55 #6
He he den var go
Avatar billede elohim Nybegynder
18. januar 2007 - 11:55 #7
var det et svar
Avatar billede sw_red_6 Nybegynder
18. januar 2007 - 12:00 #8
du mangler en break; og en } sidst i din switch
Avatar billede elohim Nybegynder
18. januar 2007 - 12:09 #9
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);
Avatar billede elohim Nybegynder
18. januar 2007 - 12:10 #10
PS men den retuner Resource id #4 Nummeret 22334455 eksisterer ikke, mvh Ib
Avatar billede mcgoat Nybegynder
18. januar 2007 - 12:10 #11
fordi du har ' ' rundt om $msg? skal man vel ikke bruge hvis det er en INT værdi der ligger
Avatar billede sw_red_6 Nybegynder
18. januar 2007 - 12:13 #12
hvor er det lige vi er henne i koden? jeg kan ikke lige finde den sætning..
Avatar billede sw_red_6 Nybegynder
18. januar 2007 - 12:17 #13
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
Avatar billede erikjacobsen Ekspert
18. januar 2007 - 12:34 #14
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;
                }
Avatar billede showsource Seniormester
18. januar 2007 - 12:46 #15
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


<?php
header("Content-type: text/plain");

if(isset($_REQUEST["msg"], $_REQUEST["key"])) {

    $tlf = $_REQUEST["msg"];
    $action = strtolower($_REQUEST["key"]);


    function besked($var, $nr) {

        $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",
        );

    return $beskeder[$nr];

    }

    if(!is_numeric($tlf) || strlen($tlf) != 8) {
        echo besked($tlf, 1);
    exit;
    }

    // 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);

            if(mysql_affected_rows() == 1) {
                echo besked($tlf, 2);
            }else{
                echo besked($tlf, 3);
            }

    }else{

        $sql = "INSERT INTO gudsord_bruger (mobil_nr, DATO) VALUES (". $tlf .", CURDATE())";

            if(mysql_query($sql)) {
                echo besked($tlf, 4);
            }else{

                echo besked($tlf, 5);
            }

    }
}

?>
Avatar billede elohim Nybegynder
18. januar 2007 - 17:10 #16
send et svar showsource
Avatar billede showsource Seniormester
18. januar 2007 - 17:49 #17
ok
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