2016-09-22 3 views
-2

私は2段階のフォームを持っています。 create.phpとcreate2.php。どちらのページもフォームです。最初の書式が満たされた後、ユーザーは「続行」を押して、第2の書式に進みます。ここでは、最初の書式の値を隠し入力に渡して格納します。 2番目のフォームを記入して送信した後、フォームの送信が成功し、すべてのデータをデータベースに挿入することを意味するポップアップウィンドウが必要です。すべてがうまくいっているように見えますが、すべてのデータはデータベースにありますが、ポップアップウィンドウが表示されません。隠された入力についての未定義のインデックス警告が表示されます。ここフォームを提出した後に未定義のインデックスが返される

OK]をクリックしてcreate.phpのコードです:

<form class="formcss" method="post" action="create2.php" id="reportform" enctype="multipart/form-data"> 

    <fieldset style="background-color:white;"> 
    <legend style="font-size: 20px;">New Project</legend> 
    <br> 
    <div class="row"> 
    <div class="small-8 large-8 columns"> 
     <label>Project Code: <small style="color:red;">*</small> 

     <input type="text" name="code" maxlength="155" id="code" class="input input1 name" onkeyup="limitTextCount('code', 'divcount0', 155, 0);" onkeydown="limitTextCount('code', 'divcount0', 155, 0);" <?php if (isset($code)) echo 'value="'.$code.'"' ?>/> 

     <label class="tool tool1" for="name" style="margin-top:-8px;">Code of the project</br>e.g. ASD001</label> 
     </label> 
    </div> 
    </div> 

    <div class="row"> 
    <div class="small-8 large-8 columns"> 
     <label>Project Name: <small style="color:red;">*</small> 

     <input type="text" name="title" maxlength="155" id="title" class="input input1 name" onkeyup="limitTextCount('title', 'divcount0', 155, 0);" onkeydown="limitTextCount('title', 'divcount0', 155, 0);" <?php if (isset($title)) echo 'value="'.$title.'"' ?>/> 

     <label class="tool tool1" for="name" style="margin-top:-8px;">Title of the project</br>e.g. Leon</label> 
     </label> 
    </div> 
    </div> 
    <div class="row"> 
     <div class="small-8 large-8 columns"> 
     <label>Process    
      <div class="multiselect">    
       <div class="selectBox">     
        <select onclick="showCheckboxes()" class="input input1 name"> 
         <option>-- Select an option --</option>   
        </select> 
        <div class="overSelect"></div> 
       </div> 
       <div class="scrollable" id="checkboxes">  
       <?php 
        while ($row = mysql_fetch_array($result)) 
        { 
         $row[0] = cleanOutputData($row[0]);        
       ?>  
        <div class="row"> 
         <div class="small-12 large-12 columns"> 
         <label style="height: 37px; width:80%; float:left;"> 
         <input type="checkbox" class="checkbox" style="margin-left:5%; width:15%;" name="process[]" id=<?php echo $row[0] ?> value=<?php echo $row[0]?> /><?php echo $row[0] ?> 
         </label> 
         <label style="width:40%; margin-left:60%;"><input type="text" class="field" disabled style="width:40%;" name="numberpl[]" id=<?php echo $row[0] ?> /> 
         </label>  
         </div> 
        </div> 
       <?php 
        } 
        mysql_free_result($result); 
       ?>   
       </div> 
      </div> 
     </label> 
     </div> 
    </div> 
    <div class="row"> 
    <div class="small-8 large-8 columns"> 
     <label>Comments 
       <textarea style="resize:none;" class="input input1 name" name="remark" rows="8" cols="50" maxlength="255" id="remark" onkeyup="limitTextCount('remark', 'divcount5', 255, 0);" onkeydown="limitTextCount('remark', 'divcount5', 255, 0);"><?php if (isset($remark)) echo $remark ?></textarea> 
      <label class="tool tool1" for="name" style="left:-140px;">Further comments</label> 
     </label> 
    </div> 
    <div class="small-6 large-6 columns"> 
     <label>&nbsp;<?php if (isset($remark)){ echo "<label id='divcount5'></label>"; echo "<script>limitTextCount('remark', 'divcount5', 255, 0);</script>";} else echo "<label id='divcount5'>255 characters remaining</label>";?></label> 
    </div> 
    </div> 

    <div class="row"> 
    <div class="small-8 large-8 columns"> 
     <input type = "submit" name ="submit" style="margin-left:600px; width:150px;" class="button" onclick="userSubmitted = true;" value = "Continue"/> 

    </div> 
    </div> 

    <br/><br/> 
    </fieldset> 
