Avatar billede tobrukDk Novice
08. maj 2012 - 21:51 Der er 22 kommentarer og
1 løsning

vil ikke echo 0 mysqli

hej

det er sådan at jeg er i gang med en side og jeg vil gerne have hvis at det "code nr" han få på email passer til databasen så skal den echo 0 og hvis den ikke gøre det så skal den sig f.eks den her er ikke echo 0, og hvis man bare gå ind på siden altså uden at have skrevet en "code nr" elller noget som ikke passer til databasen så skal den da bare sende en hen til en anden side,

jeg har prøve at bygge det sådan her men den bliver ved med at sige fejl hmm

jeg har gøre det sådan her ;

sådan her ser email ude når den bliver senddt


                    $subject = "Hej ,,,,.dk - Godkendt brugere konto";
                    $msg    = "Tak for du vil opret dig på ,,,,.dk!. \n \n For at kun activate din konto skal du bare klikke på dette link her: \n \n http://,,,,.dk/activate/$code/ \n \n Du kan ikke besvar den her email!!";
                    $header = "from:,,,,.dk - Godkendt Profil!! <support@,,,,.dk>";


så når man kommer ind på den her side så har jeg bygge den sådan her ;


<?php
            include ("include/database/db.php");
            if($stmt = $mysqli->prepare("SELECT `code` FROM `brugere` WHERE `code` = ?"))
            {
                $stmt->bind_param('d', $code);
                $code = $_GET["code"];
                $stmt->execute();
                $stmt->store_result();
                $stmt->bind_result($code);
                $stmt->fetch();
                $count_res = $stmt->num_rows;
                $stmt->close();
               
                if($count_res > 0)
                {
                    if($code == 0)
                    {
                        echo "test 0 ";
                    }
                    if($code == 1)
                    {
                        echo "test 1 ";
                    }
                }
                else {
                    /* Der er opstået en fejl */
                    echo 'Der opstod en fejl' . $mysqli->error;
                }
            }
            ?>


hvad gå der galt siden det ikke virker overhovedet??
Avatar billede arne_v Ekspert
08. maj 2012 - 22:05 #1
Kan du beskrive hvad "fejl" daekker over?
Avatar billede tobrukDk Novice
08. maj 2012 - 22:14 #2
altså det vil sige hvis man bare gå ind på f.eks google.dk/hej-google/ så skal den sende tilbage den forsiden, og hvis man skriver tal som ikke findes i databasen eller lign så skal den gøre det sammen ;)
Avatar billede inteeeL Nybegynder
09. maj 2012 - 08:12 #3
Du bør ændre din bind_param til følgende:
$stmt->bind_param('i', $code);

.. forudsat, at `code` er en integer.

Ikke at ovenstående er løsningen, men blot en kodemæssig fejl. Hvad er det helt præcis, du vil? Du tjekker, om koden enten er 0 eller 1 - ud ud fra det udskriver du henholdsvis test 0 og test 1. Men hvad er det, der ikke virker?
Avatar billede tobrukDk Novice
09. maj 2012 - 14:48 #4
sådan her


if($stmt = $mysqli->prepare("SELECT `code` FROM `brugere` WHERE `code` = ?"))
            {
                $stmt->bind_param('i', $code);
                $code = $_GET["code"];
                $stmt->execute();
                $stmt->store_result();
                $stmt->bind_result($code);
                $stmt->fetch();
                $count_res = $stmt->num_rows;
                $stmt->close();
               
                if($count_res > 0)
                {
                    if($code == 0)
                    {
                        echo "findes i databasen";
                    }
                    if($code == 1)
                    {
                        echo "findes ikke i databasen";
                    }
                }
                else {
                    /* Der er opstået en fejl */
                    echo 'Der opstod en fejl' . $mysqli->error;
                }
            }
