[PHP5] Fehlermeldung LogIn-Script von Andreas Zimare

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

  • [PHP5] Fehlermeldung LogIn-Script von Andreas Zimare

    hallo,

    der herr Andreas Zimare, einer der tut-autoren hier, ist über seine in dem script
    angegebene mail nicht mehr erreichbar, daher hier mein versuch.

    bekomme sowohl über die login-seite als auch über die seite für neuanmeldung
    folgende fehlermeldung:

    Notice: Undefined index: username in /Applications/MAMP/htdocs/login_Folder/neu.php on line 19
    size="20">

    zu dieser fehlermeldung gibt es zahlreiche beiträge auch in verbindung mit
    login-scripten aber ich hab nichts gefunden, was mich der lösung näher bringen

    würde. und glaubt mir, ich habe viel darin gesucht - es ist jetzt 3.24 uhr

    dies ist sicherlich auch durch mein noch recht schmales php/mysql wissen bedingt
    also seid ein wenig nachsichtig.
    hab mich wirklich bemüht einen bereits vorhandenen beitrag zu finden

    anbei das script, wobei bei mir (dreamweaver) nie die zeilenangabe stimmt.
    in den angegebenen zeilen (19) befindet sich nichts oder nichts passendes.

    noch eine kurze anmerkung: prinzipiell funktioniert alles, nur dies fehlermeldung
    erscheint auf der seite. sieht unschön aus.

    big thx


    PHP-Code:
    <?php
        error_reporting
    (E_ALL);
        
    session_start();
        require(
    "connect.inc.php");
        
    ?>
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
        <html>
        <head>
            <title>Neuen Benutzer anlegen</title>
        <link rel="stylesheet" type="text/css" href="style.css">
        </head>
        <body>
            
        <?php if(!isset($_POST['submit'])) { ?>
            
        <form action="<?php $PHP_SELF ?>" method="post">
        <table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1"
    align="center">
            <tr>
                <td bgcolor="#e7e7e7" align="center" colspan="2">
                <b>Neuen Benutzer anlegen</b>
                </td>
            </tr>
            <tr>
                <td width="170" bgcolor="#e7e7e7">
    Benutzername</td>
                <td width="230" bgcolor="#ffffff">
    <input type="text" 
                name="username" class="input"<?php if($_POST['username'] != ""
        { echo 
    ' value="'.$_POST['username'].'"'; } ?> 
    size="20"></td>
            </tr>
            <tr>
                <td width="170" bgcolor="#e7e7e7">
    Passwort</td>
                <td width="230" bgcolor="#ffffff">
    <input type="password" 
                name="password" size="20" 
    class="input"></td>
            </tr>
            <tr>
                <td width="170" bgcolor="#e7e7e7">Passwort wiederholen</td>
                <td width="230" bgcolor="#ffffff">
    <input type="password" 
                name="password2" size="20" 
    class="input"></td>
            </tr>
            <tr>
                <td bgcolor="#e7e7e7" align="center" colspan="2">
                <input type="submit" name="submit" value="Benutzer anlegen" class="button">
                </td>
            </tr>
            <tr>
                <td bgcolor="#e7e7e7" align="center" colspan="2">
                <a href="sichere_seite.php">Zur&uuml;ck zur Admin-Seite</a>
                </td>
            </tr>
            <tr>
                <td bgcolor="#e7e7e7" align="center" colspan="2">
                Copyright &copy; 2003 by <a href="
    mailto:andy@mg-umschulung.de?subject=
                Dein LogIn-Skript">
        Andreas Zimare</a><br>
                <a href="http://www.
        mg-umschulung.de" target="_blank"><a href="h??ttp://www.mg-umschulung.de" 
        target="_blank">[url]
    [url]www.mg-umschulung.de[/url][/url]</a>
        </a> - 
        Alle Rechte vorbehalten
                </td>
            </tr>
        </table>
        </form>
        <?php
        
    }elseif(!isset($_POST['username']) || 
    $_POST['username'] == ""){
            echo 
    '<p align="center">
    Einen Benutzernamen brauchen wir schon ;-)
            <br><br><a href="neu.php"
    >Zur&uuml;ck</a></p>'
    ;
        }elseif(!isset(
    $_POST['password']) || 
    $_POST['password'] == "") {
            echo 
    '<p align="center">
    Ein Passwort brauchen wir schon ;-)<br><br>
        <a href="neu.php">Zur&uuml;ck</a></p>'
    ;
        }elseif(
    $_POST['password'] != $_POST['password2']) {
            echo 
    '<form action="neu.php" method="post">';
            echo 
    '<p align="center">
    Die Passw&ouml;rter stimmen nicht &uuml;berein!<br><br>'
    ;
            echo 
    '<input type="hidden" name="username" value="'.$_POST['username'].'">';
            echo 
    '<input type="submit" name="zurueck" value="Zur&uuml;ck">
        </p>'
    ;
            echo 
    '</form>';
        }else{
            
    $query mysql_query
    ("SELECT user FROM users WHERE user = '".$_POST['username']."'");
            
    $result mysql_fetch_array($query);
            if(
    $_POST['username'] == $result['user']) {
                echo 
    '<p align="center">Sorry, dieser Benutzername ist 
        leider schon vergeben
        !<br><br><a href="neu.php">Zur&uuml;ck</a></p>'
    ;
                die;
            }else{
                
    $username $_POST['username'];
                
    $pass md5($_POST['password']);
                if(
    $insert mysql_query("INSERT INTO users VALUES('','$username','$pass')")) {
                    echo 
    '<p align="center">Der neue Benutzer wurde erfolgreich angelegt!
                    <br><br><a href="sichere_seite.php">Zur Admin-Seite</a></p>'
    ;
                }else{
                    echo 
    '<p align="center">Beim Anlegen des neuen Benutzers
         trat leider ein Fehler auf!<br>
        <br><a href="neu.php">Zur&uuml;ck</a></p>'
    ;
                }
            }
        }
        
    ?>
        </body>
        </html>

    -umschulung.de?subject=Dein LogIn-Skript">
        Andreas Zimare</a><br>
                <a href="http://www.
        mg-umschulung.de" target="_blank"><a href="h??
    Zuletzt geändert von damilchmann; 16.04.2007, 11:24.

  • #2
    Hallo und willkommen im Forum :9

    Natürlich helfen wir dir gerne - aber bitte lies doch noch kurz unsere Regeln durch. Insbesondere das mit den Zeilenumbrüchen ist uns wichtig


    Ersetze mal in deinem Code

    if($_POST['username'] != "")

    durch

    if(!empty($_POST['username']))


    Siehe Handbucheintrag zu empty
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      thx für die antwort.

      das mit den zeilenumbrüchen ist mir aufgefallen, hab jedoch nach deinem
      hinweis in den regeln bzw. in der suche nichts zum
      thema gefunden. (hab nach "zeilenumbr" gesucht.

      kannst mich dahin noch verlinken.

      nach änderung der codezeile kommt folgende fehlermeldung:

      PHP-Code:
      Parse errorsyntax errorunexpected T_IS_NOT_EQUALexpecting ')' 
      in /Applications/MAMP/htdocs/login_Folder/neu.php on line 19 



      bin noch zu unwissend um effektiv um die ecke denken zu können
      Zuletzt geändert von damilchmann; 06.04.2007, 14:48.

      Kommentar


      • #4
        http://www.php-resource.de/forum/sho...threadid=50454


        Zeig uns mal die Zeile, wie du sie geändert hast.
        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
        var_dump(), print_r(), debug_backtrace und echo.
        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

        Kommentar


        • #5
          PHP-Code:
          <form action="<?php $PHP_SELF ?>" method="post">
          <table width="400" bgcolor="#000000" border="0"
           cellpadding="5" cellspacing="1" align="center">
              <tr>
                  <td bgcolor="#e7e7e7" align="center" colspan="2">
                  <b>Neuen Benutzer anlegen</b>
                  </td>
              </tr>
              <tr>
                  <td width="170" bgcolor="#e7e7e7">
          Benutzername</td>
          <td width="230" bgcolor="#ffffff">
          <input type="text" name="username" class="input"
          <?php if(!empty($_POST['username'] != ""))
           
          { echo 
          ' value="'.$_POST['username'].'"'; } 
          ?> size="20"></td>

          ps. hab in der hilfe keinen hinweis bekommen, wie ich mit zeilenumbrüchen umgehen soll. bleibt nur manuell. ich versuche mein bestes
          Zuletzt geändert von damilchmann; 16.04.2007, 11:22.

          Kommentar


          • #6
            Shurakai meint mit Zeilenumbrüchen, das Du Deinen Code umbrechen sollst, damit man nicht horizontal scrollen muß.

            Kommentar


            • #7
              irgendwie kann ich das ding umbrechen wie ich will, es wird nicht schmaler

              Kommentar


              • #8
                Doch, ist doch hervorragend so.

                Schau mal was du gemacht hast:

                if(!empty($_POST['username'] != ""))

                und dann vergleiche mal was ich geschrieben habe
                Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                var_dump(), print_r(), debug_backtrace und echo.
                Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                Kommentar


                • #9
                  stimmt, so geht es. thx

                  könntest du mir noch erklären wo der ursprüngliche fehler lag,
                  sodass ich es verstehe? also ausgehend von meinem ersten post,
                  nicht von meinem schreibfehler aus. das wäre super.

                  Kommentar


                  • #10
                    Klar.

                    Die Fehlermeldung

                    Notice: Undefined index: username in /Applications/MAMP/htdocs/login_Folder/neu.php on line 19
                    sagt einfach, dass der Index "username" nicht gesetzt wurde aber dennoch verwendet wird. Das heißt, du versuchst auf etwas nicht vorhandenes zuzugreifen. Wenn du aber diese Fehlermeldung vermeidne willst, musst du vorher prüfen, ob es das überhaupt gibt. Das tut man zB mit isset und empty. Beide Funktionen geben keine solche Fehlermeldung aus. :-)
                    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                    var_dump(), print_r(), debug_backtrace und echo.
                    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                    Kommentar


                    • #11
                      jo, ich danke dir herzlich für die info´s


                      habe nun ein weiteres problem.

                      da mein mac gerade kaputt gegangen ist

                      hab ich das ganze noch einmal auf nem notebook installiert (winxp)

                      jetzt gibt es keine dieser fehlermeldungen, obwohl ich wieder den
                      original quelltext genommen haben. (die veränderten daten von
                      Shurakai liegen ja auf dem mac) komisch nr. 1

                      jetzt kann ich mich nach anmeldung nicht mehr einloggen, mit dem
                      fehler, dass das password nicht richtig sei. komisch nr. 2

                      es kommt jedoch keine php-fehlermeldung.

                      ich weiss, das sind nicht viele infos aber mehr hab ich auch nicht.

                      hat vielleicht jemand dazu noch ne idee? thx

                      ps. habe inzwischen herausgefunden, dass das md5 script irgendwie nicht funktioniert,
                      man kann keine pw´s generieren.

                      somit kann auch über die seite nicht gecheckt werden, ob das
                      pw richtig ist.

                      könnte da der fehler sein? aber wie immer ist das alles komisch,
                      auf dem mac ging das md5 ohne probleme aber es trat das
                      obige problem auf. auf dem pc tritt das obige problme
                      nicht auf, dafür aber das mit md5

                      PHP-Code:
                      <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
                          <tr>
                              <td align="center" valign="middle">
                              <?php if(!$_POST['submit'] || $passwort == "") { ?>
                                  <form name="pass" action="<?php $PHP_SELF ?>" method="post">

                      <table width="400" bgcolor="#000000" border="0"
                       cellpadding="5" cellspacing="1" align="center">
                                      <tr>
                                          <td bgcolor="#e7e7e7" align="center" valign="middle" colspan="2"><b>
                      Erzeugung eines Passwortes mit md5()</b></td>
                                      </tr>
                                      <tr>
                                          <td bgcolor="#e7e7e7" width="200">
                      Bitte Passwort eingeben</td>
                                          <td bgcolor="#ffffff" width="200">
                      <input type="password" name="passwort" size="20"></td>
                                      </tr>
                                      <tr>
                                          <td bgcolor="#e7e7e7" align="center"
                       valign="middle" colspan="2"><input type="submit" 
                      name="submit" value="Passwort (md5-verschl&uuml;sselt) 
                      erzeugen"></td>
                                      </tr>
                                      <tr>
                                          <td bgcolor="#e7e7e7" align="center"

                      valign="middle" colspan="2">&copy; 2003 by
                       <a href="mailto:andy@mg-umschulung.de"
                      >Andreas Zimare</a>
                      </td>

                                      </tr>
                                  </table>
                                  </form>
                              <?php
                              
                      }else{
                                  
                      $passwort md5($passwort); 
                      echo 
                      'Das mit md5() erzeugte Passwort lautet:
                      <br><br><b>'
                      .$passwort.'</b><br><br><a href="md5.php">Nochmal?</a>';
                              }
                              
                      ?>
                              </td>
                          </tr>
                      </table>

                      </body>
                      </html>
                      Zuletzt geändert von damilchmann; 15.04.2007, 03:04.

                      Kommentar


                      • #12
                        da mein mac gerade kaputt gegangen ist
                        OffTopic:
                        ???
                        error_reporting(E_ALL) und ein umstellen von register_globals sollten helfen.
                        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                        Kommentar


                        • #13
                          okay, danke. soweit und nach suchen und fummeln geht es irgendwie.

                          nun besteht doch aber nach neusten aussagen ein proglem mit

                          register_globals On bzw. mit der damit verbundenen fehlenden
                          sicherheit.

                          wie kann man das also lösen:

                          "konflikt md5 und register_globals Off" ???

                          ps. und das "mac" bezog sich nur auf teile von vorherigen beiträgen

                          thx
                          Zuletzt geändert von damilchmann; 15.04.2007, 04:55.

                          Kommentar


                          • #14
                            Original geschrieben von damilchmann
                            nun besteht doch aber nach neusten aussagen ein proglem mit

                            register_globals On bzw. mit der damit verbundenen fehlenden sicherheit.
                            Nach den "neuesten" Aussagen ...?
                            Oh man, das Thema hat einen Bart!
                            wie kann man das also lösen:

                            "konflikt md5 und register_globals Off" ???
                            MD5 hat damit absolut nichts zu tun.

                            Du solltest lernen, die Ursachen von Problemen von ihren Auswirkungen zu trennen - nur dann kann man auch vernünftig nach Lösungen suchen.

                            Und solche "Probleme" kann man statt durch ständiges Nachfragen wegen wirklich oller Kamellen vielleicht auch mal selber zu lösen versuchen - RTFM.

                            http://www.php.net/manual/de/security.globals.php
                            http://www.php.net/manual/de/languag...predefined.php
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              danke wahsaga für die links, leider ist es als anfänger so,
                              dass solche texte oft wieder mehr fragen aufwerfen, als
                              sie lösen.

                              man versteht eben den gesammtzusammenhang noch nicht und
                              kann deshalb auch noch nicht wirklich zwischen ursachen und
                              auswirkungen unterscheiden bzw. sie überblicken.

                              das schließt auch ein, dass man nicht weiss, wenn etwas ne alte
                              kamelle ist, sorry wenn ich dich damit belästige.

                              im normalfall ist es doch so, dass man sich nen buch zu php und
                              mysql schnappt das durchgeht und dann nen tutorial mit einfachen
                              anwendungen versucht praktisch umzusetzen um das ganze nach
                              und nach zu verstehen.
                              so habe ich es
                              gemacht, wenn dann jedoch etwas nicht funktioniert versteht
                              man nur bahnhof und ist aufgeschmissen, wenn man nicht gerade
                              nen privatlehrer hat. also muss man nachfragen, so primitiv dir die
                              fragen auch vorkommen mögen. ich weiss, ist auch ne alte kamelle
                              aber "jeder fängt mal an!" ich hoffe, du hast das trotz deiner zahlreichen beiträge nicht vergessen.

                              weiterhin dachte ich, dass solche foren dazu da sind, dass
                              leute die viel wissen leuten, die weniger wissen helfen
                              aber wie schon erwähnt kann man sich als anfänger nicht alles
                              aus texten erschließen, da probleme oft individuell sind und
                              nicht 100% zu dem text passen und dann ist man aufgeschmissen.

                              ich werde somit deine links aufmerksam studieren und bitte es
                              jedoch trotzdem zu entschuldigen, wenn ich hier weiterhin blöd
                              fragen werde.

                              ich hoffe dass das forum dies akzeptiert.

                              malzeit

                              ps. wenn ich auf meine frage über ein problem mit md5
                              eine antwort bekommen, ich solle mal das register_globals umstellen,
                              gehe ich davon aus, dass es auch was damit
                              zu tun hat. du schreibst nun wieder, dass es damit
                              absolut nichts zu tun hat.

                              tja, wie soll ich nun daraus schlau werden?

                              letztlich war es so, dass wenn ich r_g auf on stelle die
                              pw-abfrage funktionierte und bei off nicht. somit
                              scheint ja zumindest ein zusammenhang zu bestehen,
                              nur welcher oder wie ich das problem umgehen kann,
                              versuchte ich nun zu erfragen.

                              vielleicht ist es euch doch möglich, sich mal wieder ne stufe
                              niedriger auf ein kleineres niveau zu begeben, dass wird euch leichter fallen,
                              als dass ich mich auf eures begebe ohne
                              wirklich viel über das thema zu wissen.
                              Zuletzt geändert von damilchmann; 16.04.2007, 00:39.

                              Kommentar

                              Lädt...
                              X