kostenloser Webspace werbefrei: lima-city


if else anwendung $id == true

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    rambule

    Kostenloser Webspace von rambule

    rambule hat kostenlosen Webspace.

    Mahlzeit,
    Ich bastel gerade ein wenig mit PHP und MYSQL herum und erstelle mir eine kleine Gallerie ;-) klappt auch soweit alles super!

    Nun bin ich auf die Idee gekommen mir ein kleines User System einzubauen.

    Ich habe eine MYSQL Datenbank mit der Tabelle Test und der Spalte Login.
    Das Verbinden und Ausgeben klappt auch super.

    Nun habe ich eine Profilseite erstellt die mit GET eine Variable überliefert bekommt
    diese GET Variable wandel ich in eine Normal Variable um und benutze sie um die Daten eines bestimmten Users aus der DB zu bekommen user.php?id=1

    Nun möchte ich eine kleine if else anwendung implementieren die Abcheckt ob eine Variable $id übergeben wurde und ob es diese gibt.

    quasi

    if $id = = true - > Zeige Profil
    else Profil gibts nicht.

    Leider klappt das Grob umschriebene oben nicht besonders gut bei true gibts mir das Profil aus und bei else bleibt die seite blank.

    Hier mal mein aktueller Code

    <?php
    if($id  == true)
       {
    echo"
       <h1> $row->username</h1>
    <img src=\"$row->usrpp\"/>
    
    <p>Vorname: $row->vorname</p>
    <p>Nachname: $row->name</p>
    <p>Geschlecht:  $row->geschlecht</p>
    <p>Geburtsdatum:  $row->geburtsdatum;</p>
    <p>Wohnort: $row->heimatort</p> 
    <p>Mail: <a href=\"mailto:<?php echo $row->usrmail\">$row->usrmail</a>
    
    
    ";
    
       }
    else if($id  == false)
       {
       echo "<h2> Hier fehlt was </h2>";
       }
    
     ?>

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. sallyundchamp

    sallyundchamp hat kostenlosen Webspace.

    true und false sind boolisch
    true ist 1
    und
    false ist 0

    also wenn id 2 ist wird das beides nicht gehen und wenn die id nicht gegeben ist ist sie weder 1 noch 0 bzw true oder false
    besser wäre
    if(isset($id))
    {
    //code wenn id gesetzt ist
    }
    else
    {
    //code wenn id nicht gesetzt ist
    }

    allerdings kann es in dem Fall auch sein das zb die id 78 übergeben wird und diese in der Datenbank existiert
    dann ist da auch ein fehler also musst Du auch überprüfen ob diese existiert
  4. Autor dieses Themas

    rambule

    Kostenloser Webspace von rambule

    rambule hat kostenlosen Webspace.

    Hey sallyundchamp
    danke für den Denkanstoß.

    ich hab es jetzt mal so probiert und es klappt so weit, wird keine ID übergeben kommt mein Platzhalter im else Hier fehlt was.

    hast du auch noch eine Idee wie ich es lösen könnte wenn zwar eine ID über Get übergeben wird aber diese ID nicht in der Datenbank existiert
  5. sallyundchamp

    sallyundchamp hat kostenlosen Webspace.

    frag die Datenbank ob die id existiert^^
  6. Autor dieses Themas

    rambule

    Kostenloser Webspace von rambule

    rambule hat kostenlosen Webspace.

    habs mal so gelöst^^

    Mein einziges Problem ist jetzt noch

    Notice: Undefined index: id in E:\websrv\xampp\htdocs\projekt\usernew.php on line 17


    habs jetzt erst mal so gelöst das ich den Error Report deaktiviert habe, gibts da auch noch ne schönere Version?^^

    <?php
    $id = $_GET["id"];
    $issetTyp = isset($_GET['id']);
    
    
    
    
    
    
    
    
    
    
    if (isset ($_GET['id'])) { 
      $abfrage = mysql_query("SELECT COUNT(*) FROM login WHERE ID='$id'");
    $ergebnis = mysql_fetch_row($abfrage);
    if($ergebnis[0]==1) echo "Profil Existiert";
    else echo "Profil Existiert nicht!";  
    
    }
    
     else { 
        echo "Profil Existiert nicht!";
    } 
    
    
    
    ?>
  7. sallyundchamp

    sallyundchamp hat kostenlosen Webspace.

    <?php
    
    if (isset ($_GET['id'])) { 
       $id = $_GET["id"];
    
       $abfrage = mysql_query("SELECT COUNT(*) FROM login WHERE ID='$id'");
       $ergebnis = mysql_fetch_row($abfrage);
       if($ergebnis[0]==1) echo "Profil Existiert";
       else echo "Profil Existiert nicht!";  
       }
       else
       { 
          echo "Profil Existiert nicht!";
       }


    ?> kannst Du übrigens weglassen wenn danach nichts mehr kommt
    ein count müsstest Du eigentlich auch nicht machen kannst ja dir gleich den User holen den brauchst Du ja bestimmt für die Seite
    kann ja eh nur 1 oder 0 raus kommen

    <?php
    
    if (isset ($_GET['id'])) { 
       $id = $_GET["id"];
    
       $abfrage = mysql_query("SELECT * FROM login WHERE ID='$id'");
       $ergebnis = mysql_fetch_row($abfrage);
       if(isset($ergebnis[0])) 
       {
          echo "Das Profil " . $ergebnis[0][name] . " Existiert"; //oder so ähnlich
       }
       else
       {
          echo "Das Profil Existiert nicht!"; 
       }
    }
    else
    { 
        echo "Das Profil Existiert nicht!";
    }
  8. online-capture

    online-capture hat kostenlosen Webspace.

    du solltest aus $id = $_GET["id"];
    besser $id=(int)$_GET['id']; machen
    So ist gewährleistet, dass du auch tatsächlich eine Zahl bekommst und so keine mysql injektionen möglich sind.
    alternativ geht auch $id=intval($_GET['id']), aber ersteres ist soweit ich weiß ein bisschen schneller.

    Beitrag zuletzt geändert: 17.8.2013 13:26:23 von online-capture
  9. sallyundchamp

    sallyundchamp hat kostenlosen Webspace.

    escapen sollte man sowieso alles was man an eine Datenbank sendet
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!