Oprettet søn. d. 07. oktober 2012 kl. 23:13:33

tobrukDk
tobrukDk (2.375 point. Point ude: 0)

mysqli se om id findes i databasen

Hej


Det er sådan at jeg arbejder med en profil side og det er sådan at det skal være at er man ind på en side hvor man kan se alle bruger så skal jeg ind på bruger 2 som har sin profil 13.20, og skal lige se alle bruger før "kasper" klikker videre derfra. og kl 13.22 har "lotte" så valgt at slette sin profil hvor som har set "kasper" profil 13.20 ikke har opdater siden. så skal det være sådan at når man klik på den og den ikke findes i databasen så skal den bare "sige". fejl 404 siden. hvor her efter bliver sendt derover..


<?php
                    if ($stmt = $mysqli->prepare('SELECT `id`, `rank`, `brugernavn`, `profilbillede`, `profilbillede_godkendt`, `navn`, `efternavn`, `profiltekst`, `alder_d`, `alder_m`, `alder_aar`, `status`, `kon`, `seksualitet` FROM `bruger` WHERE `id` = ?'))
                    {
                    $stmt->bind_param('i', $id);
                    $id = $_GET["id"];

                    $stmt->execute();
                    $stmt->store_result();
                    $stmt->bind_result($id, $rank, $brugernavn, $profilbillede, $profilbillede_godkendt, $navn, $efternavn, $profiltekst, $alder_d, $alder_m, $alder_aar, $status, $kon, $seksualitet);
                   
                        while ($stmt->fetch())
                        {
                            echo "<h1>" . "Velkommen til " . $brugernavn . "'s profil" . "</h1>";
                       
                        if($profilbillede_godkendt == 1)
                        {
                        ?>
                        <img src="/profil-img/<?php echo $profilbillede;?>" alt="<?php echo $brugernavn;?>" height="115" width="100" border="0">
                        <?php
                        }
                        else
                        {
                            echo "<img src=\"/profil-img/users.png\" alt=\"$brugernavn\" height=\"115\" width=\"100\" border=\"0\">";
                        }
                        ?>
                            <ul>
                                <li>Navn: <?php echo $navn;?> <?php echo $efternavn;?></li>
                                <li>Rank:
                                <?php
                                if($rank == 1)
                                {
                                    echo "Bruger";   
                                }
                                if($rank == 2)
                                {
                                    echo "Admin";
                                }
                                ?>
                                </li>
                            </ul>
                            <ul>
                                <li>Alder: <?php echo $alder_d;?>/<?php echo $alder_m;?>-<?php echo $alder_aar;?> -
                                <?php
                                function CalcAge($alder_d , $alder_m, $alder_aar){
                                    $alle_alder = $alder_d . "-" . $alder_m . "-" . $alder_aar; 
                                    $datetime1 = new DateTime("now");
                                    $datetime2 = DateTime::createFromFormat("d-m-Y", $alle_alder);
                                    $interval = $datetime1->diff($datetime2);
                                    return $interval->format('%y');
                                }   
                                echo CalcAge ("$alder_d", "$alder_m", "$alder_aar") .' år';
                                ?>
                                </li>
                                <li>Køn:
                                <?php
                                if($kon == 1)
                                {
                                    echo "Mand";   
                                }
                                elseif($kon == 2)
                                {
                                    echo "Kvinde";
                                }
                                ?>
                                </li>
                            </ul>
                            <ul>
                                <?php
                                if ($stmt_1 = $mysqli->prepare('SELECT `id_status`, `title` FROM `partnerstatus`')) {
                                $stmt_1->execute();

                                /* Bind resultatet */
                                $stmt_1->bind_result($id_status, $title);

                                /* Hent rækker og udskriv data */
                                while ($stmt_1->fetch()) {
                                        if($status == $id_status)
                                        {
                                            echo "<li>Partnerstatus: " . $title . "</li>";   
                                        }
                                }

                                /* Luk statement */
                                $stmt_1->close();

                                }
                                else
                                {
                                    echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                                }
                               
                                    if ($stmt_2 = $mysqli->prepare('SELECT `id_seksualitet`, `title` FROM `Seksualitet`')) {
                                    $stmt_2->execute();

                                    /* Bind resultatet */
                                    $stmt_2->bind_result($id_seksualitet, $title);

                                    /* Hent rækker og udskriv data */
                                    while ($stmt_2->fetch()) {
                                            if($seksualitet == $id_seksualitet)
                                            {
                                                echo "<li>Seksualitet: " . $title . "</li>";   
                                            }
                                    }

                                    /* Luk statement */
                                    $stmt_2->close();

                                } else {
                                    /* Der er opstået en fejl */
                                    echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                                }
                                ?>
                            </ul>
                        <div class="profiltekst">
                            <?php echo $profiltekst;?>
                        </div>
                        <div class="profilopslag">
                        <h2>Opslag for <?php echo $brugernavn;?></h2>
                        <?php
                        if ($stmt_opslag = $mysqli->prepare('SELECT `tekst` FROM `opslag` WHERE `id_bruger` = ?')) {
                            $stmt_opslag->bind_param('i', $id);
                            $id = $_GET['id'];

                            $stmt_opslag->execute();
                            $stmt_opslag->store_result();
                           
                            $stmt_opslag->bind_result($tekst);

                            /* Hent rækker og udskriv data */
                            while ($stmt_opslag->fetch()) {
                            ?>
                            <p><?php echo $tekst;?></p>
                            <?php
                            }

                            /* Luk statement */
                            $stmt_opslag->close();

                        } else {
                            /* Der er opstået en fejl */
                            echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                        }
                        ?>
                        </div>
                        <div class="profilgallery">
                        <h2>Billeder af <?php echo $brugernavn;?></h2>
                        <?php
                            if ($stmt_opslag = $mysqli->prepare('SELECT `title`, `gallery_godkendt` FROM `gallery` WHERE `id_bruger` = ?')) {
                            $stmt_opslag->bind_param('i', $id);
                            $id = $_GET['id'];

                            $stmt_opslag->execute();
                            $stmt_opslag->store_result();
                           
                            $stmt_opslag->bind_result($title, $gallery_godkendt);

                            /* Hent rækker og udskriv data */
                            while ($stmt_opslag->fetch()) {
                            ?>
                            <img src="/gallery/<?php echo $title;?>" alt="<?php echo $brugernavn;?>" height="115" width="100" border="0">
                            <?php
                            }
                            $stmt_opslag->close();

                        } else {
                            /* Der er opstået en fejl */
                            echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                        }
                        ?>                   
                        </div>
                        <?php
                        }

                    $stmt->close();

                    } else {
                        echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                    }
                ?>


