$name = trim(&$_POST['name']);
为什么修剪这种方式不起作用?我正在关注一个教程,它放了&在$_POST['name']
之前签名我不知道那是什么..我在$ name = $_POST['name']
;
这是以下代码行
if($name && $email && $password && $cpassword){
mysql_connect("127.0.0.1","root","") or die("Fail to connect to database");
mysql_select_db("reglog");
mysql_query("INSERT INTO users(username,email,password) VALUES('$name','$email','$cpassword')");
echo 1;
}else{
echo "not allowed";
}
使用$name = trim(&$_POST['name']);
我没有得到1值返回我的ajax数据
这是我的js
$("#send").click(function(){
var all = $("form").serialize();
if(validateName() & validateEmail() & validatePass1() & validatePass2() == true){
$.ajax({
type: "post",
url: "insert.php",
data: all,
success: function(data){
if(data==1){
alert("success, you have registered");
}else{
alert('Validate your form with correct informations to proceed!');
}
}
});
}
});
答案 0 :(得分:0)
当你使用$ name = trim($ _ POST ['name'])时,你得到了什么错误;
语法很完美。
答案 1 :(得分:0)
最好先尝试使用isset()
来避免错误:
$name = isset($_POST['name']) ? trim($_POST['name']) : 'Some other value';
就我个人而言,当你收到错误时,我认为这有点蹩脚,特别是如果设置了$_POST['name']
。但是无所谓。 ;)
答案 2 :(得分:0)
PHP中的&
用于通过引用传递给函数的参数,以便传递的值在函数外部发生变化,如:
$whatever = 0;
function referWhat(&$arg){
$arg = 10;
}
referWhat($whatever);
现在$whatever === 10
。
答案 3 :(得分:0)
尝试使用empty()
检查变量集$ name = empty($ _ POST ['name'])? 'some value':trim(& $ _ POST ['name']);
答案 4 :(得分:0)
当您使用$("form").serialize()
时,您可以使用以下格式创建字符串:
a=1&b=2&c=3&d=4&e=5&name=some_name
因此,要在PHP方面获得name
,您需要执行以下操作:
$data = array();
parse_str($_POST, $data)
//do
print_r($data);// to see how you get the `POST` data
或使用$('form').serializeArray()
,例如
var all = $("form").serializeArray();
和PHP
$name = $_POST['name'];