Ankündigung

Einklappen
Keine Ankündigung bisher.

Formular wird nicht angezeigt... :/

Einklappen

Neue Werbung 2019

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

  • Formular wird nicht angezeigt... :/

    Hallo ihrs,

    als erstes möchte ich erwähnen, das ich sogut wie ein Blutiger anfänger in sache php bin.

    Ich versuche mich ständig zu erweitern und zu verbessern durch verschiedene Tutorials hier im i.net.

    Nun zu mein problem:

    Ich möchte ein register/login system proggen (nachmache von einem Tutorial) wodurch ich auch eigentlich schon so einiges gelernt habe.

    Nun bleibe ich aber bei einer sache hängen und zwar wird das Formular nicht richtig angezeigt.

    Ich poste am besten mal den ganzen Code und hoffe, das mir irgend einer helfen kann. Zudem wäre ich um hilfreiche ratschläge und Tips dankbar wie ich was besser machen könnte und vorallem warum damit ich es auch in Zukunft versteh =)

    Mit bestem dank ~ Shoutala

    PHP-Code:
    <!DOCTYPE html>
    <html>
    <head>

    </head>
    <body>
    <?php
    include("../../include/config.php");
    ?>
    <p style="margin:0px;" align="right"><a href="index.php?option=login">Einloggen -></a></p>
    <?php
    if(isset($_GET['action'])){
        switch(
    $_GET['action']){
            case 
    "register":
                
    // Auswertung Registrierung
                
    if(isset($_POST['name'])){
                    
    $name $_POST['name'];
                    if(
    strlen($name) >= 3){
                        
    $name_check true;
                    }else{
                        echo 
    "<span style='color:red;'>Der von dir angegebene User muss mindestens 3 Zeichen lang sein!></span>";
                    }
                }else{
                    echo 
    "<span style='color:red;'>Du hast kein User angegeben></span>";
                }
                
                if(isset(
    $_POST['email'])){
                    
    $email $_POST ['email'];
                    if(
    strlen($email) >=4){
                        
    $email_check true;
                    }else{
                    echo 
    "<span style='color:red;'>Deine Email-Adresse muss mindestens 4 ZEichen lang sein.></span>";
                }
                }else{
                    echo 
    "<span style='color:red;'>Du hast keine Email-Adresse angegeben.></span>";
                }
                    if(isset(
    $_POST['pw'])){
                    
    $pw $_POST['pw'];
                    if(
    strlen($pw) >=5){
                        
    $pw md5($pw);
                        
    $pw_check true;
                    }else{
                    echo 
    "<span style='color:red;'>Dein Passwort muss mindestens 5 Zeichen lang sein></span>";
                    }
                    if(
    $pw_check == true AND $name_check == true){
                        
    $content "INSERT INTO accounts(username,passwort,email) VALUES('$name','$pw','email')";
                        
    $mysql_input mysql_query($content);
                        if(
    $mysql_input == true){
                            echo 
    "<span style='color:green;'>Du hast dich erfolgreich Registriert></span>";
                        }else{
                            echo 
    "<span style='color:red;'>Bei deiner Registrierung trat ein fehler auf!></span>";
                        }
                    }
            break;
                echo 
    "Du wolltest dich einloggen kannst es aber nicht, weil es noch kein Formular dafür gibt";
        }

    ?>
    <form method="POST" action="index.php?action=register">

    <table>
    <tr>
        <td><input type="text" name="name"></td>
    </tr>
    <tr>
        <td><font size="2">Username<font color="FF0000">*</td>
    </tr>
    <tr>
        <td><input type="text" name="email"></td>
    </tr>
    <tr>
        <td><font size="2">Email-Adresse<font color="FF0000">*</td>
    </tr>
    <tr>
        <td><input type="password" name="pw"></td>
    </tr>
    <tr>
        <td><font size="2">Passwort<font color="FF0000">*</td>
    </tr>

    <tr>
     <td colspan ="2"><input type="submit" value="Registrieren" name="send"></td>
    </tr>
    </table>
    <tr>
    Angaben mit <font color="FF0000">*</font> müssen ausgefüllt werden!
    </tr>
    </form>
    <?php
    }
    }
    ?>
    </body>
    </html>

  • #2
    PHP-Code:
    if(isset($_GET['action'])) 
    würde ich mal setzen, dann gehts auch, oder das if vorher schliessen?
    jedenfalls komisches eva.

    Kommentar


    • #3
      Wo soll ich das am besten hinsetzen? bzw. Wo soll ich den if schilessen?

      Und was meinst du mit 'komisches eva'?

      Ist keine diskriminierung deiner seits ich möchte es ja halt nur verstehen und lernen ^^

      Kommentar


      • #4
        eva:

        http://www.php.de/wiki-php/index.php...rdverfahren%29

        immer gut:

        http://www.php.de/wiki-php/index.php/Debugging

        setzen ?

        ruf doch dein script mal mit dem argument register auf:
        ?action=register hintendran setzen....

        das if schliessen? wo du magst, echt.
        wo es dir sinn macht?

        naja jedenfalls würde ich den fall das action=register nicht gesetzt ist auch behandeln.
        beim ersten aufruf ist das meist so.

        Kommentar


        • #5
          Also ich hab mal für mich den Code richtig eingerückt:
          PHP-Code:
          <!DOCTYPE html>
          <html>
              <head>

              </head>
              <body>
                  <?php
                      
          include("../../include/config.php");
                  
          ?>
                  <p style="margin:0px;" align="right"><a href="index.php?option=login">Einloggen -></a></p>
                  <?php
                      
          if(isset($_GET['action'])) 
                      {
                          switch(
          $_GET['action']) 
                          {
                              case 
          "register":
                                  if(isset(
          $_POST['name'])) 
                                  {
                                      
          $name $_POST['name'];
                                      if(
          strlen($name) >= 3
                                      {
                                          
          $name_check true;
                                      } else 
                                      {
                                          echo 
          "<span style='color:red;'>Der von dir angegebene User muss mindestens 3 Zeichen lang sein!></span>";
                                      }
                                  } else 
                                  {
                                      echo 
          "<span style='color:red;'>Du hast kein User angegeben></span>";
                                  }
                                  
                                  if(isset(
          $_POST['email'])) 
                                  {
                                      
          $email $_POST ['email'];
                                      if(
          strlen($email) >=4
                                      {
                                          
          $email_check true;
                                      } else 
                                      {
                                          echo 
          "<span style='color:red;'>Deine Email-Adresse muss mindestens 4 ZEichen lang sein.></span>";
                                      }
                                  } else 
                                  {
                                      echo 
          "<span style='color:red;'>Du hast keine Email-Adresse angegeben.></span>";
                                  }
                                  
                                  if(isset(
          $_POST['pw']))
                                  {
                                      
          $pw $_POST['pw'];
                                      if(
          strlen($pw) >= 5)
                                      {
                                          
          $pw md5($pw);
                                          
          $pw_check true;
                                      } else 
                                      {
                                          echo 
          "<span style='color:red;'>Dein Passwort muss mindestens 5 Zeichen lang sein></span>";
                                      }
                                      if(
          $pw_check == true AND $name_check == true)
                                      {
                                          
          $content "INSERT INTO accounts(username,passwort,email) VALUES('$name','$pw','email')";
                                          
          $mysql_input mysql_query($content);
                                          if(
          $mysql_input == true
                                          {
                                              echo 
          "<span style='color:green;'>Du hast dich erfolgreich Registriert></span>";
                                          } else 
                                          {
                                              echo 
          "<span style='color:red;'>Bei deiner Registrierung trat ein fehler auf!></span>";
                                          }
                                      }
                                      break; 
          //Irgendwie komisch
                                      
          echo "Du wolltest dich einloggen kannst es aber nicht, weil es noch kein Formular dafür gibt";
                                  }

                  
          ?>
                      <form method="POST" action="index.php?action=register">
                          <table>
                              <tr>
                                  <td><input type="text" name="name"></td>
                              </tr>
                              <tr>
                                  <td><font size="2">Username<font color="FF0000">*</td>
                              </tr>
                              <tr>
                                  <td><input type="text" name="email"></td>
                              </tr>
                              <tr>
                                  <td><font size="2">Email-Adresse<font color="FF0000">*</td>
                              </tr>
                              <tr>
                                  <td><input type="password" name="pw"></td>
                              </tr>
                              <tr>
                                  <td><font size="2">Passwort<font color="FF0000">*</td>
                              </tr>

                              <tr>
                                  <td colspan ="2"><input type="submit" value="Registrieren" name="send"></td>
                              </tr>
                          </table>
                          <tr>
                              Angaben mit <font color="FF0000">*</font> müssen ausgefüllt werden!
                          </tr>
                      </form>
                  <?php
                          
          }
                      }
                  
          ?>
              </body>
          </html>
          So.
          Und jetzt was mir auffällt:
          1. Das letzte <tr>-Tag, also das mit "Angaben mit *...", steht außerhalb deiner Tabelle, ich weiß nicht ganz, was du damit beabsichtigst.
          2. Du machst ein switch-case-Konstrukt, hast aber nur einen Case, den du mitten drin mit break; abbrichst. Normalerweise setzt man break in einem Case ganz an das Ende, damit nicht, wenn ein Fall häufiger auftritt, mehrere Cases ausgeführt werden, bei dir steht break; mitten in einem if-else-Konstrukt. Vielleicht musst du das ändern, oder mir erklären, was du da machst.
          3. Ich persönlich bin der Überzeugung, dass es sich gut macht, auf Websites eine fehlerfreie Rechtschreibung zu haben, wenn du das veröffentlichst solltest du das noch ändern.

          Grüße,
          maxorxy

          Kommentar

          Lädt...
          X