0

私は単純に、テキスト ボックスからフィールドを読み込んで、値を ajax 経由で PHP に渡し、そのデータを mysql テーブルに保存しようとしています。テーブルはすでにセットアップされており、準備ができています。必要なのは、値を挿入することだけです。

ここに私のjsファイルがあります

    var address = $("input#email").val(); 
    //If submission is valid 
    if(submitForm == "true"){
        $.ajax({  
            url: "bin/process.php",  
            type: "POST",  
            data: {email: address},   
            success: function(response) {  
            $('#message').html(response); 
            }
        });  
        return false; 
    }

そして、私のPHPは次のよ​​うになります

    <?php

       function process($email){

        //Connect to the database  
        $con = mysql_connect('localhost', 'root', '') ; 
        if(!$con){ 
          retun mysql_error();  
        }

        //Insert Data into the Table
        $sql = 'INSERT INTO Users(email) VALUES ('$email')' ; 
        $query = mysql_query($sql, $con) 
        if(!$query){
          return mysql_error();
        }

        return "Thank you for your submission!"; 
       }

       echo process(trim($_POST['email']));
     ?>

現在、このエラーが発生しています

Parse error: syntax error, unexpected T_STRING /opt/lampp/htdocs/mysite/bin/process.php on line 3

したがって、アドレス値を正しく渡していないように見えますが、その理由はわかりません。参考までに、私はこの投稿の指示に従っていました: Jquery ajax call from javascript to PHP

最後のエコー行はよくわかりませんが、複数の方法を試しましたが、すべて同じエラーが発生しました。

前もって感謝します!

4

3 に答える 3

3

コードに 3 つのエラーが見つかりました

  1. retun mysql_error(); // return spelling wrong
  2. $sql = 'INSERT INTO Users(email) VALUES ('$email')' ; // syntax error
  3. $query = mysql_query($sql, $con); // semicolon missing

修正コードは…

<?php
       function process($email){

        //Connect to the database  
        $con = mysql_connect('localhost', 'root', '') ; 
        if(!$con){ 
          return mysql_error();  
        }

        //Insert Data into the Table
        $sql = "INSERT INTO Users(email) VALUES ('$email')" ; 
        $query = mysql_query($sql, $con);
        if(!$query){
          return mysql_error();
        }

        return "Thank you for your submission!"; 
       }

       echo process(trim($_POST['email']));
     ?>
于 2013-05-01T13:14:56.960 に答える