</form> 

そして、2番目のフォームcreate2.php用:ここ

<?php 
    session_start(); 
    //if user haven't sign in will redirect user to login page 
    if(empty($_SESSION['login_user'])){ 
     session_destroy(); 
     header("Location: login.php"); 
    } 
    $proc = isset($_POST['process'])?$_POST['process']:''; 
    //$proc=$_POST['process']; 
    $len = count($proc); // getting length of ur array that u need to condition ur loop 

    $num = isset($_POST['numberpl'])?$_POST['numberpl']:''; 
    //$num=$_POST['numberpl']; 
    //$len2 = count($num); // getting length of ur array that u need to condition ur loop 
    include 'verification/verify_form_details2.php'; 
    require_once('inc/config.php'); 
    //include 'verification/verify_form_details.php'; 
    ob_start(); 

    $servername = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $dbname = "pp"; 

    // Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    // Check connection 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 
?> 

<form class="formcss" method="POST" name="checkoutForm" action="create2.php#err" id="reportform" enctype="multipart/form-data"> 
    <?php 
     $res = verifyFormFields(); 
    ?> 
<!-- hidden inputs from first form(create.php) --> 
    <input type="hidden" name="holdcode" value="<?php echo isset($_POST['code'])?$_POST['code']:'';?>"> 
    <input type="hidden" name="holdtitle" value="<?php echo isset($_POST['title'])?$_POST['title']:'';?>"> 

    <?php 
     //an array of inputs 
     for($y=0;$y<$len;$y++) 
     { 
    ?> 
      <input type='hidden' name='holdprocess[]' value="<?php echo $proc[$y]?>"> 
      <input type='hidden' name='holdnumber[]' value="<?php echo $num[$y]?>">   
    <?php 
     } 
    ?> 
