在两个if语句中使用$_POST


Using $_POST in 2 if statements

我试图在2个不同的if语句中使用一个帖子。我想要实现的是,我想在mysql中插入3个值与post。

$action = $_POST['action'];
if($action == "checkCharacterName"){
      $username = $_POST['name'];
}

在这里得到字符名^然后在不同的动作中它会得到密码:

if($action == "registerUser"){
$password = $_POST['password'];
$qry = $db->prepare ( 'INSERT INTO user_data (id, username, password, gold)
                       VALUES (null, "'. $username .'","'. $password .'",      500)');
$qry->execute();

但是它显示了这个错误:

Undefined variable: username

帖子是通过swf发送的,所以我不能改变它,因为它不是我的swf

您在PHP中工作。这是一种无状态语言。这意味着每次你发布数据,整个脚本被执行,但没有变量被保存。有两种方法可以绕过这个问题。

  • 添加状态:将$username保存在$_SESSION对象或$_COOKIE对象中。
  • 工作无状态:只在一个POST中执行您的请求。(同时发送用户名和密码。

更多关于维护状态的信息在这里