Jeg håber det give god mening til hvordan jeg vil have det.

Jeg har prøve sådan her


if($_GET['id'] >= $id){
    echo "du har valgt et gyldigt id";
}else{
    header("HTTP/1.0 404 Not Found");
    echo "fejl : Du har valgt et forkert id";
}




Det skal det siges at min kode har jeg prøve at ligge ind i hvor der stå "du har valgt et gyldigt id", men jeg har også prøve at gøre sådan her


if($_GET['id'] != $id){
    echo "du har valgt et gyldigt id";
}else{
    header("HTTP/1.0 404 Not Found");
    echo "fejl : Du har valgt et forkert id";
}


men så har jeg bare bytte om på dem sådan at det give bedre mening men det hjælper stadig ikke. og jeg kan bare ikke rigtig løse det her problem nu og her. dog håber jeg på at du kan hjælp mig videre med det her!

Skrevet man. d. 08. oktober 2012 kl. 00:10:39| #1

arne_v
arne_v (1.050.303 point)
Det var godt nok meget kode og ikke saerligt velstruktueret.

Men logikken er vel at at du laver en SELECT og hvis den finder en raekke saa viser du denne ellers laver du en 404.

Jeg tror ioevrigt at en lille forklaring om at bruger ikke eksisterer maaske ville vaere  mere brugervenligt.

