left_join_inner_join

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • left_join_inner_join

    Moin Moin,

    habe folgendes Problem. Habe eine Datenbank mit 2 tabellen(daten und users) in daten habe ich als pk id und in users als pk users_id.

    man meldet sich an und gibt dann daten in die datenbank ein, wenn man welche bearbeiten möchte, soll man nur die angezeigt bekommen, die man auch selber eingetragen hat.

    meine abfrage zur ansicht der speziellen datensätze sieht so aus:
    PHP-Code:
    mysql_db_query("veranstaltungen","Select daten.* from daten left join users on daten.user_id=users.user_id")or die(mysql_error()); 
    bekomme bei der ausgabe aber immer alle datensätze angezeigt.

    mein login sieht so aus:
    PHP-Code:
    <?PHP

    #überprüfen ob eine eingabe stattgefunden hat

    if (!isset($_POST['username']) || !isset($_POST['password'])) {

    ?>

    <script language="JavaScript" type="text/javascript">
    //<!--
    //alert("Anmeldung erfolgreich!")
    location.replace("index.php");
    //  -->
    </script>
    <noscript><a href="login.html">login</a></noscript>

    <?

    }
    #überprüfen ob keine leeren eintrage sind
    elseif (empty($_POST['username']) || empty($_POST['password'])) {

    ?>

    <script language="JavaScript" type="text/javascript">
    //<!--
    //alert("Anmeldung erfolgreich!")
    location.replace("index.php");
    //  -->
    </script>
    <noscript><a href="index.php">login</a></noscript>

    <?

    }
    else{

    #add slashes
    $user = addslashes($_POST['username']);
    $pass = addslashes($_POST['password']);

    // md5 methode
    //$pass = md5($_POST['password']);


    #datenbank verbindungs variablen

    $dbHost = "localhost";
    $dbUser = "root";
    $dbPass = "";
    $dbDatabase = "veranstaltungen";

    #datenbank verbindungsaufbau

    //  $sql = mysql_connect("localhost","root","");
    //  mysql_select_db("login");
    $db = mysql_connect("$dbHost", "$dbUser", "$dbPass") or die ("keine Verbindung zur Datenbank.");
    mysql_select_db("$dbDatabase", $db) or die ("konnte Datenbank nicht kontaktieren.");
    $result=mysql_query("select * from users where username='$user' AND password='$pass'", $db);


    #query ergebniss

    $rowCheck = mysql_num_rows($result);
    if($rowCheck > 0){
    while($row = mysql_fetch_array($result)){

      #session starten und eine variable registrieren

      session_start();
      session_register('username');

      #erfolgsmeldung
      echo "Sie sind nun eingeloggt!<p><a href=\"anmelden.php\">testSeite</a>";

      #weiterleitungsseite

    ?>

    <script language="JavaScript" type="text/javascript">
    //<!--
    //alert("Anmeldung erfolgreich!")
    location.replace("menue.htm");
    //  -->
    </script>
    <noscript>Sie sind nun eingeloggt!<p><a href="menu.htm">Veranstaltung eintragen</a></noscript>

    <?


      }

      }
      else {
     #wenn der login nicht gepaßt hat
    ?>
    <table width="100%" border="0">
        <tr>
          <td width="50%">&nbsp;</td>
          <td width="50%">&nbsp;</td>
        </tr>
        <tr>
          <td width="100%">
            <div align="center"><b><?php echo "Login war fehlerhaft!<p>";?></b></div>
          </td>
        </tr>
        <tr>
          <td width="100%">
            <div align="center"><b><?php echo "<a href=\"index.php\">nocheinmal einloggen</a><p>";?></b></div>
          </td>
        <tr>
          <td width="100%">
            <div align="center"><b><?php echo "<a href=\"default.htm\">Abbrechen</a>";?></b></div>
          </td>
        </tr>
    </table>


    <?

      }
      }
      ?>
    meiner meinung nach fehlt noch die verbindung das ich beim anmelden die user_id in die tabelle daten schreibe oder woran liegt es sonst.

  • #2
    das sinnvollste wäre die User ID beim Anmelden entweder in ein Cookie oder eine Session zu schreiben, somit kannst du jederzeit auf die Variable zugreifen.

    Kommentar


    • #3
      ?

      Geb mal bitte ein bsp. wie?

      Kommentar


      • #4
        $_COOKIE['userid']='die id des users';
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          oder in der Session

          session_register(userid');

          allerdings musst du dazu deinen Query etwas erweitern und zwar so:

          PHP-Code:
          $db mysql_connect("$dbHost""$dbUser""$dbPass") or die ("keine Verbindung zur Datenbank.");
          mysql_select_db("$dbDatabase"$db) or die ("konnte Datenbank nicht kontaktieren.");
          $result=mysql_query("select * from users where username='$user' AND password='$pass'"$db);
          $userid=$result[userid]; 
          und schon kannst du sie in der Session registrieren.

          Kommentar

          Lädt...
          X