PHP上的POST方法有时不起作用,发送字段为空


POST Method on PHP does not work sometimes and send field empty

我的PHP表单短代码是:

<form action="register.process.php" method="post">
<label for="code">Type</label><br/><select name="type"  style="width:265px;">
  <option value="ex" selected="selected">Exchange</option>
  <option value="computer">Computer</option>
  <option value="metal">Metal</option>
</select>
<label>Address</label><br/><input type="text" name="adr" />
<label>Phone</label><br/><input type="text" name="phn" />
<input type="submit" value="Submit" style="width:265px; height:30px;"/>
</form>

我的register.process.php是:

<?php
$type = $_POST['type'];
$adr = $_POST['adr'];
$phn = $_POST['phn'];
$subject = "new data : ".$type." | ".$phn;
if($type =="" || $phn="" || $$adr=""){
    header( "refresh:1;url=store.register.php?error=1");
    $write = 1;
}
if($write != 1){
$msg = '<p>Type : '.$type."<br/>Address : ".$adr."<br/>Phone : ".$phn."</p>";
$to = "register@xcodz.com";
$headers = "MIME-Version: 1.0" . "'r'n";
$headers .= "Content-type:text/html;charset=utf-8" . "'r'n";
$headers .= "From: xCodz Store Register <no-reply@xcodz.com>" . "'r'n";
mail($to,$subject,$msg,$headers);
echo 'Your data has been sent!';
}
?>

我为空或null数据设置了if条件,但空字段仍在传递此条件!将这些数据发送到邮件或保存在MySql中没有什么不同。通常ADR和PHN字段是空的,或者有时只有其中一个字段是空,但在80%的情况下,此代码工作正常!

这无论如何都不会奏效:

if($type =="" || $phn="" || $$adr=""){
                     ^--         ^---

您正在对两个指定的变量进行赋值,而不是相等性比较。请改用==。。。

同样,正如这里突出显示的颜色所示,代码的其余部分也有多个拼写错误。请注意mail()命令是红色的,这意味着它被解释为字符串。上面有一个或多个不匹配的引号。