Ankündigung

Einklappen
Keine Ankündigung bisher.

Var. nicht definiert - Warum?

Einklappen

Neue Werbung 2019

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

  • #16
    Wenn du keine Eigeninitiative hast, wird das nichts mit dem Programmieren.

    Dann schau dir doch die Code-Zeile an:
    PHP-Code:
    include __DIR__ 'spiel/endscreen.php'
    Demnach enthält __DIR__ "D:\xampp\htdocs\spiel". "D:\xampp\htdocs\spiel" und "spiel/endscreen.php" ergibt "D:\xampp\htdocs\spielspiel/endscreen.php". Also wie könnte man das beheben?

    Das ist jetzt aber schon Kindergartenniveau.

    Kommentar


    • #17
      Mhh...

      Vielleicht :

      PHP-Code:
      include __DIR__ '\endscreen.php'


      Aber dennoch bestehen, immer noch diese Fehler :

      Notice: Undefined variable: mysqli in D:\xampp\htdocs\spiel\stats.php on line 24

      Notice: Trying to get property of non-object in D:\xampp\htdocs\spiel\stats.php on line 24
      $_POST['user'] ist nicht vorhanden, Folgende Daten werden übertragen:
      Array ( [save] => Zu meinen Statistiken )
      Notice: Undefined variable: user in D:\xampp\htdocs\spiel\stats.php on line 46
      Wo ich mir relativ unsicher bin, wie ich die am besten fixen kann.

      Kommentar


      • #18
        Die Variable $mysqli gibt es nicht. Davor erstellst du die Variable $conn. Warum verwendest du nicht diese, statt einer, die es nicht gibt?

        Wenn es schon so grundlegenden Sachen wie String-Verknüpfungen und Variablen scheitert, solltest du besser zwei Schritte zurück machen, das ganze Datenbankthema erstmal komplett vergessen und die Grundlagen des Programmierens lernen und üben.

        Außerdem solltest du dir Grundlagen über HTTP aneignen, denn damit hast du sehr viel zu tun, wenn du Webanwendungen schreibst.

        Erst wenn du das alles halbwegs sicher beherrschst, erst dann solltest du eine weitere Baustelle (Datenbanken und SQL) aufreißen.

        Wenn du alles gleichzeitig machst und nichts wirklich auch nur ansatzweise kannst, wirst du ständig über deine eigenen Füße fallen und nie voran kommen. Es kann auch nicht das Ziel sein Fehler für Fehler mit Hilfe eines Forums abzuarbeiten. Das ist nicht der Sinn eines Forums. Das Ziel sollte sein, dass du selber Fehler finden und beseitigen kannst und keine anderen Leute dafür brauchst. Ansonsten kannst du die Arbeit gleich abgeben und jemand anders komplett machen lassen.

        Kommentar


        • #19
          Einfach die $conn Var. in $mysqli umbenennen?

          Kommentar


          • #20
            Zitat von DevFlash Beitrag anzeigen
            Einfach die $conn Var. in $mysqli umbenennen?
            Nicht "einfach" umbenennen. Sondern überlegen was hier falsch läuft und das korrigieren. Wenn du nicht verstehst was hier falsch ist und warum es so falsch ist, was für einen Sinn hat das Ganze dann? Dann ist das doch nur Zeitverschwendung für alle Teilnehmer hier.

            Kommentar


            • #21
              Naja, dass ist klar was schief läuft...
              Es ging nur um die "Problemlösung".

              Kommentar


              • #22
                Jetzt habe ich halt noch dieses Problem:
                Notice: Undefined variable: user in D:\xampp\htdocs\spiel\stats.php on line 46
                Code:

                // Alle Fehler berücksichtigen
                error_reporting(-1);

                // Fehler auch ausgeben
                ini_set('display_errors', 1);

                // immer utf-8 ausgeben, ist Standard
                header("Content-Type: text/html; charset=utf-8");


                include __DIR__ . '\endscreen.php';


                // DB-Verbindung herstellen
                $mysqli = new mysqli("localhost", "root", "", "numberguess");

                // sollte nur bei der Entwicklungsumgebung so aussehen, ansonsten andere Fehlerbehandlung verwenden
                if ($mysqli->connect_errno) {
                echo "Fehler bei der Verbindung zur DB: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
                }

                $mysqli->set_charset("utf8");


                if (isset($_POST['user']))
                {
                $user = mysqli_real_escape_string($mysqli, $_POST['user']);
                }
                else
                {
                // Nur für diesen Testfall
                echo '$_POST[\'user\'] ist nicht vorhanden, Folgende Daten werden übertragen:';
                echo '<pre>';
                print_r($_REQUEST);
                echo '</pre>';
                }


                //Selektiert die Einträge der DB
                $result = mysqli_query($mysqli, "SELECT User, savedTries, timestamp FROM `stats` WHERE `user` = '$user'");

                if ( !$result ) {
                printf("Fehler in SQL-Abfrage: %s\n", mysqli_error($link));
                }

                Kommentar


                • #23
                  Zeig mal dein HTML Form...
                  sorry, shift-taste kaputt

                  Kommentar


                  • #24
                    HTML-Code:
                    <form action="highscore.phtml" method="post" name="user">
                          <input type="submit" name="save" size="25" value="Zur Highscore Liste" maxlength="100" />
                    </form>

                    Kommentar


                    • #25
                      Vielleicht besser erstmal HTML lernen, bevor du mit PHP weiter machst

                      https://wiki.selfhtml.org/wiki/HTML/Formulare
                      sorry, shift-taste kaputt

                      Kommentar


                      • #26
                        Warum? Wo ist denn der Fehler?

                        Kommentar


                        • #27
                          Durch Klick auf einen submit-Button wird ein Formular abgesendet, das heißt, die Daten des Formulars werden übertragen. Dabei werden lediglich name-value-Paare übertragen.
                          Oder anders: Wenn du einen User übertragen willst, musst du daraus ein <input> Feld machen.
                          sorry, shift-taste kaputt

                          Kommentar


                          • #28
                            Und was ist daran jetzt falsch?
                            Müsste es ein "Button" sein oder wie?

                            Kommentar


                            • #29
                              Einen Button hast du doch schon.
                              Soll man den User eingeben können? Dann würde ich type "Text" nehmen.
                              Wenn nicht, dann hidden mit einer value.
                              sorry, shift-taste kaputt

                              Kommentar


                              • #30
                                Nein, dass soll einfach nur auf eine andere Seite weiterleiten.
                                Die HTML - Form von der Datei die included ist die hier:

                                <form action="" method="post" name="formular1">
                                <p><b>Ihren Namen hier eingeben</p></b>
                                <input type="text" name="user" size="50" maxlength="150" required/>
                                <input type="submit" name="Button" value="Absenden">
                                </form>

                                <form action="stats.php" method="post" name="formular2" id="formular2">
                                <input type="submit" name="save" size="25" value="Zu meinen Statistiken" maxlength="100" />
                                </form>

                                Kommentar

                                Lädt...
                                X