作者bingoton (忍不住一起唱 好听~)
看板PHP
标题[请益] firefox vs IE 资料写入资料库问题
时间Wed Jun 11 15:59:17 2008
请问
为什麽我在IE填写问卷可以将资料写入资料库,
但是在firefox却无法写入呢?
是否要有设定上的问题?
还是我本身程式码要做修正呢?
谢谢!
sorry~
补上一些遇到的问题,
我测试结果,发现参数传递是ok的
另外也能够从资料库里头拿出资料显示在网页上,
所以就是写入资料库的地方有问题,
以下是我的程式码片段:
echo $_SESSION['bbb'];//测式结果确实为 0
if($_SESSION['bbb']==0) // 自己加的判断式
{
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "fill_form"))
{
$bbb=1;
echo $bbb; //这里就echo 不出来
$insertSQL = sprintf("INSERT INTO questionnaire (mt_id, name, email, Area, School_name, q03, q04, q04etc, q05, q06, q07_a, q07_b, q07_c, q07_d, q07_e, q08, q08etc, q09, q09yes, q10, q11, q12, q13a, q13b, q13c, q14_a, q14_b, q14_c, bbb) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_SESSION['mt_id'], "text"),
GetSQLValueString($_POST['who_are_name'], "text"),
GetSQLValueString($_POST['who_are_email'], "text"),
GetSQLValueString($_POST['who_are_u3'], "text"),
GetSQLValueString($_POST['who_are_u34'], "text"),
GetSQLValueString($_POST['q03'], "int"),
GetSQLValueString($_POST['q04'], "int"),
GetSQLValueString($_POST['q04etc'], "text"),
GetSQLValueString($_POST['q05'], "text"),
GetSQLValueString($_POST['q06'], "int"),
GetSQLValueString($_POST['q07_a'], "int"),
GetSQLValueString($_POST['q07_b'], "text"),
GetSQLValueString($_POST['q07_c'], "text"),
GetSQLValueString($_POST['q07_d'], "int"),
GetSQLValueString($_POST['q07_e'], "int"),
GetSQLValueString($_POST['q08'], "int"),
GetSQLValueString($_POST['q08etc'], "text"),
GetSQLValueString($_POST['q09'], "int"),
GetSQLValueString($_POST['q09yes'], "text"),
GetSQLValueString($_POST['q10'], "int"),
GetSQLValueString($_POST['q11'], "int"),
GetSQLValueString($_POST['q12'], "int"),
GetSQLValueString($_POST['q13a'], "int"),
GetSQLValueString($_POST['q13b'], "int"),
GetSQLValueString($_POST['q13c'], "int"),
GetSQLValueString($_POST['q14_a'], "text"),
GetSQLValueString($_POST['q14_b'], "text"),
GetSQLValueString($_POST['q14_c'], "text"),
GetSQLValueString($bbb, "text"));
mysql_select_db($database_intel, $intel);
$Result1 = mysql_query($insertSQL, $intel) or die(mysql_error());
$insertGoTo = "test2.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
}
最後的结果是没有写入资料库
但若把判断式拿掉
变成
if($_SESSION['bbb']==0) // 自己加的判断式
{
$bbb=1;
echo $bbb;//这边就echo 得出来
$insertSQL = sprintf("INSERT INTO questionnaire (mt_id, name, email, Area, School_name, q03, q04, q04etc, q05, q06, q07_a, q07_b, q07_c, q07_d, q07_e, q08, q08etc, q09, q09yes, q10, q11, q12, q13a, q13b, q13c, q14_a, q14_b, q14_c, bbb) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_SESSION['mt_id'], "text"),
GetSQLValueString($_POST['who_are_name'], "text"),
GetSQLValueString($_POST['who_are_email'], "text"),
GetSQLValueString($_POST['who_are_u3'], "text"),
GetSQLValueString($_POST['who_are_u34'], "text"),
GetSQLValueString($_POST['q03'], "int"),
GetSQLValueString($_POST['q04'], "int"),
GetSQLValueString($_POST['q04etc'], "text"),
GetSQLValueString($_POST['q05'], "text"),
GetSQLValueString($_POST['q06'], "int"),
GetSQLValueString($_POST['q07_a'], "int"),
GetSQLValueString($_POST['q07_b'], "text"),
GetSQLValueString($_POST['q07_c'], "text"),
GetSQLValueString($_POST['q07_d'], "int"),
GetSQLValueString($_POST['q07_e'], "int"),
GetSQLValueString($_POST['q08'], "int"),
GetSQLValueString($_POST['q08etc'], "text"),
GetSQLValueString($_POST['q09'], "int"),
GetSQLValueString($_POST['q09yes'], "text"),
GetSQLValueString($_POST['q10'], "int"),
GetSQLValueString($_POST['q11'], "int"),
GetSQLValueString($_POST['q12'], "int"),
GetSQLValueString($_POST['q13a'], "int"),
GetSQLValueString($_POST['q13b'], "int"),
GetSQLValueString($_POST['q13c'], "int"),
GetSQLValueString($_POST['q14_a'], "text"),
GetSQLValueString($_POST['q14_b'], "text"),
GetSQLValueString($_POST['q14_c'], "text"),
GetSQLValueString($bbb, "text"));
mysql_select_db($database_intel, $intel);
$Result1 = mysql_query($insertSQL, $intel) or die(mysql_error());
$insertGoTo = "test2.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
则有写入动作,但值都为NULL
以上是我想请问,所遇到的问题,
谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.122.193.222
1F:→ kylekai:什麽都没写清楚, 是要其他人问神吗?... 06/11 17:12
※ 编辑: bingoton 来自: 140.122.193.222 (06/11 17:33)
2F:推 del680202:刚刚问妈祖 他给我笑龟 说你六根不清静 所以上不去 06/11 17:34
※ 编辑: bingoton 来自: 140.122.193.222 (06/11 17:40)
3F:→ del680202:或许 你在判断式那边就不过关了 你要不要先检查你判断式 06/11 17:41
4F:→ del680202:$_POST["MM_insert"] 东西对不对 06/11 17:42
5F:→ bingoton:嗯嗯 或许是这边出了错 好我试试看 谢谢:) 06/11 17:46
6F:→ bingoton:还是不行...为什麽IE可以 firefox就不行呢 ~"~ 06/11 18:12
7F:推 JoeHorn:浏览器的差异不会影响程式码,有问题的是你的 javascript 06/11 19:04
8F:推 Anching:$_POST["MM_insert"]真的是"fill_form", 06/11 19:04
9F:→ Anching:不是"fill form"? 06/11 19:05
10F:→ bingoton:但我把java的程式码全部去掉 还是一样问题 ~"~ 06/12 17:04