Mein Projekt. Hilfe !

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

  • Mein Projekt. Hilfe !

    Gute Tag,

    vorweg muss ich sagen : Spitzen Forum ! Hat mir schon oft geholfen beim durchforsten. Nun habe ich aber folgendes Problem.

    Habe meine Ausbildung angefangen und nun sitze ich an einem Projekt, dass die Aufgabe hat eine wöchentliche Essensbestellung zu machen.

    Arbeite mit MSSQL.
    Habe 4 Seiten die Folgende Funktionen haben.

    Seite 1:
    -Name der Mitarbeiter werden in einer Dropdownliste angezeigt.(Namen werden der Datenbank entnommen)
    -Lokale als Checkboxen.(Datenbank entnommen)

    Seite 2: Tabelle mit Namen und gewähltes Lokal.

    Seite 3: Gericht und Preis werden eingetragen.

    Seite 4: Zusammenfassung.

    So nun mein Problem :

    Wenn ich auf Seite 1 einen Mitarbeiter auswähle, bekomme ich als Value die User_ID. Und genau diese ID will ich als Session speichern. Bei Seite 3 nämlich wird das Gericht, der Preis und die ID (die man halt auf seite 1 wählt) auf der Datenbank gespeichert in einer Tabelle.

    Habe schon alles gesucht und versucht aber nix klappt.

    Seite 1 Dropdownliste:
    PHP-Code:
    <h1>W&auml;hle hier deinen Namen aus:</h1>   <br><br>
                        <form action="Seite2.php" method="POST">
                            <select name ="user">
                             <?php
                                      $_SESSION
    ['User'] = $User.$row;
                                         
    $User="Select * From [User] order by name ";
                                         
    $stmtsqlsrv_query($Conn$User);

                                         if (
    $stmt === false)
                                         {
                                             die( 
    print_rsqlsrv_errors(), true) );
                                         }
                                         
                                         while( 
    $row =sqlsrv_fetch_array($stmtSQLSRV_FETCH_ASSOC))
                                         {                                         
                                        
    $_SESSION['User'] = '<option value="'.$row['User_ID'].'"</option>' ;
                                             echo 
    '<option value="'.$row['ID'].'">'.$row['Name'].'</option>';
                                         }
                                    
    ?>

    Seite 4 das speichern auf der Datenbank :

    PHP-Code:
    <?php
                                        $gericht 
    $_POST["Gericht"]; {
                                           
    $insert="INSERT INTO Gericht_Auswahl(Name,User_ID) VALUES('".$gericht."','".$_SESSION['User']."')";
                                           
    $stmt2 sqlsrv_query($Conn$insert);
                                            if (
    $stmt2 === false)
                                         {
                                             die( 
    print_rsqlsrv_errors(), true) );
                                         }
                                        }
                                            
                                     
    ?>
    erkennt einer den Fehler?... brauche dringend Hilfe.

  • #2
    Es könnte an allem liegen. Ich sehe nichtmal ein session_start(), was aber nichts heißen muss.

    Ich schlage vor, du liest noch mal schnell über die Regeln (s. Signatur) drüber und versuchst die Problemstelle durch gezielte Testausgaben weiter einzugrenzen.

    Warum speicherst du eigentlich HTML-Code in der Session???

    Vergleich auch mal die Session_ids, bleiben die gleich?

    Kommentar


    • #3
      Erst füllst du $_SESSION['User'] mit dem Ergebnis der Verkettung von $User und $row was an sich schon auf eine unsinnige Aktion schließen lässt und wegen PHPs automatischer Typumwandlung einem Lottospiel gleichkommt.

      Gleich in der nächsten Zeile überschreibst du $User mit einem SQL-Statement.

      Wenig später überschreibst du $row im Kopf der While-Schleife mit den Ergebnisdatensätzen des SQL-Statements.

      In der Schleife selbst überschreibst du bei jedem Durchgang $_SESSION['User'] mit deinem Html-Code.


      Vorschlag:
      Räum einen Code auf.
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar


      • #4
        ah entschuldige,

        ich wollte euch ledeglich meinen jetztigen Stand Zeigen.
        Habe viel schon getestet aber alles nix geholfen.

        Session_Start() steht ganz oben jeder Seite.

        Ich glaube es ist "relativ" einfach die Auswahl der Dropdownliste als session zu speicher, aber ich schaffs irgendwie nicht.

        Folgender Fehler kommt bei dem oben genannten quellcode:

        Array ( [0] => Array ( [0] => 23000 [SQLSTATE] => 23000 [1] => 515 [code] => 515 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Der Wert NULL kann in die 'ID'-Spalte, 'ESSEN.dbo.Gericht_Auswahl'-Tabelle nicht eingefgt werden. Die Spalte l„sst NULL-Werte nicht zu. Fehler bei INSERT. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Der Wert NULL kann in die 'ID'-Spalte, 'ESSEN.dbo.Gericht_Auswahl'-Tabelle nicht eingefgt werden. Die Spalte l„sst NULL-Werte nicht zu. Fehler bei INSERT. ) [1] => Array ( [0] => 01000 [SQLSTATE] => 01000 [1] => 3621 [code] => 3621 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Die Anweisung wurde beendet. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Die Anweisung wurde beendet. ) )

        Aber habe doch angegeben das er nur in Name und USER_ID was einträgt...
        Ich verteh es nicht =(

        Kommentar


        • #5
          Lies die Fehlermeldung GENAU und mach dir dann nochmal Gedanken!

          EDIT:
          Zitat von Glambo Beitrag anzeigen
          Aber habe doch angegeben das er nur in Name und USER_ID was einträgt...
          Damit hast du die Ursache für deine Fehlermeldung!
          Zuletzt geändert von Quetschi; 23.08.2012, 15:29.
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #6
            ich muss dazu sagen das ich in der 2ten Woche meiner Ausbildung bin und noch ein blutiger Anfänger bin....

            Ich danke dir für deine Hilfe, aber ich komme selber einfach auf keine Lösung.
            (Die Ausbilder in meinem Betrieb die mir helfen könnten sind bis Montag nicht da und will nicht das ganze We an dieser Stelle festhängen...

            Könntest du mir 1 oder 2 Tipps geben die mich auf den richtigen Weg bringen, bzw mir helfen die ID des ausgewählten Mitarbeiters zu speichern?

            Wenn ich blöd klinge dann tut es mir leid.

            MfG

            Kommentar


            • #7
              In der zweiten Woche der Ausbildung? Und da hast du es mit einer Aufgabe zu tun, die dir schlicht noch 2-3 Nummern zu groß ist?
              Du scheiterst da jetzt zum einem an gewissen Grundlagen und zum anderen daran die Fehlermeldung, die dir präsentiert wird, zu verstehen.

              Die Meldung sagt aus, dass in der Tabelle 'Gericht_Auswahl' eine Spalte 'ID' existiert und diese 'NOT NULL' sein darf - vermutlich weil diese Spalte mit einem Primärschlüssel versehen ist. Üblicherweise setzt man eine solche Spalte als 'auto_increment' wodurch die DB für die Vergabe der ID zuständig wäre. Das scheint hier aber nicht so zu sein. Ob versehentlich oder aus gutem Grund kann man ohne Hintergrundinfos nicht ersehen.
              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
              Schön - etwas Geschichte kann ja nicht schaden.
              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

              Kommentar


              • #8
                uff... ja anscheinend ist das wirklich noch zu hoch für mich.
                Ich werde wohl das Wochenende abwarten und dann zu meinem Ausbilder gehen.

                Ich danke dir für deine klaren Worte und Hilfe.

                MfG

                Kommentar


                • #9
                  Also ich weiß nicht wie und was deine Ausbilder mit dir Vorhaben aber nicht wenige eignen sich das Zeug ohnehin autodidaktisch an.

                  Hier wird Einsteigern gern Home empfohlen.

                  Keine Ahnung warum - vermutlich erpresst er die Leute hier irgendwie
                  Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                  Schön - etwas Geschichte kann ja nicht schaden.
                  Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                  Kommentar


                  • #10
                    Lern bitte erst mal die Grundlagen und danach mit Anfänger Beispielen üben und erst wenn du das gemeistert hast kannst du es mit einen Eigenen Projekt versuchen.

                    Typische Anfänger übungen sind Gästebuch oder für Html/css nee Bilder Galerie darstellung.

                    Kommentar

                    Lädt...
                    X