2017-02-12 47 views
0

htmlとphpを使用してフォームを作成しようとしていますが、これらのエラーメッセージが表示されます。すべてが1つのPHPファイルにあります。私は自分のコードで間違っているものを見つけることができます。php - 通知:フォーム上の未定義インデックス

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 

フォームコード: -

<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コード: -

//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!"; 
      } 

は何も悪いことですか?

+0

コーディング<フォームメソッド=「POST」>'あなたは同じページであなたの全体のコードを使用している示唆しています。 HTMLとPHP。エラー/通知はここで明白です。 '

'にアクションがない場合、デフォルトでは "self"になり、 "同じページ/ファイル"になります。あなたは以下の2つの良い答えを持っています。 –

答えて

1

ある

が表示されます$_POST[]には何もないので、このようなエラーが出ます($_POST[]配列の値を持つフォームを提出する必要があるため)isset()関数

でこのように定義する必要があります
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!"; 
      } 
} 

ハッピー `見て:)

0

あなたはそれがフォーム最初

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

以上のチェックが条件の場合にはより多くのポスト変数のチェックを追加するには、PHPファイルで提出している最初の確認することができます。ポスト値のない時に使用する$ _POST条件この警告はあなたが初めてこのPHPアプリケーションを実行しているときに、これはあなたの最終的なコード

<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コード

<?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!"; 
     } 
    } 

} 

?> 
関連する問題