mysql中的php表单问题

mysql中的php表单问题,php,mysql,html,forms,Php,Mysql,Html,Forms,我试图写一个小项目管理网络应用程序作为一个新手-我对此表示歉意,但我找不到任何近 所以我有x类型的项目,可以通过AJAX选择和加载 每种类型至少有2-3个步骤来完成它们,所以我需要更多的php页面 我花了很多时间去弄明白,但现在是时候去问一个知道答案的人了 问题:当用户按下提交按钮时,我需要检查所有输入框是否正确,然后保存到SQL表,然后移动到下一页,如果其中任何一个失败,我必须停止 代码: 新项目名称: 新项目结束日期: 您需要为提交按钮指定一个“名称”,并在第2行的第二个代码中检查该名称是

我试图写一个小项目管理网络应用程序作为一个新手-我对此表示歉意,但我找不到任何近

所以我有x类型的项目,可以通过AJAX选择和加载

每种类型至少有2-3个步骤来完成它们,所以我需要更多的php页面

我花了很多时间去弄明白,但现在是时候去问一个知道答案的人了

问题:当用户按下提交按钮时,我需要检查所有输入框是否正确,然后保存到SQL表,然后移动到下一页,如果其中任何一个失败,我必须停止

代码:


新项目名称:
新项目结束日期:

您需要为提交按钮指定一个“名称”,并在第2行的第二个代码中检查该名称是否存在,而不是“值”。

四个提示:

  • 检查您的查询是否成功,如果有输出错误,请使用

    $result = mysql_query($sql);
    if (!$result){
         echo mysql_error();
    }
    
  • 使用而不是直接将参数嵌入查询字符串

    $stmt = $pdo->prepare("INSERT INTO projects (pr-name,enddate, sel, content) VALUES(?,?,?,?)");
    $stmt->execute(array($prname,$prend, $prmenu, $prcontent))
    
  • 使用
    $\u POST
    而不是
    $\u REQUEST
    $\u REQUEST
    数组是根据
    variables\u order
    php.ini指令从cookie、get、post和session构建的,因此您可能只需要覆盖您的值

  • 您的提交按钮根本没有发布。因此,向它添加
    name
    属性,并在if语句中检查它。另外,不要只使用普通字符串
    continue->
    。将其存储在变量中并使用它

    $sbmt_caption = "continue ->";
    if ($_POST["submit_name"]==$sbmt_caption){
        //your processing here
    }
    
    <input id="submitButton" name="submit_name" type="submit" value="<?php echo $sbmt_caption?>"/>
    
    $sbmt_caption=“continue->”;
    如果($\u POST[“提交名称”]==$sbmt\u标题){
    //你在这里处理吗
    }
    
    首先,你应该有一个javascript客户端验证代码来验证客户端输入的输入是否有效,你可以在不向服务器发送请求的情况下阻止他。这减少了用户的等待时间。

    使用
    mysql\u error()
    从mysql获取错误消息。可能有帮助:您不应该使用“-”作为字段名,因为“-”符号具有数学功能。感谢您的评论,我已经给出了一个名称,但是如果($\u REQUEST[“submit”]==“continue->”)您能给我一个提示吗?请使用例如if(isset($\u REQUEST['submit']){},我应该在这里检查什么。另请参见php.net/isset。请看一下J0HN的答案;-)谢谢约翰,这太好了。我离解决方案越来越近了。我已经改变,现在我有一个SQL错误消息,这是好的!所以所有的数据都放在了正确的位置,但是这是一条消息,表明您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解使用near'-name、enddate、sel、content)值的正确语法('etwtr'、'2011-09-30'、'pdf'、'\r\n dfhftd'在第1行,您能看一下吗?我已经完成了列表中的1、3、4项。我不懂第2项。但我愿意学习:)我认为您必须用反勾来转义
    pr name
    列名:
    插入到项目中(`pr name`,enddate,sel,content)值(?,,,?)
    从第2个开始,是一个PHP的数据库抽象层,它提供了对PHP使用的几乎所有现代数据库的通用访问,包括MySQL。它支持面向对象的风格。准备好的语句本身是一个DB特性,它允许在单个计划阶段执行多个类似的查询,从而提高性能。此外,PHPDB驱动程序会自动执行任何转义/类型转换,因此被认为更安全、更健壮。关于准备好的报表有很多问题,请尝试搜索。谢谢John,我在表格中做了更改,因为我将经常使用它。:)现在它正在工作!!!!!!谢谢你,阿加尼,试着做一些,然后带着结果回来。谢谢你的提示。
    $sbmt_caption = "continue ->";
    if ($_POST["submit_name"]==$sbmt_caption){
        //your processing here
    }
    
    <input id="submitButton" name="submit_name" type="submit" value="<?php echo $sbmt_caption?>"/>