首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我检查php $_POST变量时,它会自动清除。

问当我检查php $_POST变量时,它会自动清除。
EN

Stack Overflow用户
提问于 2012-01-25 02:37:22
回答 2查看 264关注 0票数 0

我有一个疯狂的问题,我就是解决不了。我的表单有两个字段和一个提交按钮。当我提交var并将其传递到$_POST中时…

代码语言:javascript
复制
print('<div class=error>');
print_r($_POST);
print('</div>');

这为我提供了两个字段,其中包含期望值以及submit按钮的值。

然而!当我添加以下代码行以便可以根据submit按钮进行处理时,它将清除所有数据。post数组显示为空。

代码语言:javascript
复制
if ($_POST['submit'] == 'Submit') {

这将清除数据。如果我将值从'Submit‘更改为其他值,变量仍然会显示在$_POST中,只是当我尝试检查它们时,它们会被清除。

你知道我哪里做错了吗?

表单如下:

代码语言:javascript
复制
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<?
  if (isset($msg)) {
    echo "$msg";
  }
?>
<input type=text  name='email'><br>
<br><input type=password name='password'>
<br>
<input type="submit" name="submit" value=Submit>
</form>

下面是处理代码:

代码语言:javascript
复制
if ($_POST['submit'] == 'Submit') {
echo "<div class=error>made it here</div>";
$u = $_POST['email'];
$p = $_POST['password'];
$auth = mysql_query("Select * from member where email='$u' and password='$p'");
$auth = mysql_fetch_array($auth);

if ($auth) {
    $pid = $auth[id];

    echo "aa";
    sess_register("sess_msg");
    $sess_msg = null;
    global $auth, $pid;
}
}

如果我在检查submit按钮是否具有与submit按钮的实际值不同的值时更改了该值,即'Submit‘-它将清除发送到$_POST的所有变量

EN

回答 2

Stack Overflow用户

发布于 2012-01-25 02:46:08

如果您想检查哪个提交按钮被单击了,您只需在数组$_POST中查找它的名称作为键。

所以你应该这样做:

代码语言:javascript
复制
if (array_key_exists('submit', $_POST)) {
    // your code
}

小建议:在将$_POST数据放入查询之前,最好对其进行转义!看看这个:http://php.net/manual/en/function.mysql-real-escape-string.php

票数 1
EN

Stack Overflow用户

发布于 2012-01-25 03:23:46

从你的帖子看,你的代码不应该清空$_POST数组。目前我能想到的唯一一件事是,也许在代码中,你实际上只放了一个'=‘符号。

​

代码语言:javascript
复制
var_dump( $_POST );

if ( isset( $_POST['submit'] ) ) {
    var_dump( $_POST );
    echo "<div class=error>made it here</div>";
    $u = $_POST['email'];
    $p = $_POST['password'];
   $auth = mysql_query("Select * from member where email='$u' and password='$p'");
   $auth = mysql_fetch_array($auth);

   if ($auth) {
       $pid = $auth[id];

       echo "aa";
       sess_register("sess_msg");
       $sess_msg = null;
       global $auth, $pid;
   }
}

var_dump( $_POST );

​

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

https://stackoverflow.com/questions/8992160

复制
相关文章

相似问题

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