PHP脚本将文件标题为"未知"

时间:2014-05-11 22:49:40

标签: php

我正在编写一个脚本,用户从框中选择一个选项然后单击提交,他们的选择将写入MySQL数据库。但是,每当我尝试单击“提交”时,网址都会更改(例如:www.stackoverflow.com/questions到www.stackoverflow.com/questions/unknown)。我一直在寻找几个小时,似乎无法弄清楚为什么会这样。有没有人对这可能导致什么有任何建议?这是当有人点击提交按钮时应该运行的脚本。

if( $_POST )
{
$con = mysql_connect("localhost","username","password");

if (!$con)
{
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("db_name", $con);

$q1 = $_POST['q1'];
$q2 = $_POST['q2'];
$q3 = $_POST['q3'];
$q4 = $_POST['q4'];
$q5 = $_POST['q5'];
$q6 = $_POST['q6'];
$q7 = $_POST['q7'];
$q7 = $_POST['q7'];
$q8 = $_POST['q8'];
$qf1 = $_POST['qf1'];
$qf2 = $_POST['qf2'];
$qf3 = $_POST['qf3'];
$qf4 = $_POST['qf4'];
$s1 = $_POST['s1'];
$s2 = $_POST['s2'];
$final = $_POST['final'];
$fname = $_POST['fname'];
$lname = $_POST['lname'];


$q1 = mysql_real_escape_string($q1);
$q2 = mysql_real_escape_string($q2);
$q3 = mysql_real_escape_string($q3);
$q4 = mysql_real_escape_string($q4);
$q5 = mysql_real_escape_string($q5);
$q6 = mysql_real_escape_string($q6);
$q7 = mysql_real_escape_string($q7);
$q8 = mysql_real_escape_string($q8);
$qf1 = mysql_real_escape_string($qf1);
$qf2 = mysql_real_escape_string($qf2);
$qf3 = mysql_real_escape_string($qf3);
$qf4 = mysql_real_escape_string($qf4);
$s1 = mysql_real_escape_string($s1);
$s2 = mysql_real_escape_string($s2);
$final = mysql_real_escape_string($final);
$fname = mysql_real_escape_string($fname);
$lname = mysql_real_escape_string($lname);


  $query = "
 INSERT INTO `db_name`.`table_name` (`qualifier_1`, `qualifier_2`, `qualifier_3`, `qualifier_4`, `qualifier_5`, `qualifier_6`, `qualifier_7`, `qualifier_8`, `quarter_1`, `quarter_2`, `quarter_3`, `quarter_4`, `semi_1`, `semi_2`, 'final', 'first_name', 'last_name', 'TimeDate') VALUES ('$q1', '$q2', '$q3', '$q4', '$q5', '$q6', '$q7', '$q8', '$qf1', '$qf2', '$qf3', '$qf4', '$s1', '$s2', '$final', '$fname', '$lname', CURRENT_TIMESTAMP);";

mysql_query($query);

echo "<h2>Thank you for your Submission!</h2>";

mysql_close($con);
}

 ?>

1 个答案:

答案 0 :(得分:3)

当你在较旧的IE版本上运行时,你所看到的根本与PHP无关,而是JavaScript。在JavaScript中,如果连接一个未定义的变量,那么单词“undefined”就是字面上的连接,例如:

var mystring = "foo" + bar;

如果bar未定义,请将mystring设置为“fooundefined”。在IE7及更早版本中,它将变为“foounknown”。

必须有JavaScript设置表单的操作,所以这一切都发生在您发布的代码之外。检查MDN(https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form)以获取有关使用表单元素的详细信息。你的'动作'是用js设置的,或者是按钮的'形成'。检查该代码,您将看到导致此问题的未定义变量的某些串联。