【问题标题】:PHP script returning "undefined" on submitPHP脚本在提交时返回“未定义”
【发布时间】:2012-09-15 10:53:15
【问题描述】:

我正在构建一个小应用程序,它基本上是一个用 HTML 和 jQuery mobile 构建的表单,我已经将它部署到 Web 和我的 iOS 版本的应用程序,它就像一个魅力。但是现在当尝试在应用程序的 android 版本上进行部署时,我在提交时只是在屏幕上显示“未定义”,没有“未定义变量”或其他任何东西,只是“未定义”。

有人有解决这个问题的方法吗?我正在使用 PhoneGap 部署 HTML/CSS/JQuery

非常感谢您提供的任何帮助。

我在这里发布代码:

<?php


$con = mysql_connect("db-ip","username","password");
if (!$con)
  {
  die('errormessage: ' . mysql_error());
  }

mysql_select_db("dbname", $con);

$myusername=$_POST['username'];
$myusername = stripslashes($myusername);
$myusername = mysql_real_escape_string($myusername);
$sql2="SELECT * FROM users WHERE username='$myusername'";
$result=mysql_query($sql2);
$count=mysql_num_rows($result);

if (empty($myusername))
    {
        header('Location:error2.html');
        exit;   
    }

if($count==1)
    {
        $sql="INSERT INTO testresult(slider1, slider2, slider3, slider4, time, user) VALUES('$_POST[slider1]', '$_POST[slider2]', '$_POST[slider3]', '$_POST[slider4]', NOW(),'$myusername')";
    }
else    
    {
        header('Location:error.html');
        exit;
    }

if (!mysql_query($sql,$con))
  {
  die('errormessage:' . mysql_error());
  }

header('Location:done.html');
exit;

mysql_close($con);


?>

【问题讨论】:

  • 仅供参考,您需要阅读有关 SQL 注入和准备好的语句以避免它尽快。而stripslashes 仅在配置严重错误的服务器上是必需的 - 但它应该永远无条件使用。
  • 好的,谢谢你的提示,我会尽量避免这种情况,并阅读一下。

标签: php jquery html jquery-mobile


【解决方案1】:

如果错误只是undefined,则不可能是PHP引起的。在 JavaScript 中,undefined 表示您尝试使用的变量未定义。

另一个观察是 mysql_ 函数。您应该考虑改用 PDO。

来自 php.net:

不鼓励使用此扩展程序。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。另请参阅 MySQL:选择 API 指南和相关的常见问题解答以获取更多信息。此功能的替代方案包括:

这是关于以 mysql_ 开头的函数。

【讨论】:

  • @SimonRöstin 如果答案是正确的,请接受它作为答案。
猜你喜欢
  • 2014-08-23
  • 1970-01-01
  • 1970-01-01
  • 2021-10-14
  • 1970-01-01
  • 1970-01-01
  • 2020-06-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多