<!-- hidden inputs from first form(create.php) --> 
<br> 

    <fieldset style="background-color:white;"> 
     <legend style="font-size: 20px;">Add Stuff</legend> 
     <br><br><br> 
     <div class="small-3 large-3 columns"> 
     <label>Choose username</label> 
     <input placeholder="Search Me" id="box" type="text" /> 
     <div id="myAccordion"> 
     <?php for($i=321; $i<347; $i++) 
      { 
       echo "<h3>".chr($i)."</h3>"; 
       echo '<ul class="source">'; 
       $sql = "SELECT username FROM user WHERE username LIKE '".chr($i+32)."%' "; 
       $result = $conn->query($sql);  
       if ($result->num_rows > 0) 
       { 
        // output data of each row 
        while($row = $result->fetch_assoc()) 
        { 
         $name= $row["username"];  
         echo"<li>". $name ."</li>"; 
        } 
       } else 
       { 
        echo "0 results"; 
       }      
       echo '</ul>';     
      } 
     ?> 
     </div> 
     </div> 
     <div id="project" class="small-9 large-9 columns"> 
     <label style="font-size: 40px; margin-left:10%;">Project <?php echo isset($_POST['code'])?$_POST['code']:''; ?></label> 
     <div class="rowone"> 
      <div id="leader"> 
      <label>Leader:</label> 
       <div class="ui-widget-content"> 
       <div id="projLeader"> 
        <ol> 
         <li class="placeholder" name="leader" <?php if (isset($leader)) echo 'value="'.$leader.'"' ?>>Add leader here</li> 
         <input type="hidden" name="leader" id="hiddenListInput1" /> 
        </ol> 
       </div> 
       </div> 
      </div> 
      <div id="checker"> 
      <label>Checker:</label> 
       <div class="ui-widget-content"> 
       <div id="projChecker"> 
       <ol> 
        <li class="placeholder" name="checker" <?php if (isset($checker)) echo 'value="'.$checker.'"' ?>>Add checker here</li> 
        <input type="hidden" name="checker" id="hiddenListInput2" /> 
       </ol> 
       </div> 
       </div> 
      </div>     
      <div id="info"> 
      <label>Information:</label> 
       <div class="ui-widget-content"> 
       <ol> 
        <li>Total:</li> 
        <li>Total:</li> 
        <li>Total:</li> 
        <li>Total:</li> 
        <li>Total:</li> 
       </ol> 
       </div> 
      </div> 
     </div> 
     <div class="row"> 
      <input type = "submit" id="savebutton" style="margin-left:300px; width:150px;" name ="submit" class="button" value = "Create Project" onclick="userSubmitted = true;" /> 
     </div> 
     </div> 
    <div id="formModal" class="reveal-modal small" data-reveal aria-labelledby="modalTitle" aria-hidden="true" role="dialog" data-options="close_on_background_click:false"> 
     <h2 id="modalTitle">Success!</h2> 
     <div style="font-weight: 400;font-size: 1.5em; font-family: 'Raleway', Arial, sans-serif;">Your Accident Report was Successfully Submitted!</div> 
     <div class="right"> 
      <a href="#" id="closebtn" onclick="popUpNo()" class="button">Ok</a> 
     </div> 
    </div>   
     <?php  
      if($counta==1) 
      { 
       if($res=="") 
       { 
        $testing = JSON_encode($_SESSION['role']); 
        echo '<script>userSubmitted = true;</script>'; 
        insertRecord(); 
        echo "<script type ='text/javascript'>callShowAlert();</script>"; 
       } 
       else{ 
        echo " 
          <br><br><a style='color:red';> 
           $res 
          </a> 
         "; 
       } 
      } 
     ?>   
     <script>var testing = JSON.parse('<?= $testing; ?>');</script>   
    </fieldset> 
</form> 

は、私は2番目のフォームを提出した後に得たものである:

通知

未定義のインデックス:Cでのプロセス:\ xamppの\ htdocsに\プロジェクト\ 1ver \ create2.php ライン上の9

お知らせ

未定義のインデックス:Cでnumberpl:\ xamppの\ htdocsに\プロジェクト\ 1ver \ create2.phpライン12上の

お知らせ

未定義のインデックス: Cのコード:\ xamppの\ htdocsに\プロジェクト\ 1ver \ create2.phpライン上

お知らせ

未定義のインデックス: Cでのタイトル:\ xamppの\ htdocsに\プロジェクト\ 1ver \ create2.phpライン257上

お知らせ

未定義のインデックス:Cでのタイトル:\ XAMPPの\のhtdoc s \ Projects \ 1ver \ create2.php on line 302

私は別のPHPページを使用してデータベースにデータを挿入しています。私はちょうど問題になることはありません。助けをありがとう

+0

はCreate.phpまたはcreate2.phpで書かれたこのコードですか?両方のファイルのコードを共有してください。 –

+0

@AJ編集済み投稿を表示 –

+0

編集ありがとうございます。しかし、あなたはcreate2.phpの完全なコードを提供していませんでした。しかし、私は何かをエコーする前に条件を使用しなければならないと言っています。私は答えを投稿しています、それが役立つかどうかを見てください。 –

答えて

0

POST配列は初めて利用できません。したがって、このエラーが発生しています。これらのポスト変数を実際に使用する必要がある場合は、このようなエラーを避けるために条件を適用する必要があります。

私はここで1つ追加しています、あなたは残りのために同じことをすることができます。

はこれを試してみてください:

<?php echo isset($_POST['code'])?$_POST['code']:''; ?> 
+0

ありがとう、私はそれを試して、私のコードを編集しました。 521行目と522行目の\ 1ver \ create2.phpこれは521行目と522行目です:echo "Process:"。 "$ proc [$ y]"; "; echo "必要な人数:"。 "$ num [$ y]"。 "; –

+0

はい、それはもう現れません –

+0

私は各変数に対して 'isset'を行いました。このエラーが発生しても、編集した投稿を表示できます。 –

関連する問題