2017-02-12 3 views
0

Ich versuche, ein Formular mit HTML und PHP zu erstellen, und ich bekomme diese Fehlermeldungen. Alles ist in einer PHP-Datei. Ich kann alles finden, was mit meinem Code nicht stimmt.PHP - Hinweis: Undefinierter Index auf Formular

Notice: Undefined index: number in C:\xampp\htdocs\sms\textmessage.php on line 41 
Notice: Undefined index: sender in C:\xampp\htdocs\sms\textmessage.php on line 42 
Notice: Undefined index: message in C:\xampp\htdocs\sms\textmessage.php on line 43 
Notice: Undefined index: send in C:\xampp\htdocs\sms\textmessage.php on line 51 

Formularcode: -

<form method="POST"> 

    <div class="form-group"> 
     <label for="number">Receiver's Number</label> 
     <input type="tel" name="number" class="form-control" placeholder="Mobile Number" value="<?php echo $number; ?>" /> 
    </div> 

    <div class="form-group"> 
     <label for="sender">Sender</label> 
     <input type="text" name="sender" class="form-control" placeholder="Sender's Name" value="<?php echo $from; ?>"> 
    </div> 

    <div class="form-group"> 
     <label for="message">Message</label> 
     <textarea class="form-control" name="message" placeholder="Enter your message here" value="<?php echo $message; ?>"></textarea> 
    </div> 

     <input type="submit" class="btn btn-success btn-lg" id="submitbtn" value="Send" name="send"/> 
    <input type="hidden" name="submitted" value="true"> 

</form> 

PHP-Code, wo ich den Fehler: -

//Get form data 
     $number = $_POST['number']; //Line 41 
     $from = $_POST['sender']; //Line 42 
     $message = $_POST['message']; //Line 43 
     $message = urlencode($message); //Test that the message is encoded correctly. Php will use urlencode the message 

     if ($_POST['send']) //Line 51 
     { 
      //Validating if the fields are empty 
      if ($number) 
      { 
       $error.="<br />Please enter the receiver's number!"; 
      } 
      if ($from) 
      { 
       $error.="<br />Please enter the Sender's name!"; 
      } 
      if ($message) 
      { 
       $error.="<br />Please enter the text message you want to send!"; 
      } 

Ist etwas nicht in Ordnung?

+0

Sehen '

' empfehlen Sie, Ihren gesamten Code in der gleichen Seite verwenden; HTML und PHP. Die Fehler/Hinweise sind hier offensichtlich. Wenn '' keine Aktion hat, wird "self" als "auf derselben Seite/Datei" angegeben. Sie haben unten zwei gute Antworten, akzeptieren Sie einen von ihnen, um diese Frage als gelöst zu markieren. –

Antwort

1

Wenn Sie diese PHP-Anwendung ausgeführt wird erstmals Es gibt nichts in $_POST[] das ist, warum es einen Fehler wie folgt gibt. (Weil wir das Formular senden müssen, um Werte im $_POST[] Array zu haben) müssen Sie es so mit isset() Funktion

definieren
if(isset($_POST['send'])){ 

    $number = $_POST['number']; //Line 41 
    $from = $_POST['sender']; //Line 42 
    $message = $_POST['message']; //Line 43 
    $message = urlencode($message); 

      //Validating if the fields are empty 
      if ($number) 
      { 
       $error.="<br />Please enter the receiver's number!"; 
      } 
      if ($from) 
      { 
       $error.="<br />Please enter the Sender's name!"; 
      } 
      if ($message) 
      { 
       $error.="<br />Please enter the text message you want to send!"; 
      } 
} 

Glücklich Coding :)

0

Sie überprüfen können, ist es zuerst Form in Ihrer PHP-Datei

if(isset($_POST['submitted'])){ 
// then your code here 
} 

oder mehrere ersten einreichen Scheck mehr post-Variable Check-in, wenn die Bedingung hinzuzufügen. wenn Gebrauch $ _POST Zustand ohne Postwert dann diese Warnung

zeigen wird, so ist dies Ihre letzte Code

<form method="POST"> 

        <div class="form-group"> 
         <label for="number">Receiver's Number</label> 
         <input type="tel" name="number" class="form-control" placeholder="Mobile Number" value="<?php echo $number; ?>" /> 
        </div> 

        <div class="form-group"> 
         <label for="sender">Sender</label> 
         <input type="text" name="sender" class="form-control" placeholder="Sender's Name" value="<?php echo $from; ?>"> 
        </div> 

        <div class="form-group"> 
         <label for="message">Message</label> 
         <textarea class="form-control" name="message" placeholder="Enter your message here" value="<?php echo $message; ?>"></textarea> 
        </div> 

         <input type="submit" class="btn btn-success btn-lg" id="submitbtn" value="Send" name="send"/> 
        <input type="hidden" name="submitted" value="true"> 



       </form> 

und PHP-Code

<?php 
    if(isset($_POST['submitted'])){ 
    $number = $_POST['number']; //Line 41 
    $from = $_POST['sender']; //Line 42 
    $message = $_POST['message']; //Line 43 
    $message = urlencode($message); //Test that the message is encoded correctly. Php will use urlencode the message 

    if ($_POST['send']) //Line 51 
    { 
     //Validating if the fields are empty 
     if ($number) 
     { 
      $error.="<br />Please enter the receiver's number!"; 
     } 
     if ($from) 
     { 
      $error.="<br />Please enter the Sender's name!"; 
     } 
     if ($message) 
     { 
      $error.="<br />Please enter the text message you want to send!"; 
     } 
    } 

} 

?> 
Verwandte Themen