Ankündigung

Einklappen
Keine Ankündigung bisher.

input abfragen

Einklappen

Neue Werbung 2019

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

  • input abfragen

    Vorgeschichte: Ich erstelle eine Webseite für eine Schülerzeitung meiner Schule, dort sollen sich Mitglieder (Schreiber der Zeitung) Anmelden können (mit Benutzername + Passwort).
    Nach einigen googeln und recherchieren habe ich es hinbekommen diese loginseite zu erstellen, mit einer kleinen ausnahme.

    Frage: Ich verstehe nicht wie ich den gesendeten post über php abfragen kann.
    Es were sehr nett wen einer von euch mir einen passenden code dazu schreibt.

    Also ungefähr so: Wenn der Anmelden Button geklickt wird prüffe: Ist der Nutzername 'Mustermann, Max' wenn nicht mache den Benutzernamen rot und ist das Passwort 'musterpasswort' wenn nicht mache das Passwort rot, aber wenn beides richtig ist leite mich zum hauptverzeichnis (..).

    Ich paste euch den link zum code einfach mal rein: Klick Mich
    Der Hyperlink leitet auf https://hastebin.com/ekunopiziy.scala

    Ich danke für jede form der aufmerksamkeit, ihr würdet mir damit sehr helfen.

  • #2
    Zitat von DerKeksKlauer Beitrag anzeigen
    Frage: Ich verstehe nicht wie ich den gesendeten post über php abfragen kann.
    Steht alles in der superglobalen Variable $_POST. z.B. der Wert vom Feld mit dem Name 'xyz' steht dann in $_POST[ 'xyz' ]. Must Du aber vorher prüfen ob gesetzt!

    Wenn Du allerdings willst Das Dir jemand das in Deinen Code schreibt bist Du hier falsch. Hier im Forum gehts es nicht zuletzt darum sowas selbst zu machen.

    Kommentar


    • #3
      <?php
      if(isset($_POST['name']) and $_POST['password'] != '')){
      if($_POST['name']=='Mustermann, Max'){
      if($_POST['passwort']=='musterpasswort'){
      echo 'Richtig!';
      }else{
      echo 'Passwort falsch';
      }
      }else{
      echo 'Name falsch';
      }
      }
      ?>

      Ich habe es jetzt so, aber es funktioniert nicht?

      PS: Ich meinte nicht das man mir das ganze vorcoden soll sondern z.B ein Beispielcode sendet.

      Ich danke für jede form der aufmerksamkeit, ihr würdet mir sehr helfen.

      Kommentar


      • #4
        aber es funktioniert nicht
        Ja, und was genau? Lass dir alle Variablen mit var_dump() ausgeben und guck was drinsteht.

        Den Inhalt jeder Bedingung

        Code:
        if(foo == bar) // var_dump(foo == bar)
        kannst du auch in ein var_dump() packen, dann siehst du, ob du true oder false zurückbekommst.
        [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

        Kommentar


        • #5
          Bitte verwende die Code Tags, wenn du hier Code einfügen willst.
          Achte darauf dass dein Code richtig eingerückt ist.
          Und schalte die Fehlerausgabe ein(Error-Reporting)

          Dein Problem wird wohl etliche Male hier besprochen worden sein. Hast du schon die Forensuche bemüht?


          PHP-Code:
          <?php
          if( isset($_POST['name'], $_POST['password']) ){
              if( 
          $_POST['name'] == 'Mustermann, Max' ){
                  if( 
          $_POST['passwort'] == 'musterpasswort' ){
                      echo 
          'Richtig!';
                  }else{
                      echo 
          'Passwort falsch';
                  }
              }else{
                  echo 
          'Name falsch';
              }
          }
          ?>
          Und finde den Fehler selbst, das sind Schreibfehler, die du da eingebaut hast.

          Kommentar


          • #6
            Das verstehe ich nicht
            Von

            if(foo == bar) // var_dump(foo == bar)
            habe ich noch nichts gehört

            Kommentar


            • #7
              Forenregeln -> Lerne Grundlagen!

              Kommentar


              • #8
                Wie meinst du das mit einrückung?
                PHP-Code:
                    <?php
                        
                if($_POST['name']=='Mustermann, Max'){
                            if(
                $_POST['passwort']=='musterpasswort'){
                                
                var_dump()
                            }else{
                                echo 
                'Passwort falsch';
                            }
                        }else{
                            echo 
                'Name falsch';
                        }
                        }
                    
                ?>
                    <body>
                        <div class="loginBox">
                            <img src="img/user.png" class="user">
                            <h2>Mitglieder-Anmeldung</h2>
                            <form method="post">
                                <p>Name, Vorname</p>
                                <td colspan ="2"><input type="text" id="name" placeholder="Mustermann, Max" name ="name"</td>
                                <p>Passwort</p>
                                <td colspan ="2"><input type="password" id="password" placeholder="••••••••" name ="passwort"</td>
                                <input type="submit" id="abmelden" name="" value="Anmelden">
                                <input type="button" onClick="parent.location=('..')" id="startseite" name="" value="Zur Startseite">
                            </form>
                        </div>
                    </body>

                Kommentar


                • #9
                  Wie wärs wenn du für die Gesamtübersicht erstmal die Post_Variabelen benennst.

                  PHP-Code:
                  $name $_POST['name'];
                    
                  $passwort $_POST['passwort'];

                  //Wenn das Formular gesendet wurde:
                  if(isset($_POST['submit']))
                  //Wenn Felder nicht ausgefüllt sind
                            
                  if($name == "" || $passwort == "")){

                  //Fehler
                     
                  echo "Fehler:";

                   
                  //Ausgabe wenn kein Name angegeben
                                  
                  if($name == "") {
                    echo 
                  "Sie haben keinen Namen angegeben!<br />";                               }
                   
                  //Ausgabe wenn kein Passwort angegeben
                                  
                  if($passwort == "") {
                  echo 
                  "Sie haben keine Passwort angegeben!"<br />;
                                                     }


                                                  } else {

                  //hier prüfst du dann ob Benutzername vorhanden/Ob Benutzername und Passwort übereinstimmen



                  aber wenn du sich sich so wenig auskennst dann pack doch die Datei zum bearbeiten in ein extra Verzeichnis und Schütze das mit einer .htaccess über require only valid User und eine .htpasswd.

                  sorry wenn der Code ein wenig verrückt wurde, bin am handy

                  und var_dump kannst du dann über

                  PHP-Code:
                  var_dump($name)
                  var_dump($passwort
                  nutzen.

                  du kannst dir aber auch einfach ein Loginskript/Registrierungsskript basteln, super einfach erklärt:

                  https://www.php-einfach.de/experte/p...e/loginscript/

                  Kommentar


                  • #10
                    Ich habs etwas abgeändert aber es erscheint kein einziger echo


                    PHP-Code:
                    <!doctype html>
                    <html>
                        <head>
                            <title>Schülerzeitung Anmelden</title>
                            <meta charset="utf-8">
                        </head>
                        <?php
                            $identification 
                    $_POST['identification'];
                            
                    $password $_POST['password'];
                            if (isset(
                    $_POST['login'])) {
                                if(
                    $identification == "123" || $password == "123")){
                                    echo 
                    "richtig";
                                }else{
                                    echo 
                    "falsch";
                                }
                            }
                        
                    ?>
                        <body>
                            <div class="window">
                                <form name="login" method="post">
                                    <h1>Anmelden</h1>
                                    <h3>Identifikationsnummer</h3>
                                    <input type="text" name="identification" placeholder="Identifikationsnummer">
                                    <h3>Persönliches Passwort</h3>
                                    <input type="password" name="password" placeholder="••••••••••••">
                                    <input type="submit" name="login" value="Anmelden">
                                </form>
                            </div>
                        </body>
                    </html>

                    Kommentar


                    • #11
                      Es gibt ja auch kein Formularfeld mit dem namen "login".

                      Kommentar


                      • #12
                        Ja, dummer fehler da sollte ja eigentlich garkein name hin, ich habe den fehler jetzt behoben allerdings geht nichts.
                        Ich habe jetzt mal als so ne art DEBUG ein echo gesetzt an der stelle die ausgelöst wird wenn ich den submit button drücke, dadurch ist mir aufgefallen das nichtmal diese abfrage ausgelöst wird wenn ich den knopf drücke.

                        Aktueller Code:
                        PHP-Code:
                        <!doctype html>
                        <html>
                            <head>
                                <title>Schülerzeitung Anmelden</title>
                                <meta charset="utf-8">
                            </head>
                            <?php
                                $username 
                        $_POST['username'];
                                
                        $password $_POST['password'];
                                if (isset(
                        $_POST['login'])) {
                                    echo 
                        "TEST: gesendet!";
                                    if(
                        $username == "Mustermann, Max" && §password == "musterpasswort"){
                                        echo 
                        "richtig";
                                    }else{
                                        echo 
                        "falsch";
                                    }
                                }
                            
                        ?>
                            <body>
                                <div class="window">
                                    <form method="post">
                                        <h1>Anmelden</h1>
                                        <h3>Benutzername</h3>
                                        <input type="text" name="username" placeholder="Mustermann, Max">
                                        <h3>Passwort</h3>
                                        <input type="text" name="password" placeholder="••••••••">
                                        <input type="submit" name="login" value="Anmelden">
                                    </form>
                                </div>
                            </body>
                        </html>
                        Sorry habe mich noch nicht mit HTML/PHP auseinander gesetzt.

                        Kommentar


                        • #13
                          Zitat von DerKeksKlauer Beitrag anzeigen
                          Ich habe jetzt mal als so ne art DEBUG ein echo gesetzt an der stelle die ausgelöst wird wenn ich den submit button drücke, dadurch ist mir aufgefallen das nichtmal diese abfrage ausgelöst wird wenn ich den knopf drücke.
                          Bei mir schon. Offenbar ist dein Webserver kaputt.

                          §password ist übrigens Quatsch. Es muss $password heißen. Du solltest einen Editor verwenden, der dir solche Fehler gleich anzeigt.

                          Kommentar


                          • #14
                            Ich nutze XAMPP und habe einfach nur Apache angeschaltet alles in den htdocs ordner geschoben und bin auf http://localhost/ gegangen, aber das ist dann der grund für viele dinge die bei mir nicht laufen.

                            Hast du ne bessere variante für mich um das ganze lokal zu haben? (so das es funktiniert)
                            Ich würde mir ungern ein Server kaufen bevor es funktioniert.

                            Kommentar


                            • #15
                              Zitat von DerKeksKlauer Beitrag anzeigen
                              Ich nutze XAMPP und habe einfach nur Apache angeschaltet alles in den htdocs ordner geschoben und bin auf http://localhost/ gegangen, aber das ist dann der grund für viele dinge die bei mir nicht laufen.

                              Hast du ne bessere variante für mich um das ganze lokal zu haben? (so das es funktiniert)
                              Bei mir funktioniert das so.

                              Kommentar

                              Lädt...
                              X