Skrevet man. d. 08. oktober 2012 kl. 01:02:18| #2

tobrukDk
tobrukDk (2.375 point)
ja okay, det kan jeg godt se. :)

Så hvis det var dig vil du gerne have at vide den her bruges ikke findes mere. :) men er der ikke noget ligesom det gammel mysql num_rows eller ligne i den still som gør at den sige det?

Skrevet man. d. 08. oktober 2012 kl. 01:12:46| #3


Skrevet man. d. 08. oktober 2012 kl. 01:13:02| #4

arne_v
arne_v (1.050.303 point)
Men er det ikke nemmere at erstatte while med if og saa bruge else?

Skrevet man. d. 08. oktober 2012 kl. 01:34:04| #5

tobrukDk
tobrukDk (2.375 point)
Jeg har prøve at gøre sådan her

<?php
                    if ($stmt = $mysqli->prepare('SELECT `id`, `rank`, `brugernavn`, `profilbillede`, `profilbillede_godkendt`, `navn`, `efternavn`, `profiltekst`, `alder_d`, `alder_m`, `alder_aar`, `status`, `kon`, `seksualitet` FROM `bruger` WHERE `id` = ?'))
                    {
                    $stmt->bind_param('i', $id);
                    $id = $_GET["id"];

                    $stmt->execute();
                    $stmt->store_result();
                    $stmt->bind_result($id, $rank, $brugernavn, $profilbillede, $profilbillede_godkendt, $navn, $efternavn, $profiltekst, $alder_d, $alder_m, $alder_aar, $status, $kon, $seksualitet);
                    if($_GET["id"] == $id)
                    {
                        while ($stmt->fetch())
                        {
                            echo "<h1>" . "Velkommen til " . $brugernavn . "'s profil" . "</h1>";
                       
                        if($profilbillede_godkendt == 1)
                        {
                        ?>
                        <img src="/profil-img/<?php echo $profilbillede;?>" alt="<?php echo $brugernavn;?>" height="115" width="100" border="0">
                        <?php
                        }
                        else
                        {
                            echo "<img src=\"/profil-img/users.png\" alt=\"$brugernavn\" height=\"115\" width=\"100\" border=\"0\">";
                        }
                        ?>
                            <ul>
                                <li>Navn: <?php echo $navn;?> <?php echo $efternavn;?></li>
                                <li>Rank:
                                <?php
                                if($rank == 1)
                                {
                                    echo "Bruger";   
                                }
                                if($rank == 2)
                                {
                                    echo "Admin";
                                }
                                ?>
                                </li>
                            </ul>
                            <ul>
                                <li>Alder: <?php echo $alder_d;?>/<?php echo $alder_m;?>-<?php echo $alder_aar;?> -
                                <?php
                                function CalcAge($alder_d , $alder_m, $alder_aar){
                                    $alle_alder = $alder_d . "-" . $alder_m . "-" . $alder_aar; 
                                    $datetime1 = new DateTime("now");
                                    $datetime2 = DateTime::createFromFormat("d-m-Y", $alle_alder);
                                    $interval = $datetime1->diff($datetime2);
                                    return $interval->format('%y');
                                }   
                                echo CalcAge ("$alder_d", "$alder_m", "$alder_aar") .' år';
                                ?>
                                </li>
                                <li>Køn:
                                <?php
                                if($kon == 1)
                                {
                                    echo "Mand";   
                                }
                                elseif($kon == 2)
                                {
                                    echo "Kvinde";
                                }
                                ?>
                                </li>
                            </ul>
                            <ul>
                                <?php
                                if ($stmt_1 = $mysqli->prepare('SELECT `id_status`, `title` FROM `partnerstatus`')) {
                                $stmt_1->execute();

                                /* Bind resultatet */
                                $stmt_1->bind_result($id_status, $title);

                                /* Hent rækker og udskriv data */
                                while ($stmt_1->fetch()) {
                                        if($status == $id_status)
                                        {
                                            echo "<li>Partnerstatus: " . $title . "</li>";   
                                        }
                                }

                                /* Luk statement */
                                $stmt_1->close();

                                }
                                else
                                {
                                    echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                                }
                               
                                    if ($stmt_2 = $mysqli->prepare('SELECT `id_seksualitet`, `title` FROM `Seksualitet`')) {
                                    $stmt_2->execute();

                                    /* Bind resultatet */
                                    $stmt_2->bind_result($id_seksualitet, $title);

                                    /* Hent rækker og udskriv data */
                                    while ($stmt_2->fetch()) {
                                            if($seksualitet == $id_seksualitet)
                                            {
                                                echo "<li>Seksualitet: " . $title . "</li>";   
                                            }
                                    }

                                    /* Luk statement */
                                    $stmt_2->close();

                                } else {
                                    /* Der er opstået en fejl */
                                    echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                                }
                                ?>
                            </ul>
                        <div class="profiltekst">
                            <?php echo $profiltekst;?>
                        </div>
                        <div class="profilopslag">
                        <h2>Opslag for <?php echo $brugernavn;?></h2>
                        <?php
                        if ($stmt_opslag = $mysqli->prepare('SELECT `tekst` FROM `opslag` WHERE `id_bruger` = ?')) {
                            $stmt_opslag->bind_param('i', $id);
                            $id = $_GET['id'];

                            $stmt_opslag->execute();
                            $stmt_opslag->store_result();
                           
                            $stmt_opslag->bind_result($tekst);

                            /* Hent rækker og udskriv data */
                            while ($stmt_opslag->fetch()) {
                            ?>
                            <p><?php echo $tekst;?></p>
                            <?php
                            }

                            /* Luk statement */
                            $stmt_opslag->close();

                        } else {
                            /* Der er opstået en fejl */
                            echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                        }
                        ?>
                        </div>
                        <div class="profilgallery">
                        <h2>Billeder af <?php echo $brugernavn;?></h2>
                        <?php
                            if ($stmt_opslag = $mysqli->prepare('SELECT `title`, `gallery_godkendt` FROM `gallery` WHERE `id_bruger` = ?')) {
                            $stmt_opslag->bind_param('i', $id);
                            $id = $_GET['id'];

                            $stmt_opslag->execute();
                            $stmt_opslag->store_result();
                           
                            $stmt_opslag->bind_result($title, $gallery_godkendt);

                            /* Hent rækker og udskriv data */
                            while ($stmt_opslag->fetch()) {
                            ?>
                            <img src="/gallery/<?php echo $title;?>" alt="<?php echo $brugernavn;?>" height="115" width="100" border="0">
                            <?php
                            }
                            $stmt_opslag->close();

                        } else {
                            /* Der er opstået en fejl */
                            echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                        }
                        ?>                   
                        </div>
                        <?php
                        }
                    }
                    else
                    {
                        echo "Hey";
                    }
                   
                    $stmt->close();

                    } else {
                        echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                    }
                ?>

