这里一切正常,但我需要一个更短的方法,如果可能的话,只要您看到. 20项:
<input type='text' id='inputname' maxlength='50' placeholder='Name' required>
<input type='text' id='inputsname' maxlength='50' placeholder='Surname'>
... and so on... 20 fields.
<button id='btnregister'>Register</button>
javascript
$('#btnregister').click(function(){
var name = $('#inputname').val();
var sname = $('#inputsname').val();
... 20 items
$.ajax({
url: 'regpro.php',
type: 'post',
data: {
'name': name,
'sname': sname,
... 20 items
},
success: function(data) {
if (data == 'exists') {
alert ('name allready exists');
}
else if (data =='empty'){
alert ('something is missing');
}
else{
location.href = 'login.php?ref="reg"';
}
}
});
});
regpro.php
$_POST = array_map( 'stripslashes', $_POST );
extract($_POST);
try {
$stmt = $db->prepare('INSERT INTO members (name, sname... 20 items) VALUES (:name, :sname... 20 items)');
$stmt->execute(array(
":name" => $name,
":sname" => $sname,
... 20 items
));
}
catch(PDOException $e) {
echo $e->getMessage();
}
我知道,在javascript端提交经典表单而不是ajax过程将是一种更短的方式,但我希望在处理后保持输入的填充,以防出现问题,因此用户不能再次填充它们。
在php方面,也许有一种方式可以这样说:
foreach post variable - find corresponding column - and insert variable value
发布于 2017-01-09 06:34:06
您可以通过序列化数据来做到这一点。尝尝这个。
$('#btnregister').click(function(){
$.ajax({
url: 'regpro.php',
type: 'post',
data: $('#your-form-id').serialize(),
success: function(data) {
...
}
});
});
https://stackoverflow.com/questions/41542136
复制相似问题