对 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)感到沮丧

返回 Jquery 站点主页时无法访问脚本

对 Django 用户匹配查询不存在消息感到沮丧

用php表单处理信用卡

jquery引用错误和执行顺序?

jQuery 显示表单文本输入