Skrevet man. d. 08. oktober 2012 kl. 01:39:43| #6

tobrukDk
tobrukDk (2.375 point)
lidt mere nem måde at se over det hele på


if ($stmt = $mysqli->prepare('SELECT `id`, `rank`, `brugernavn`, `profilbillede`, `profilbillede_godkendt`, `navn`, `efternavn`, `profiltekst`, `alder_d`, `alder_m`, `alder_aar`, `status`, `kon`, `seksualitet` FROM `bruger` WHERE `id` = ?'))
                    {
                    $stmt->bind_param('i', $id);
                    $id = $_GET["id"];

                    $stmt->execute();
                    $stmt->store_result();
                    $stmt->bind_result($id, $rank, $brugernavn, $profilbillede, $profilbillede_godkendt, $navn, $efternavn, $profiltekst, $alder_d, $alder_m, $alder_aar, $status, $kon, $seksualitet);
                    if($_GET["id"] == $id)
                    {
                        while ($stmt->fetch())
                        {
echo "Heeey bruger infomation vil være her";

}
                    }
                    elseif($_GET["id"] != $id)
                    {
                        echo "Hey";
                    }
                   
                    $stmt->close();

                    } else {
                        echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                    }
                ?>

Skrevet man. d. 08. oktober 2012 kl. 01:54:40| #7

