ausgewählte_ausgabe

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

  • ausgewählte_ausgabe

    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
    meiner meinung nach fehlt noch die verbindung das ich beim anmelden die user_id in die tabelle daten schreibe oder woran liegt es sonst.
    kann schon sein.

    meine abfrage zur ansicht der speziellen datensätze sieht so aus:


    PHP:--------------------------------------------------------------------------------
    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.
    du musst schon über eine where bedingung sagen welchen datensatz du haben möchtest.
    [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

    Kommentar


    • #3
      geädnert

      Habe die select abfrage jetzt so:
      PHP-Code:
         $res mysql_db_query("veranstaltungen","Select daten.* from daten left join users on daten.user_id=users.user_id where users.user_id is null")or die(mysql_error()); 
      denke mal dieses meintest du oder? werde mal sehen was passiert.

      Kommentar


      • #4
        geht nicht

        also ich habe es probiert -keine veränderung, aber ich denke mal der fehler liegt darin, das ich beim login doch noch meine user_id welche in beiden tabellen vorhanden ist, in die tabelle ersteinmal schreiben muss, oder sehe ich das falsch, sprich das mein login script noch erweitert werden muss. Des weiteren wird die user_id wenn ich einen datensatz eingebe ja nicht mit in die datenbank geschrieben, also fehlt mir doch die übergabe (der user_id) von dem login script in die maske, wo ich meine datensätze eingebe. und das sie hier dann halt mit gespeichert wird. das macht er ja zur Zeit noch nicht, da ich nicht kapiere wie ich die übergabe realisieren kann.

        Kommentar


        • #5
          verstehe jetzt nicht genau dein problem. was willst du mit "is null"?
          okay, der user loggt sich ein und kann anschließend seine persönlichen daten aktualisieren, ist das richtig?
          das heißt aber, er muss sich ja vorher registrieren. da musst du zwei inserts in die verschiedenen tabs machen, so hast du auch in beiden dann die selbe user_id drin und kannst entsprechend joinen.
          [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

          Kommentar


          • #6
            ok

            ich habe 2 user in der datenbank, beide können sich einloggen und beide können alle datensätze bearbeiten. so ist es jetzt und das soll nicht sein, es soll nur die daten bearbeitet werden können, die ich eingetragen habe und die ein anderer eingetragen hat, soll ich gar nicht angezeigt bekommen.

            also verstehe ich deinen kommentar richtig, das ich beim meinem daten eingeben einen insert in die tabelle daten machen muss(mit allen daten) und einen insert der user_id noch extra in die tabelle users?

            aber ich will doch das die user_id aus dem login_script übernommen wird es hat doch jeder der sich anmeldet eine user_id. die user_id vergebe ich in der datenbank, habe 2 user andreas mit user_id 1 und mutti mit user_id 2.

            Kommentar


            • #7
              natürlich musst du die id auch die zweite tabelle schreiben, wie willst du die daten sonst zuordnen? mysql macht das nicht von allein, so schlau ist die db noch nicht, vielleicht kommt das ja mal.
              [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

              Kommentar


              • #8
                also

                mein eintrag in die tabelle daten schaut so aus:
                PHP-Code:
                // Query zusammensetzen
                  
                $query  "INSERT INTO daten(Veranstalter, Telefonnummer, Datum_Beginn, Datum_Ende, Uhrzeit_Beginn, Uhrzeit_Ende, eMail, Informationen, Konzert, Fest, Ausstellung, sonstiges, Meiningen, Coburg, Bamberg, Heldburg, Kloster_Veßra, SiteHeldburg, sitebad_colberg_heldburg) VALUES ";
                  
                $query .= "('$Veranstalter','$Telefonnummer', '$Datum_Beginn', '$Datum_Ende', '$Uhrzeit_Beginn', '$Uhrzeit_Ende', '$eMail', '$Informationen', $Konzert$Fest$Ausstellung$sonstiges$Meiningen$Coburg$Bamberg$Heldburg$Kloster_Veßra$SiteHeldburg$sitebad_colberg_heldburg)";

                  
                // Query ausführen
                  
                mysql_query($query); 
                aber ich verstehe das nicht, er soll doch automatisch die id mit reinschreiben, die er vom login script bekommt. aber wie mache ich dann die übergabe, der user_id, wenn man sich angemeldet hat, das die auch beim dateneingeben, dann zum datensatz hinzugefügt wird. Hoffe du verstehst mein problem.

                Kommentar


                • #9
                  also herr wenzlinger, willst oder kannst du mich nicht verstehen?
                  lies das oben in ruhe durch.
                  [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                  Kommentar


                  • #10
                    Ja sorry ich verstehe es nicht, stehe zur Zeit aussenvor.

                    ich kann ja wohl meinen query schlecht so erweitern:
                    $query = "INSERT INTO daten(Veranstalter, Telefonnummer, Datum_Beginn, Datum_Ende, Uhrzeit_Beginn, Uhrzeit_Ende, eMail, Informationen, Konzert, Fest, Ausstellung, sonstiges, Meiningen, Coburg, Bamberg, Heldburg, Kloster_Veßra, SiteHeldburg, sitebad_colberg_heldburg, user_id) VALUES ";
                    $query .= "('$Veranstalter','$Telefonnummer', '$Datum_Beginn', '$Datum_Ende', '$Uhrzeit_Beginn', '$Uhrzeit_Ende', '$eMail', '$Informationen', $Konzert, $Fest, $Ausstellung, $sonstiges, $Meiningen, $Coburg, $Bamberg, $Heldburg, $Kloster_Veßra, $SiteHeldburg, $sitebad_colberg_heldburg, '$user_id')";

                    dann schreibt er die daten in die datenbank, übernimmt aber meine user_id nicht.

                    Kommentar


                    • #11
                      mann nochmal:
                      du hast doch zwei tabs.
                      eine in der art:
                      user | username | passwort | user_id

                      eine weitere:

                      daten_id | meine_fields....|....| user_id

                      wenn sich ein neuer user anmeldet, schreibst du die daten in tab 1 und gleich hinterher die vergebene user_id in tab 2, fertsch.
                      loggt der sich jetzt, schreibst einfach die daten zur veranstaltung in tab 2 mit dieser bedingung;
                      PHP-Code:
                      update set ....meien_fields.....into schiess_mich_tot..............where user:id='$_GET oder $_POST['user_id'] 
                      [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                      Kommentar


                      • #12
                        ok

                        mein einloggen sieht so aus:

                        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); 
                        so wenn alles ok, wird er angemeldet. dann kommt ein formular wo er daten eingeben kann, oder halt bearbeiten.

                        gebe hier meine daten ein, mit folgendem query:

                        PHP-Code:
                          $query  "INSERT INTO daten(Veranstalter, Telefonnummer, Datum_Beginn, Datum_Ende, Uhrzeit_Beginn, Uhrzeit_Ende, eMail, Informationen, Konzert, Fest, Ausstellung, sonstiges, Meiningen, Coburg, Bamberg, Heldburg, Kloster_Veßra, SiteHeldburg, sitebad_colberg_heldburg, user_id) VALUES ";
                            
                        $query .= "('$Veranstalter','$Telefonnummer', '$Datum_Beginn', '$Datum_Ende', '$Uhrzeit_Beginn', '$Uhrzeit_Ende', '$eMail', '$Informationen', $Konzert$Fest$Ausstellung$sonstiges$Meiningen$Coburg$Bamberg$Heldburg$Kloster_Veßra$SiteHeldburg$sitebad_colberg_heldburg, '$user_id')"
                        er schreibt hier aber nicht die user_id in die datenbank, sondern nur die daten.

                        Kommentar


                        • #13
                          langsam vergeht mir die lust! kannst du nicht mal meine indirekten fragen beantworten! und vor allem nicht immer das gleiche posten!
                          wie sehen deine tabellen-dumps aus, wie registriert sich ein user(nicht log-in!!!) und wie gehts weiter?
                          [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                          Kommentar


                          • #14
                            also

                            2 Tabellen:

                            1.Tabelle daten mit
                            id | veranstalter | ort | ..... | user_id

                            2. Tabelle users mit
                            user_id | username | password |

                            ich trage die user per hand in die datenbank ein(name und password) und vergebe auch per hand die user_id.

                            auf der seite klicken sie auf einen button es öffnet sich das formular zur eingabe des username und password, ist dieses korrekt, wird ein formular geöffnet(nen Menü) hier kann der user daten eingeben und datensätze bearbeiten. bei bearbeiten werden alle datensätze der datenbank angezeigt (LEIDER), er wählt dann einen aus, den er bearbeiten möchte.

                            hoffe das war dir eine hilfe.

                            Kommentar


                            • #15
                              warum mir ne hilfe, du brauchst die! na, das ist doch, was ich sagte!
                              1.Tabelle daten mit
                              id | veranstalter | ort | ..... | user_id
                              id brauchst du nicht, nimm nur user_id (auto_increment, index)
                              da du ja lustig mit der hand einträgst, schreibst du in die zweite tabelle in user_id, die selbe wie mysql dir in user_id geschrieben hat. jetzt kannst du deine datensätze joinen.
                              beim login holst du dir die entsprechende id zum user mit raus und übergibst diese als where-bedingung an dein select, welche die daten zieht um sie zu editieren und beim update wieder nur den datensatz updaten mit der user_id. fertsch! wenn du deine veranstaltungen eintragen willst, dann auch nur in die zeile, in welcher die user_id passt.
                              [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                              Kommentar

                              Lädt...
                              X