2016-08-29 5 views
1

Ich habe ein Formular hier, dass ich versuche, auf meiner Startseite PHP-Datei für meine Wordpress-Site zu validieren, wenn ich auf submit klicken, bringt es mich zu einem Beitrag "Seite nicht gefunden "Warum verlässt es überhaupt die Seite? Ich bin mir nicht sicher, was mit meinem Code falsch ist, ich denke, der Submit-Button muss nicht stimmen, er sollte die Seite nicht verlassen.Implementieren PHP-Validierungsformular in Front-Page.php Wordpress

Vielleicht implementiere ich PHP-Code nicht den richtigen Weg. Das HTML-Formular steht am Anfang und der PHP-Code am Ende.

<form id="contact-form" method="post"> 
        <ul> 
         <li class="desc">Email</li> 

          <li><input placeholder="[email protected]" type="" name="email" id="form_email"> 
          <span><?php echo $email_error ?></span></li> 

         <li class="desc">First Name</li> 

          <li><input type="text" name="firstName" id="form_firstName" ><span><?php echo $firstName_error ?></span></li> 

         <li class="desc" >Last Name</li> 
          <li><input type="text" name="lastName" id="form_lastName"><span><?php echo $lastName_error ?></span></li> 

         <li class="desc">Company Name</li> 
          <li><input type="text" name="companyName" id="form_companyName"><span><?php echo $companyName_error ?></span></li> 

         <li class="desc">Phone</li> 
          <li><input type="integer" name="phone" id="form_phone"><span><?php echo $phone_error ?></span></li> 

         <li><button name="name" value="submit" type="submit"></button><!--<a href="" id="sub"><img src="images/downloadbutton.png"><input type="hidden" name="submit" value="submit"/></a>--></li> 

        </ul> 
       </form> 
       <?php 
      if(!empty($_POST['email']) && !empty($_POST['firstName']) && !empty($_POST['lastName']) && !empty($_POST['companyName']) && !empty($_POST['phone'])) { 
$email = $_POST['email']; 
$firstName = $_POST['firstName']; 
$lastName = $_POST['lastName']; 
$companyName = $_POST['companyName']; 
$phone = $_POST['phone']; 

if(strlen($email)<5) { 
    $email_error = '*'; 
} 
elseif (strlen($firstName)<1) { 
    $firstName_error = '*'; 
} 
elseif (strlen($lastName)<1) { 
    $lastName_error = '*'; 
} 
elseif (strlen($companyName)<1) { 
    $companyName_error = '*'; 
} 
elseif (strlen($phone)<10) { 
    $phone_error = '*'; 
} 
else{ 
    echo " <ul> 
      <li>email   : $email </li> 
      <li>First Name  : $firstName</li> 
      <li>Last Name  : $lastName</li> 
      <li>Company Name : $companyName</li> 
      <li>Phone   : $phone</li> 
      </ul> 
      "; 
} 
} 

else{ 
     $email_error = '*'; 
     $firstName_error = '*'; 
     $lastName_error = '*'; 
     $companyName_error = '*'; 
     $phone_error = '*'; 
} 
?> 

Antwort

0

können Sie versuchen, durch Aktionsformular wie

action='<?= get_permalink(page_id); ?>' 

page_id = Hinzufügen der Seite, die das Formular verarbeiten, kann seine gleichen Seite sein, wo Form anzeigt wird.

Thnx

+0

Vielen Dank für die Antwort. Muss ich die Seiten-ID in front-page.php ändern? –

+0

Ja, ändere es und es sollte funktionieren. – Subrata

+0

Wird 'action' [standardmäßig auf eine leere Zeichenfolge] gesetzt (http://stackoverflow.com/questions/9401521/is-action-really-required-on-forms) (die aktuelle Seite)? – showdev