arne_v
arne_v (1.050.303 point)
det tror jeg ikke virker - du bruger $id inden du kalder fetch ??

Skrevet man. d. 08. oktober 2012 kl. 07:58:51| #8

tobrukDk
tobrukDk (2.375 point)
Så den skal være efter ??

Skrevet man. d. 08. oktober 2012 kl. 11:51:43| #9

tobrukDk
tobrukDk (2.375 point)
Jeg kun også gøre det sådan her


if ($stmt = $mysqli->prepare('SELECT `id`, `rank`, `brugernavn`, `profilbillede`, `profilbillede_godkendt`, `navn`, `efternavn`, `profiltekst`, `alder_d`, `alder_m`, `alder_aar`, `status`, `kon`, `seksualitet` FROM `bruger` WHERE `id` = ?'))
                    {
                    $stmt->bind_param('i', $id);
                    $id = $_GET["id"];

                    $stmt->execute();
                    $stmt->store_result();
                    $stmt->bind_result($id, $rank, $brugernavn, $profilbillede, $profilbillede_godkendt, $navn, $efternavn, $profiltekst, $alder_d, $alder_m, $alder_aar, $status, $kon, $seksualitet);
                 
                        while ($stmt->fetch())
                        {
                        if($_GET["id"] >= $id)
                        {
                            echo "Heey du ";
                        }
                        else
                            echo "<h1>" . "Velkommen til " . $brugernavn . "'s profil" . "</h1>";
                       
                            if($profilbillede_godkendt == 1)
                            {
                            ?>

Skrevet man. d. 08. oktober 2012 kl. 16:57:29| #10

tobrukDk
tobrukDk (2.375 point)
Jeg har også prøve at gøre sådan her

http://dk.php.net/ (...)


if ($stmt = $mysqli->prepare('SELECT `id`, `rank`, `brugernavn`, `profilbillede`, `profilbillede_godkendt`, `navn`, `efternavn`, `profiltekst`, `alder_d`, `alder_m`, `alder_aar`, `status`, `kon`, `seksualitet` FROM `bruger` WHERE `id` = ?'))
                    {
                    $stmt->bind_param('i', $id);
                    $id = $_GET["id"];

                    $stmt->execute();
                    $stmt->store_result();
                   
                    $row_cnt = $stmt->num_rows;
                   
                    $stmt->bind_result($id, $rank, $brugernavn, $profilbillede, $profilbillede_godkendt, $navn, $efternavn, $profiltekst, $alder_d, $alder_m, $alder_aar, $status, $kon, $seksualitet);
                 
                        while ($stmt->fetch())
                        {
                        if($_GET["id"] != $row_cnt)
                        {
                            echo "Heey du ";
                        }
                        else
                        {

Skrevet man. d. 08. oktober 2012 kl. 18:49:42| #11

tobrukDk
tobrukDk (2.375 point)
http://www.eksperten.dk/ (...)

kigge på den!

KLART HER


<?php
                    if ($stmt = $mysqli->prepare('SELECT `id`, `rank`, `brugernavn`, `profilbillede`, `profilbillede_godkendt`, `navn`, `efternavn`, `profiltekst`, `alder_d`, `alder_m`, `alder_aar`, `status`, `kon`, `seksualitet` FROM `bruger` WHERE `id` = ?'))
                    {
                    $stmt->bind_param('i', $id);
                    $id = $_GET["id"];

                    $stmt->execute();
                    $stmt->store_result();
                    if ($stmt->num_rows>=1) {
                    $stmt->bind_result($id, $rank, $brugernavn, $profilbillede, $profilbillede_godkendt, $navn, $efternavn, $profiltekst, $alder_d, $alder_m, $alder_aar, $status, $kon, $seksualitet);
                        while ($stmt->fetch())
                        {
//INDHOLD!!
}
                else
                {
                    echo "hey";   
                }
                   
                    $stmt->close();

                    } else {
                        echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                    }
                ?>

Skrevet man. d. 08. oktober 2012 kl. 20:28:05| #12

arne_v
arne_v (1.050.303 point)
det boer vaere saa simpelt

$stmt = $mysqli->prepare('SELECT `id`, `rank`, `brugernavn`, `profilbillede`, `profilbillede_godkendt`, `navn`, `efternavn`, `profiltekst`, `alder_d`, `alder_m`, `alder_aar`, `status`, `kon`, `seksualitet` FROM `bruger` WHERE `id` = ?'))
$stmt->bind_param('i', $id);
$id = $_GET["id"];
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($id, $rank, $brugernavn, $profilbillede, $profilbillede_godkendt, $navn, $efternavn, $profiltekst, $alder_d, $alder_m, $alder_aar, $status, $kon, $seksualitet);
if ($stmt->fetch()) {
    echo "$brugernavn ....";
} else {
    echo "id eksisterer ikke";
}

Skrevet man. d. 08. oktober 2012 kl. 21:54:12| #13


Skrevet man. d. 08. oktober 2012 kl. 21:55:56| #14


Skrevet man. d. 08. oktober 2012 kl. 22:07:44| #15

arne_v
arne_v (1.050.303 point)
Og husk: simpelt er godt

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Hjælp ønskes til to løkker, der driller...

Oprettet den 18. juni 2013 kl. 15.28
allandk giver 30 point for svar | Giv et svar »

Faa xml out put som en variable

Oprettet den 18. juni 2013 kl. 14.08
techboy992 giver 30 point for svar | Giv et svar »

PHP Programmør søges!

Oprettet den 18. juni 2013 kl. 00.50
Japsen giver 0 point for svar | Giv et svar »







Computerworld

Teaser billede

Test: Microsoft Surface Pro er fremtidens bærbare

Surface Pro er både en oplagt kontorkriger og en fantastisk flad følgesvend. Men den kan hurtigt komme til at koste dig dyrt. Vi har testet maskinen, som forsøger at være både tablet-pc og bærbar...

CIO

Teaser billede

Test: Microsoft Surface Pro er fremtidens bærbare

Surface Pro er både en oplagt kontorkriger og en fantastisk flad følgesvend. Men den kan hurtigt komme til at koste dig dyrt. Vi har testet maskinen, som forsøger at være både tablet-pc og bærbar...

Comon

Teaser billede

Test: Microsoft Surface Pro er fremtidens bærbare

Surface Pro er både en oplagt kontorkriger og en fantastisk flad følgesvend. Men den kan hurtigt komme til at koste dig dyrt. Vi har testet maskinen, som forsøger at være både tablet-pc og bærbar...

Channelworld

Teaser billede

Test: Microsoft Surface Pro er fremtidens bærbare

Surface Pro er både en oplagt kontorkriger og en fantastisk flad følgesvend. Men den kan hurtigt komme til at koste dig dyrt. Vi har testet maskinen, som forsøger at være både tablet-pc og bærbar...

White paper

Teaser billede

Modernisering af legacy-it

Læs hvordan automatiserede værktøjer fra BluePhoenix kan understøtte modernisering af it, applikations- og databasemigrering samt test.


IT Kurser
Samarbejdspartnere

Udgiver · © 2013 Computerworld A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger