Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 测验中未定义的索引_Php_Mysql - Fatal编程技术网

Php 测验中未定义的索引

Php 测验中未定义的索引,php,mysql,Php,Mysql,*它说未定义的索引和5次表示错误,但如果我点击正确的,它也会说5次。 * 这个程序是一个测验,在一个问题之后重复一个问题,如果它是错误的,他说是错误的,如果它是正确的,它说是正确的 <!DOCTYPE html> <html> <head> <title>Talenquiz2</title> </head> <body> <?php session_start(); if(isset($_SESSION[

*它说未定义的索引和5次表示错误,但如果我点击正确的,它也会说5次。 *

这个程序是一个测验,在一个问题之后重复一个问题,如果它是错误的,他说是错误的,如果它是正确的,它说是正确的

<!DOCTYPE html>
<html>
<head>
<title>Talenquiz2</title>
</head>
<body>
<?php

session_start();
if(isset($_SESSION["vraagnr"]))
{
  if (isset($_GET["controleer"]))
  {

    // The browser said that these 4 lines have an undefined index
    $vraag = $_GET["vraag"];
    $juistantwoord = $_GET["juistantwoord"];
    $foutantwoord1 = $_GET["foutantwoord1"];
    $foutantwoord2 = $_GET["foutantwoord2"];

    $con = mysql_connect("localhost","root","");
    mysql_select_db("dbproject", $con);
    $result = mysql_query("SELECT * FROM tblquizvragen");
    while($row = mysql_fetch_array($result))
    {

      // Here is the program checking wich checkbox is checked and which is not
      if (isset($_GET['ok']) && !isset($_GET['nee1']) && !isset($_GET['nee2']))
      {
        echo "Dit is Correct.";
      }
      else
      {
        echo "Dit is fout.";
      }
    }
    mysql_close($con);
    echo "\n<hr />\n";
  }
}
else
{
  $_SESSION["vraagnr"]=1; 
}

$con = mysql_connect("localhost","root","");
mysql_select_db("dbproject", $con);
$result = mysql_query("SELECT * FROM tblquizvragen WHERE id='". $_SESSION["vraagnr"] .   "';");
$row = mysql_fetch_array($result);
$vraag = $row['vraag'];
$juistantwoord = $row['juistantwoord'];
$foutantwoord1 = $row['foutantwoord1'];
$foutantwoord2 = $row['foutantwoord2'];

mysql_close($con);
?>
<form>

  <p><?php echo $vraag; ?></p>
  <input type="checkbox" name="juistantwoord" value="ok" /><?php echo $juistantwoord; ?><br />
  <input type="checkbox" name="foutantwoord1" value="nee1" /><?php echo $foutantwoord1; ?><br />
  <input type="checkbox" name="foutantwoord2" value="nee2" /><?php echo $foutantwoord2; ?><br />

  <input type="submit" value="Controleer je antwoord" name="controleer" />
</form>
</body>
</html>

塔伦奎兹2

你应该把
session_start()在任何输出之前,在文档的开头

你可以这样说:

<?php session_start(); ?>
<!DOCTYPE html>
<html>
<head>
<title>Talenquiz2</title>
</head>
<body>

<?php

if(isset($_SESSION["vraagnr"]))
{
   // etc..

塔伦奎兹2

尝试
$\u POST
而不是
$\u GET
,如果表单是通过POST提交的…

您正在使用
isset()
检查一些变量,但不是所有变量。当它们尚未设置时,您将得到警告,以更好地澄清您的代码,而且我看不到代码中未定义的行,例如:
$vraag=$\u get[“vraag”],如果可能的话,把我们能看到的所有代码都放进去(考虑使用)请把你得到的错误放在第15行注意:未定义索引:vraag在E:\xampp portable\htdocs\Valdrin\Projectegenles Maart\Testqv2.php中注意:未定义索引:Foutantword1在E:\xampp portable\htdocs\Valdrin\Projectegenles Maart\Testqv2.php在第17行注意:未定义索引:Foutantword2在第18行的E:\xampp-portable\htdocs\Valdrin\projecteignles-Maart\Testqv2.php Dit是fout.Dit是fout.Dit是fout.Dit是fout.Dit是fout。它错了5次,但我错了1次。我已经试了这么多,也想找到一个正确的答案,但我什么也没找到。@Pekka웃 检查我的编辑,但是它已经在OP的代码中了?是的,但是在输出之前应该在最顶端调用
session\u start()
函数,在这种情况下,输出是html标题内容
<!DOCTYPE html>等。
如果我这样做,它会说:警告:mysql_fetch_array()希望参数1是resource,布尔值在第46行的E:\xampp portable\htdocs\Valdrin\projectegenles Maart\Testqv2.php中给出,并且不会显示checkbox@Valdrin这可能是一个新问题。用于找出查询失败的原因我问过我的老师,他说不在乎。
$\u REQUEST
不在乎,
$\u GET
非常在乎。试试看,或者查一查——如果我使用它,它不会进入下一个问题,也不会给出未索引的索引。你认为这是一种逃避吗?是的,我认为是。未定义的索引基本上意味着你引用的东西不存在。。。不要忘记,在处理这个问题时,您可以将变量的内容任意输出到页面,以供检查。