Avatar billede tobrukDk Novice
09. maj 2012 - 15:06 #5
det er hvis den er 0 så skal jeg lavet sådan at den updater til 1 og  så siger den det og efter det siger "Din konto er blevet godkendt" og hvis den er 1 så skal den bare sige "Desværre du har godkendt din konto",
Avatar billede tobrukDk Novice
09. maj 2012 - 15:08 #6
så jeg tror også den skal vide hvorfor en rank han er i ?
Avatar billede tobrukDk Novice
09. maj 2012 - 15:12 #7
#3 nej det skal være sådan passe kode til code ? hvis den gøre det skal den gå videre der efter skal den finde ud af om den er rank 0 eller 1 ??
Avatar billede inteeeL Nybegynder
09. maj 2012 - 18:41 #8
Jeg tror jeg har forstået det nu. Dog kan jeg ikke se, hvad du skal bruge rank til. Jeg ville lave det sådan her:
if($stmt = $mysqli->prepare("SELECT `code` FROM `brugere` WHERE `code` = ?"))
{
    $stmt->bind_param('i', $g_code);
    $g_code = $_GET["code"];
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($code);
    $stmt->fetch();
    $count_res = $stmt->num_rows;
    $stmt->close();
 
    if($count_res > 0)
    {
        if($code == 0)
        {
            if($stmt = $mysqli->prepare("UPDATE brugere SET `code`=1 WHERE `code`=?"))
            {
                $stmt->bind_param('i', $g_code);
                $g_code = $_GET["code"];
                $stmt->execute();
            }
            echo 'Din bruger er blevet godkendt';
        }
        if($code == 1)
        {
            echo 'Din bruger er allerede godkendt';
        }
    }
    else {
        /* Der er opstået en fejl */
        echo 'Der opstod en fejl' . $mysqli->error;
    }
}
Avatar billede tobrukDk Novice
09. maj 2012 - 19:44 #9
#8 lige et svar ;) ser om det virker lidt senere ;) tak tak igen , hvad skal jeg gøre uden dig :D tak tak !!
Avatar billede tobrukDk Novice
09. maj 2012 - 19:51 #10
den siger igen ; "Der opstod en fejl"
Avatar billede inteeeL Nybegynder
09. maj 2012 - 19:58 #11
Hehe, det var så lidt :-)
Avatar billede inteeeL Nybegynder
09. maj 2012 - 19:59 #12
.. så er det fordi, du ikke har en bruger med den kode.
Avatar billede tobrukDk Novice
09. maj 2012 - 20:07 #13
det er muligt fordi jeg har en med det tale,, hmm

kan du se den er i databasen;
http://jesperbok.dk/saas.png
Avatar billede inteeeL Nybegynder
09. maj 2012 - 20:15 #14
Og det samme står i ?code=9262... ?
Avatar billede tobrukDk Novice
09. maj 2012 - 20:21 #15
ja ;)
Avatar billede inteeeL Nybegynder
09. maj 2012 - 20:43 #16
Du må have en tastefejl et sted - kan ikke lige se fejlen
Avatar billede inteeeL Nybegynder
09. maj 2012 - 20:48 #17
Du mangler forresten en stmt_close() efter den sidste execute..
Avatar billede tobrukDk Novice
09. maj 2012 - 20:51 #18
sådan her


else {
                    /* Der er opstået en fejl */
                    echo 'Der opstod en fejl' . $mysqli->error;
                }
            }
            $stmt->close();
Avatar billede tobrukDk Novice
09. maj 2012 - 20:55 #19
få stadig fejl på den :(

#18 hvis det er sådan jeg skal gøre få jeg det stadig væk..
Avatar billede tobrukDk Novice
11. maj 2012 - 16:48 #20
jeg har prøve at gøre sådan her


            <?php
            include ("include/database/db.php");
            if($stmt = $mysqli->prepare("SELECT `code` FROM `brugere` WHERE `code` = ?"))
            {
                $stmt->bind_param('i', $g_code);
                $g_code = $_GET["code"];
                $stmt->execute();
                $stmt->store_result();
                $stmt->bind_result($code);
                $stmt->fetch();
                $count_res = $stmt->num_rows;
                $stmt->close();
             
                if($count_res > 0)
                {
                    if($code == 0)
                    {
                        if($stmt = $mysqli->prepare("UPDATE brugere SET `code`=1 WHERE `code`=?"))
                        {
                            $stmt->bind_param('i', $g_code);
                            $g_code = $_GET["code"];
                            $stmt->execute();
                            $stmt->close();
                        }
                        echo 'Din bruger er blevet godkendt';
                    }
                    if($code == 1)
                    {
                        echo 'Din bruger er allerede godkendt';
                    }
                }
                else {
                    /* Der er opstÃ¥et en fejl */
                    echo 'Der opstod en fejl' . $mysqli->error;
                }
            }
            ?>
Avatar billede tobrukDk Novice
11. maj 2012 - 16:50 #21
der bliver ved med at komme fejl som siger sådan her ; Der opstod en fejl
Avatar billede tobrukDk Novice
12. maj 2012 - 14:18 #22
fik lige rigtigt en af dine fejl hvor du havde skrevet code=1 hvor der skulle havde stået rank=1


if($stmt = $mysqli->prepare("SELECT `code` FROM `brugere` WHERE `code` = ?"))
            {
                $stmt->bind_param('i', $g_code);
                $g_code = $_GET["code"];
                $stmt->execute();
                $stmt->store_result();
                $stmt->bind_result($code);
                $stmt->fetch();
                $count_res = $stmt->num_rows;
                $stmt->close();
             
                if($count_res > 0)
                {
                    if($code == 0)
                    {
                        if($stmt = $mysqli->prepare("UPDATE brugere SET `rank`=1 WHERE `code`=?"))
                        {
                            $stmt->bind_param('i', $g_code);
                            $g_code = $_GET["code"];
                            $stmt->execute();
                            $stmt->close();
                        }
                        echo 'Din bruger er blevet godkendt';
                    }
                    if($code == 1)
                    {
                        echo 'Din bruger er allerede godkendt';
                    }
                }
                else {
                    /* Der er opstået en fejl */
                    echo 'Der opstod en fejl' . $mysqli->error;
                }
            }


dog kommer den stadig henne med samme fejl ; Der opstod en fejl
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