对 PHP 表单感到沮丧 - jquery mobile
Posted
技术标签:
【中文标题】对 PHP 表单感到沮丧 - jquery mobile【英文标题】:Frustrated with PHP form - jquery mobile 【发布时间】:2013-06-06 14:29:24 【问题描述】:您好,我正在尝试解决一个问题 - 问题是我收到以下消息返回
注意:未定义索引:第 2 行 J:\DynanicWeb_SM\Easyphp-12.1\www\council\ratesform.php 中的用户名
注意:未定义索引:第 3 行 J:\DynanicWeb_SM\EasyPHP-12.1\www\council\ratesform.php 中的密码
注意:未定义索引:第 4 行 J:\DynanicWeb_SM\EasyPHP-12.1\www\council\ratesform.php 中的费率 再次欢迎两次当我提交如下表单时
function sanitizeString($var)
$var = htmlentities($var);
$var = strip_tags($var);
return $var;
function sanitizemysql($var)
$var = mysql_real_escape_string($var);
$var = sanitizeString($var);
return $var;
$con = mysql_connect("localhost","root","");
if (!$con)
die ("Could not connect: " . mysql_error());
else
mysql_select_db("council", $con);
$query = "SELECT `pid` FROM `payid` INNER JOIN `user` ON `user`.`uid` = `payid`.`uid` WHERE `user`.`username` = '". $username . "' AND `user`.`password` = '" . $pass ."'";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
if (isset($row))
echo "welcome $row $username $pass twice again";
if (!isset ($row)) echo "failure again";
mysql_close($con);
?>
据我了解,$row 已设置 - 因此“欢迎 ..”部分,但变量的其余部分没有回显。我正在使用 jQuery mobile 1.8.2 并且想知道这是问题所在还是我是哑@ss? 这是一个大学项目,现在没有时间沿着 mysqli 路线走——我只是想让项目完成,稍后再看看 PDO 等。感谢期待。
【问题讨论】:
您确定要以明文形式回显密码吗? (除了实际上像那样存储它)。你 var_dumped $username 和 $password 了吗?索引错误的数组在哪里?我也看不到 $rates。看起来你省略了相关部分 对不起第一部分是 好的,这意味着 $_POST 数组没有被填充......你应该在尝试访问它的索引之前确保它是 我不想回显结果,而是使用它插入单独的表中 - 回溯表明第一阶段存在错误,因此希望在继续插入之前解决该问题内连接等 POST 部分被替换为 get 并且我得到了以下 127.0.0.1/council/… 并且网页返回了通知:数组到字符串转换在 J:\DynanicWeb_SM\EasyPHP-12.1\www\council\ratesform。 php上线29欢迎Array再喝两次啤酒 【参考方案1】:由于这个问题可能与您有些相关,这里的事情是如何工作的 - 正如我所说,其他人发现我的问题主要是由于 _post 信息没有被传输到 $_post 变量 no编码错误,所以我将其更改为 $_REQUEST 和嘿 presto - 工作 - 简化:-)
<?php
$username = sanitizeMySQL($_REQUEST['username']);
$pass = sanitizeMySQL($_REQUEST['password']);
$rates = sanitizeMySQL($_REQUEST['rates']);
function sanitizeString($var)
$var = htmlentities($var);
$var = strip_tags($var);
return $var;
function sanitizeMySQL($var)
$var = mysql_real_escape_string($var);
$var = sanitizeString($var);
return $var;
$con = mysql_connect("localhost","root","");
if (!$con)
die ("Could not connect: " . mysql_error());
else
mysql_select_db("council", $con);
$query = "SELECT * FROM `payid` INNER JOIN `user` ON `user`.`uid` = `payid`.`uid` WHERE `user`.`username` = '". $username . "' AND `user`.`password` = '" . $pass ."'";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
$pid = $row['pid'];
if (isset($result))
$result = mysql_query("INSERT INTO `fees` (rates, pid) VALUES ($rates, $pid)");
header ("Location: acc.html");
if (!isset ($result)) echo "failure again";
mysql_close($con);
?>
【讨论】:
以上是关于对 PHP 表单感到沮丧 - jquery mobile的主要内容,如果未能解决你的问题,请参考以下文章
对选择合适的 iOS Mobile Safari Web 开发工具(jQuery Mobile/Sencha Touch/etc)感到沮丧