2015-06-22 3 views
-4

Этот пример отлично подходит для меня, он делает то, что я хочу. 1.FilePhp isset &&! Empty dont work

<?xml version="1.0" encoding="utf-8"?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 

     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 
    <title>php test </title> 
</head> 

<body> 

    <?php 
    if (isset($_POST['go'])&& !empty($_POST['vorname'])){ 


     echo " ".$_POST["vorname"];  
     echo " ".$_POST["nachname"]; 

       } 
    else { ?> 
    <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"> 
     <input type="text" name="vorname" /> 
     <input type="text" name="nachname" /> 
     <input type="submit" name="go" /> 

    </form> 

    <?php } ?> 


</body> 


</html> 

Так я попробовал тот же синтаксис, на мой тестовый файл был я попробовать все новые PHP вещи, которые я учу атм. но его вообще не работает, независимо от того, установлен ли параметр «Vorname» или нет, он продолжает подавать и показывать код php. Но я хочу, чтобы, если var «Vorname» пуст, он должен снова показать мне формы.

второго файла

<div class="Mitte" style="text-align:left;" > 
    <?php 
     if(isset($_POST['Buchung'])&& !empty($_POST)) { 
    ?> 

    <h2> PhP Auswertung </h2> 
    <?php $Preis=0; 

     $Anrede=$_POST['Anrede']; 
     echo "Sehr geehreter ".$Anrede." "; 


     $titel=$_POST['Titel']; 
     echo "$titel"; 


     echo " ".$_POST['Vorname']; 


     echo ' '.$_POST['Nachname']; 
    ?> 
    <br /> 
    <br /> 

    <?php 
     echo "Ihre angegebene Adresse lautet: "; 
    ?> 
    <br /> 
    <?php 

     echo 'Die Strasse : '.$_POST['Strasse']; 
    ?> 
    <br /> 

    <?php 
     echo 'Die PLZ : '.$_POST['PLZ']; 
    ?> 
    <br /> 

    <?php 
     echo 'Der Ort : '.$_POST['Ort']; 
    ?> 



    <br /> 
    <br /> 


    <?php 
     echo 'Die E-mail Adresse : '.$_POST['E-mail']; 
    ?> 
    <br /> 
    <br /> 



    <?php 
     echo "Ihre Reise Informationen: "; 
    ?> 
    <br/> 
    <?php 
     $Reise=$_POST['Reiseart']; 
     echo "$Reise"; 
    ?> 
    <br /> 


    <?php 
     echo "Erwachsene und/oder Kinder ? <br>"; 
     foreach ($_POST["Reisende"] as $value) { 
     echo "$value<br>";    
          } 
    ?> 

    <br /> 

    <?php 
     echo "Gew&auml;hlte Extras: <br>"; 
     foreach ($_POST['extras'] as $extra) { 
     echo "$extra<br>"; 

     if ($extra=="Mietwagen"){ 
     $Preis=$Preis+200; 
    } 
     else if ($extra=="Versicherung"){ 
     $Preis=$Preis+100; 
    } 

     else if ($extra=="Allinkl"){ 
     $Preis=$Preis+750; 
    } 

     else if ($extra=="4Sterne upgrade"){ 
     $Preis=$Preis+1000; 
    } 



     else { 
      echo "Error Code 3000"; } 
          }//end foreach extras 

    ?> 

    <br /> 

    <?php 
     echo "Ihr gew&auml;hlter Flughafen ist: ".$_POST['Flughafen']; 
    ?> 

    <br /> 

    <?php 
     $check1=$_POST['Reiseart']; 
     $check2=$_POST['Flughafen']; 

     if ($check1=='pauschal'){ 
     $Preis=$Preis+525; } 

     else if ($check1=='stadt'){ 
     $Preis=$Preis+400;} 

     else if ($check1=='wanderung'){ 
     $Preis=$Preis+150;} 

     else { 
     $Preis=$Preis+300;} 


     if ($check2=='Frankfurt'){ 
     $Preis=$Preis+100; } 

     else if ($check2=='Bonn'){ 
     $Preis=$Preis+50;} 

     else { 
     $Preis=$Preis;} 

     echo "Der Preis betr&auml;gt : $Preis"; 
    ?> 

    <?php 
     } else {   //Ende if isset start of else Html part 

    ?> 
    <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"> 

     <table cellpadding="0" border="0"> 
      <tr> 
       <td> <h1>Adresse </h1> </td> 
      </tr> 

      <tr> 
       <td>Anrede:</td> 
       <td> <select style="margin-left:20px" name="Anrede" size="1" > 
        <option value="Frau">Frau</option> 
        <option value="Herr">Herr</option> 
        </select> 
       </td> 
      </tr> 

      <tr> 
       <td>Titel:</td> 
       <td> <select style="margin-left:20px" name="Titel" size="1" > 
        <option></option> 
        <option>Dr.</option> 
        <option>Prof.</option> 
        </select> 
       </td> 
      </tr> 

      <tr> 
       <td>Vorname:</td> 
       <td> 
       <input type="text" style="background-color:#EFFBF5; margin-left:20px;" name="Vorname" /> 
       </td> 
      </tr> 

      <tr> 
       <td>Nachname:</td> 
       <td> 
       <input type="text" style="background-color:#EFFBF5; margin-left:20px;" name="Nachname" /> 
       </td> 
      </tr> 

      <tr> 
       <td>Strasse:</td> 
       <td> 
       <input type="text" style="background-color:#EFFBF5; margin-left:20px;" name="Strasse" /> 
       </td> 
      </tr> 

      <tr> 
       <td>PLZ:</td> 
       <td> 
       <input type="text" style="background-color:#EFFBF5; margin-left:20px;" name="PLZ" /> 
       </td> 
      </tr> 

      <tr> 
       <td>Ort:</td> 
       <td> 
       <input type="text" style="background-color:#EFFBF5; margin-left:20px;" name="Ort" /> 
       </td> 
      </tr> 

      <tr> 
       <td>E-mail:</td> 
       <td> 
       <input type="text" style="background-color:#EFFBF5; margin-left:20px;" name="E-mail" /> 
       </td> 
      </tr> 
     </table> 

. 
. 
. 
. 
. 
. 
. 
. 


     <p style="align:center"> 
      <input type="submit" name="Buchung" value="Buchen"/> 
      <input type="reset" name="Abbrechen" value="Abbrechen"/> 
     </p> 
    </form> 

    <?php } ?> 

</div> 

Я просто разместил весь PHP-код и важную часть формы.

+1

'A! = A' есть ваш ответ. –

+1

@ Fred-ii- * есть ваш ответ *, нет, он здесь: http://stackoverflow.com/a/30980271/3933332 :) – Rizier123

+1

@ Rizier123 Aaahhh, хорошо, ты посмотришь, что ?! Я думаю, это пошло мне на ум ;-) –

ответ

3

У вас есть проблема с письмом, для многих из ваших атрибутов имени и POST-массивов.

Например: name="vorname" и $_POST['Vorname'] и в верхнем регистре "V".

Те чувствительны к регистру, и вам также нужно сделать то же самое для других.

Как я уже говорил в комментариях, A != a

FYI: != переводится как "не равно".


Добавить error reporting в верхней части файла (ов), который поможет найти ошибки.

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 

// rest of your code 

Sidenote: Сообщения об ошибках не должно быть сделано только в постановке, и никогда производства.

+0

Изменен теперь как для "vorname" – wonkas