首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql的php表单问题

mysql的php表单问题
EN

Stack Overflow用户
提问于 2011-08-24 15:55:48
回答 3查看 136关注 0票数 0

我正在试着写一个小项目管理网页应用作为newby -我为此道歉,但我找不到任何接近…

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

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

我已经花了很多时间来解决这个问题,但现在是时候去问问知道答案的人了。

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

代码:

代码语言:javascript
复制
<form id="pdf" method="post">
New project name:<input type="text" name="pr-name" placeholder="new project name..."><br/>
New project end date:<input type="text" name="pr-end" placeholder="date..."><br/>

<textarea class="ckeditor" name="pagecontent"  id="pagecontent"></textarea>

<?php
    include_once "ckeditor/ckeditor.php";
    $CKEditor = new CKEditor();
    $CKEditor->basePath = 'ckeditor/';

   // Set global configuration (will be used by all instances of CKEditor).
   $CKEditor->config['width'] = 600;   
    // Change default textarea attributes
   $CKEditor->textareaAttributes = array(“cols” => 80, “rows” => 10);

   $CKEditor->replace("pagecontent");


$sbmt_caption = "continue ->";
if ($_POST["submit_name"]==$sbmt_caption)
{ 
  $prname = mysql_real_escape_string ($_POST["pr-name"]);
  $prend = mysql_real_escape_string ($_POST["pr-end"]);
  $prmenu = "pdf";
  $prcontent = mysql_real_escape_string ($_POST["pagecontent"]);
  $sql = "INSERT INTO projects (pr-name,enddate, sel, content) VALUES('$prname','$prend', '$prmenu', '$prcontent')";

  $result = mysql_query($sql);
  if (!$result){
  echo mysql_error();
  }
}
?>

"/>

由于某种原因,这段带有mysql_query位的代码甚至不能正常工作。

有人能给我一些提示吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-24 16:05:44

四个建议:

  1. 使用检查查询是否成功并输出错误

$result = mysql_query($sql);if (!$result){ echo mysql_error();}

$stmt = $pdo->prepare("INSERT INTO projects (pr-name,enddate,sel,content) VALUES(?,?)");$stmt->execute(数组($prname,$prend,$prmenu,$prcontent))

  • Use $_POST而不是$_REQUEST.提交数组是根据variables_order php.ini指令从cookie、get、post和session构建而成,因此您可能只会获得您的值overwritten.

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

$sbmt_caption = "continue ->";if ($_POST"submit_name"==$sbmt_caption){ //您在此处进行处理}

票数 1
EN

Stack Overflow用户

发布于 2011-08-24 15:59:32

您需要给submit按钮一个" name“,并检查第二行代码中是否存在该名称,而不是"value”。

票数 0
EN

Stack Overflow用户

发布于 2011-08-24 16:13:14

首先,你应该有一个用javascript编写的客户端验证代码,用来验证客户端输入的输入是否有效,并且你可以在不向服务器发送请求的情况下阻止他。这减少了用户的等待时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7172189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档