0
$name = trim(&$_POST['name']);

この方法でトリミングが機能しないのはなぜですか?私はチュートリアルに従っていましたが、その前に & 記号を付けましたが、それが何のためにあるのかわかりませんでした.. $name = ;$_POST['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']);

ajax データに 1 つの値が返されません

ここに私の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!');
                }
            }
        });
    }
});
4

5 に答える 5

0

を使用する場合 $("form").serialize()、次のような形式で文字列を作成します。

a=1&b=2&c=3&d=4&e=5&name=some_name

したがってname、PHP 側に入るには、次のようにする必要があります。

$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'];
于 2013-09-13T02:55:29.243 に答える
0

$name = trim($_POST['name']); を使用したときに発生したエラーは何ですか?

構文は完璧です。

于 2013-09-13T02:39:32.633 に答える
0

isset()エラーを回避するために、常に最初に使用することをお勧めします。

$name = isset($_POST['name']) ? trim($_POST['name']) : 'Some other value';

$_POST['name'] 個人的には、エラーが発生したとき、特にが設定されている場合は、ちょっと不自由だと思います。しかし、何でも。;)

于 2013-09-13T02:39:43.287 に答える
0

PHPの&は、参照によって関数に渡される引数用であるため、渡される値は関数の外部で次のように変化します。

$whatever = 0;
function referWhat(&$arg){
  $arg = 10;
}
referWhat($whatever);

$whatever === 10

于 2013-09-13T02:43:21.853 に答える
0

empty() で変数が設定されているかどうかを確認してください

$name = empty($_POST['name'])? '何らかの値': トリム (&$_POST['名前']);

于 2013-09-13T02:43:53.333 に答える