2017-02-28 1 views
0

を取っていないPHP URLパラメータエラーは、 "未定義のインデックス:tableNameのをCで: XAMPP htdocsにライン8上のオンラインテストの study_question1.php " 私はエラーを取得しています

私のURLは次のとおりです。 "http://localhost/online%20test/study_question1.php?tableName=computer_science"

これは、PHPコードは、私は、TABLE_NAME服用mはどこから

<?php 
     $connection = mysqli_connect('localhost','root','','userquestion') or die(mysqli_error($connection)); 

     if(isset($_POST['next'])){ 
      $table=$_POST['table_name']; 
      $query= "CREATE TABLE `userquestion`.`$table` (`id` INT(15) NOT NULL AUTO_INCREMENT , `question` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , `option1` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , `option2` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , `option3` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , `option4` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , `true_ans` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;"; 
      $data = mysqli_query($connection,$query); 
      header('Location: study_question1.php?table_name=' . $table); 

     } 


?> 

HTMLコードは、HTMLコードを以下のためである

<html> 

<link rel="stylesheet" type="text/css" href="style.css"> 
<head> 
<title>Online</title> 
</head> 
<body id="body-color"> 


<div id="Sign-Up"> 
<fieldset style="width:30%"> 
<legend>Online</legend> 
<table border="0"> 
<tr> 
<form method="POST" action="online.php"> 
<tr> 
<td>table</td> 
<td> <input type="text" name="table_name"></td> 
</td> 

</tr> 
<tr> 
<td><input id="button" type="submit" name="next" value="next"></td> 
</tr> 

</form> 
</table> 
</fieldset> 
</div> 

</body> 

私のPHPコードは、これは役立つはず

<?php 
$connection = mysqli_connect('localhost','root','','userquestion') or die(mysqli_error($connection)); 
if(isset($_POST['next'])) 
{ 
$table = $_GET['table_name']; 
$question = $_POST["question"]; 
$option1 = $_POST['option1']; 
$option2 = $_POST['option2']; 
$option3 = $_POST['option3']; 
    $option4 = $_POST['option4']; 
    $true_ans = $_POST['true_ans']; 
$query = "INSERT INTO `$table` (question,option1,option2,option3,option4,true_ans) VALUES ('$question','$option1','$option2','$option3','$option4','$true_ans')"; 
$data = mysqli_query($connection,$query); 

if($data) 
{ 
echo "ab dusra dal..."; 
} 
} 

?> 
+0

フォーム提出を行うコードを表示してください。 –

+0

'tableName' idを持つhtmlタグを投稿できますか? htmlタグにid "tableName"がないようです。 –

+0

行番号5のエラーが発生し、PHPコード全体がファイルstudy_question1.phpに書き込まれます –

答えて

0

です。 GETとPOSTは別の場所から来ています。 GETはURLからのもので、POSTはフォームからのものです。以下のコードはすべての不要なコードを削除しているので、答えはより透明です。

<?php 
if (isset($_POST['next'])) { 
    $table = $_POST['table_name']; 
    echo "You picked: " . $table . " in the form"; 
} else if (isset($_GET['table_name'])) { 
    $table = $_GET['table_name']; 
    echo "You picked: $table in the url"; 
} else { 
    echo "first call to page"; // you can delete this line after testing  
} 
?> 
<html> 
    <head> 
     <title>Online</title> 
    </head> 
    <body id="body-color"> 
     <div id="Sign-Up"> 
      <fieldset style="width:30%"> 
       <legend>Online</legend> 
       <form method="POST" action="online.php"> 
        <table border="0"> 
         <tr> 
         <tr> 
          <td>table</td> 
          <td> <input type="text" name="table_name"></td> 

         </tr> 
         <tr> 
          <td>&nbsp;</td> 
          <td><input id="button" type="submit" name="next" value="next"></td> 
         </tr> 

        </table> 
       </form> 
      </fieldset> 
     </div> 
    </body> 
</html> 

これは上記の質問のURLです。

http://localhost/online%20test/study_question1.php??table_name=fred

+0

同じエラーが発生します。このコードのファイル全体が[email protected]のあなたの電子メールIDを送ってくれれば全員があなたに助けてください。 –

+0

私はあなたに電子メールを送りました – geeves

関連する問題