2016-05-18 9 views
1

Ich bin neu in PHP. Derzeit befolge ich das Tutorial auf dieser Website: tutoialspoint. Der Code ist auch auf dieser Website.PHP-Code zeigt auf der Webseite

Das Problem, mit dem ich konfrontiert bin, ist mit dem Aktionstag in Zeile 66. Ich erhalte zusätzliche Zeichen auf meiner Formularseite. Wenn ich das Formular abschicke, geht es auf die Seite "Nicht gefunden". form page submission page

Ich kann dieses Problem beheben durch Action-Tag leer lassen. Ich würde jedoch gerne wissen, warum dieser Fehler mit dem Standardcode passiert.

<html> 
    <head> 
     <style> 
     .error {color: #FF0000;} 
     </style> 
    </head> 

    <body> 
     <?php 
     // define variables and set to empty values 
     $nameErr = $emailErr = $genderErr = $websiteErr = ""; 
     $name = $email = $gender = $comment = $website = ""; 

     if ($_SERVER["REQUEST_METHOD"] == "POST") { 
      if (empty($_POST["name"])) { 
       $nameErr = "Name is required"; 
      }else { 
       $name = test_input($_POST["name"]); 
      } 

      if (empty($_POST["email"])) { 
       $emailErr = "Email is required"; 
      }else { 
       $email = test_input($_POST["email"]); 

       // check if e-mail address is well-formed 
       if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { 
        $emailErr = "Invalid email format"; 
       } 
      } 

      if (empty($_POST["website"])) { 
       $website = ""; 
      } 
      else { 
       $website = test_input($_POST["website"]); 
      } 

      if (empty($_POST["comment"])) { 
       $comment = ""; 
      }else { 
       $comment = test_input($_POST["comment"]); 
      } 

      if (empty($_POST["gender"])) { 
       $genderErr = "Gender is required"; 
      }else { 
       $gender = test_input($_POST["gender"]); 
      } 
     } 

     function test_input($data) { 
      $data = trim($data); 
      $data = stripslashes($data); 
      $data = htmlspecialchars($data); 
      return $data; 
     } 
     ?> 

     <h2>Absolute classes registration</h2> 

     <p><span class = "error">* required field.</span></p> 

     <form method = "post" action = ">?php 
     echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
     <table> 
      <tr> 
       <td>Name:</td> 
       <td><input type = "text" name = "name"> 
        <span class = "error">* <?php echo $nameErr;?></span> 
       </td> 
      </tr> 

      <tr> 
       <td>E-mail: </td> 
       <td><input type = "text" name = "email"> 
        <span class = "error">* <?php echo $emailErr;?></span> 
       </td> 
      </tr> 

      <tr> 
       <td>Time:</td> 
       <td> <input type = "text" name = "website"> 
        <span class = "error"><?php echo $websiteErr;?></span> 
       </td> 
      </tr> 

      <tr> 
       <td>Classes:</td> 
       <td> <textarea name = "comment" rows = "5" cols = "40"></textarea></td> 
      </tr> 

      <tr> 
       <td>Gender:</td> 
       <td> 
        <input type = "radio" name = "gender" value = "female">Female 
        <input type = "radio" name = "gender" value = "male">Male 
        <span class = "error">* <?php echo $genderErr;?></span> 
       </td> 
      </tr> 

      <td> 
       <input type = "submit" name = "submit" value = "Submit"> 
      </td> 

     </table> 

     </form> 

     <?php 
     echo "<h2>Your given values are as:</h2>"; 
     echo $name; 
     echo "<br>"; 

     echo $email; 
     echo "<br>"; 

     echo $website; 
     echo "<br>"; 

     echo $comment; 
     echo "<br>"; 

     echo $gender; 
     ?> 

    </body> 
</html> 
+3

ändern aussehen sollte '>?' Auf '? php echo htmlspecialchars ($ _ SERVER [" PHP_SELF "]);?>"> ' – Thamilan

Antwort

3

dieser Code <form method = "post" action = ">?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

wäre

<form method = "post" action = "<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
1

Ihre Form wie dieses <form method = "post" action = "<?= htmlspecialchars($_SERVER["PHP_SELF"]) ?>">