PHP/MySQL Script wird nicht angezeigt

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

  • PHP/MySQL Script wird nicht angezeigt

    Hallo,
    ich bin neu in diesem Forum.
    Ich habe schon oft Login/Registration usw. scripts geschrieben. nur bei diesem Login script scheint irgendein Fehler zu sein den ich einfach nicht bemerke:
    PHP-Code:
    <?php
    $username 
    $_POST['username'];
    $password $_POST['password'];
    $session session_id();
    $connection mysql_connect('localhost','user','geheim') or die("Keine Verbindung zum Server."); 
     
    mysql_select_db('datenbank') or die("Keine Verbindung zur Datenbank."); 
     
    $pass md5($password);
     
    $user $username;
     
    $login 'SELECT id FROM members WHERE name="'.$user.'" AND pass="'.$pass.'" LIMIT 1' or die(mysql_error());
      
    $login_query mysql_query($login) or die(mysql_error());
     while(
    $row mysql_fetch_object($login_query) or die(mysql_error()))
     {
       
    $userid $row->id;
     }
    echo 
    'Willkommen User-Nummer ';
    echo 
    $userid;
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
                                Benutzername: <input type="text" name="username" /><br />
                                Passwort: <input type="password" name="password" /><br />
                                <input type="submit" name="submit" value="Einloggen" />
                                </form>
    Also:
    Fehlermeldung: Keine(auch mit error_reporting(E_ALL); usw.)
    Es erscheint einfach ein leerer Bildschirm... nichtmal das echo und html wird angezeigt. als ich es einmal geöffnet hatte, stand da Access denied for www-data(...). Als ich die Seite refreshed habe war es weg. Was habe ich falsch gemacht? Bitte um Hilfe.
    lg
    PHP&&C++

  • #2
    Hast du dir auch den Quelltext angeschaut? Das was du am Bildschirm siehst, wurde ja bereits von der HTML-Engine deines Browsers verwurstet.

    Kommentar


    • #3
      Zitat von h3ll Beitrag anzeigen
      Hast du dir auch den Quelltext angeschaut? Das was du am Bildschirm siehst, wurde ja bereits von der HTML-Engine deines Browsers verwurstet.
      Natürlich, ja das weiß ich aber was kann ich unternehmen? das html durch echo ausgeben?
      HTML-Code:
       
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><META content="text/html; charset=windows-1252" http-equiv=Content-Type></HEAD><BODY></BODY></HTML>

      Kommentar


      • #4
        Zitat von PHP&&C++ Beitrag anzeigen
        Natürlich, ja das weiß ich aber was kann ich unternehmen? das html durch echo ausgeben?
        HTML-Code:
         
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><META content="text/html; charset=windows-1252" http-equiv=Content-Type></HEAD><BODY></BODY></HTML>
        Nein. Geht im Browser auf Ansicht -> Quelltext anzeigen, und sag uns, was du siehst.

        Kommentar


        • #5
          Zitat von h3ll Beitrag anzeigen
          Nein. Geht im Browser auf Ansicht -> Quelltext anzeigen, und sag uns, was du siehst.
          Hab ich doch schon >.<
          Gut nochmal:
          HTML-Code:
           <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><META content="text/html; charset=windows-1252" http-equiv=Content-Type></HEAD><BODY><br /><div style="z-index:3" class="smallfont" align="center"><a href="http://www.php-resource.de/forum/forumdisplay/f-30.html">1</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-53.html">2</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-36.html">3</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-25.html">4</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-32.html">5</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-3.html">6</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-5.html">7</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-43.html">8</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-15.html">9</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-6.html">10</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-27.html">11</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-26.html">12</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-44.html">13</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-52.html">14</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-16.html">15</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-12.html">16</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-29.html">17</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-49.html">18</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-34.html">19</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-7.html">20</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-62.html">21</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-10.html">22</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-9.html">23</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-33.html">24</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-4.html">25</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-28.html">26</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-37.html">27</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-31.html">28</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-20.html">29</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-19.html">30</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-17.html">31</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-22.html">32</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-39.html">33</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-40.html">34</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-50.html">35</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-48.html">36</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-11.html">37</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-38.html">38</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-55.html">39</a> <a href="http://www.php-resource.de/forum/forumdisplay/f-54.html">40</a> </div>
          </BODY></HTML>

          NUN MÜSSTE ES FÜR ALLE LESBAR SEIN

          Kommentar


          • #6
            Das FORM müsste darin aber wenigstens auftauchen - schliesslich ist es überhaupt nicht von irgendwelchen PHP-Bedingungen abhängig.

            Da kann man also nur vermuten, dass du entweder schon beim ersten Mal nicht das aufrufst, was du denkst (und dann ein leeres 404-ErrorDocument bekommst oder sowas), oder aber vielleicht auch das Formular an eine andere Adresse schickst, als du denkst.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Danke für alle antworten. also ich denke mal es könne am php self liegen... werde es mal testen.
              Edit: Klappt nicht...
              Warum wird nichtmal das HTML angezeigt??
              PS.: Wenn ich das PHP script nach dem Html script schreibe sehe ich alles. es muss also im script sein.
              übrigens das mit access denied for www-data war wegen serverabsturz...
              Zuletzt geändert von PHP&&C++; 29.07.2009, 17:14.

              Kommentar


              • #8
                Hallo,

                desweiteren ist while an dieser stelle völlig überflüssig.


                VG
                gourmet

                Kommentar


                • #9
                  Zitat von piratos
                  Jein - man spart sich damit die Abfrage ob man eine gültige Ressource geliefert bekommen hat, kann ja sein das es den User nicht gibt.
                  Man bekommt auch dann eine gültige Ressource, wenn es den User nicht gibt.

                  Kommentar


                  • #10
                    Zitat von piratos
                    Das ist falsch:

                    PHP-Code:
                    $login 'SELECT id FROM members WHERE name="'.$user.'" AND pass="'.$pass.'" LIMIT 1' or die(mysql_error()); 
                    PHP-Code:
                    $login 'SELECT id FROM members WHERE name="'.$user.'" AND pass="'.$pass.'" LIMIT 1'
                    und das nächste Dingens auch gleiches Kaliber:

                    PHP-Code:
                    while($row mysql_fetch_object($login_query) or die(mysql_error())) 
                    PHP-Code:
                    while($row mysql_fetch_object($login_query)) 
                    Ähhm das hab ich erst eingefügt wies nicht funktioniert hat...
                    EDIT: Als ich das gerade ausbessern wollte hats funktioniert(trotzdem ausgebessert)! Aber wenn ich jetzt auf absenden drücke passiert nix.
                    Habs selber geschafft... Danke für alles obwohl ich dann eigentlich eh selbst draufgekommen bin Trotzdem DANKE!
                    Zuletzt geändert von PHP&&C++; 29.07.2009, 19:45.

                    Kommentar


                    • #11
                      Habs eh schon... Trotzdem !

                      Kommentar


                      • #12
                        Zitat von piratos
                        Ich muss das anders ausdrücken

                        PHP-Code:
                        $row mysql_fetch_object($login_query); 
                        Ohne Treffer ergibt das:
                        Trotzdem gehört da das while() nicht hin. Wenn man nur einen Wert erwartet, sollte man keine Schleifen benutzen.

                        Beispiel:
                        PHP-Code:
                        if ($row mysql_fetch_object($login_query)) {
                            
                        $userid $row->id;
                        } else {
                            
                        $userid null;

                        Kommentar


                        • #13
                          Zitat von PHP&&C++ Beitrag anzeigen
                          Habs eh schon... Trotzdem !
                          Dann bitte auch die Lösung für andere posten.

                          Danke
                          Peter
                          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                          Meine Seite

                          Kommentar


                          • #14
                            nur mal so zum Verständniss, vielleicht gibt es ja auch andere Lösungen, ich würde es zB. so machen.

                            PHP-Code:
                            $row mysql_fetch_object($login_query); 
                            if(!empty(
                            $row['user_id'])) {
                            echo 
                            'Hallo du .$row['user_id'];
                            }
                            else {
                            echo '
                            Zugangsdaten falsch!';

                            wie willst du sonst überprüfen ob der Login erfolgreich war, wenn nicht mit einer IF Abfrage?

                            ich muß auch gestehen das ich mysql_fetch_object nicht verwende.

                            Kommentar


                            • #15
                              Zitat von piratos
                              Wer lesen kann hat manchmal Vorteile:

                              Für Leute aus der anderen Region - das bedeutet man kann das eine wie das andere machen, wobei ich persönlich auch if bevorzugen würde, aber es gibt keinerlei Zwang bis auf die Meinung anderer.

                              Und - mal am Rande - Performance:

                              Jeweils das beste Ergebnis aus 10 Abfragen:

                              while 4.6014785766602E-5

                              if 5.1021575927734E-5

                              Ist zwar für den Fall hier völlig uninteressant, zeigt aber das man nichts verliert.
                              Es geht weder um Performance noch um den persönlichen Geschmack, sondern es geht um den guten Programmierstil. Wenn man nicht mehrere Werte behandelt, sollte man auch keine Schleifen verwenden, sonst könnte ein anderer Programmierer etwas anderes vermuten.

                              Natürlich kann man es machen und while verwenden. Man kann sogar sehr vieles machen, ohne dass es technisch gesehen "falsch" ist. Viele Wege führen nach Rom. Aber besser ist, wenn der Weg dreispurig, asphaltiert und vernünftig Beschildert ist. Man sollte niemanden auf den Schotterweg schicken, auch wenn er auch damit zum Ziel kommt.

                              Kommentar

                              Lädt...
                              X