2014-11-26 2 views
0

PHP 스크립트에 전달하지 :입력 내가 아래의 HTML 양식을 가지고

<section id="main" style="float: right; text-align: left; width: 83%;"> 
     <article> 
      <form> 
       <p>Name: <div><input id="name" type=text/></p></div><br \> 
       <p>Phone: <div><input id="phone" type=text/></p></div><br \> 
       <p>Address: <div><input id="address" type=text/></p></div><br \> 
       <p>Username: <div><input id="username" type=text/></p></div><br \> 
       <p>Password: <div><input id="password" type="password"/></p></div><br \> 
       <p>Email: <div><input id="email" type="text"/></p></div> 
       <div><input id="submitDB" type="submit" value="Register"/></div> 
      </form> 
      <script type="text/javascript"> 
         $('#submitDB').on('click', function() { 
          event.preventDefault(); 

          $.ajax({ 
           url: "registerDB.php", 
           data: { name: $('#name').val(), phone: $('#phone').val(), address: $('#address').val(), username: $('#username').val(), password: $('#password').val(), email: $('#email').val()}, 
           type: "POST" 
          }).done(function(data) { 
           if(data === "true"){ 
            alert(data); 
           } 
           else 
           { 
            alert(data); 
           } 
          }); 

         }); 
      </script> 
     </article> 
    </section> 

<?php 
     require_once("config.php"); 
     require_once("MysqliDb.php"); 

     $DB = new MysqliDb($DBCREDS['HOSTNAME'], $DBCREDS['USERNAME'], $DBCREDS['PASSWORD'], $DBCREDS['DATABASE']); 

     $name = $_POST["name"]; 
     $phone = $_POST['phone']; 
     $address = $_POST['address']; 
     $username = $_POST['username']; 
     $password = $_POST['password']; 
     $email = $_POST['email']; 



     $data = Array ("name" => $name, 
         "phone" => $phone, 
         "address" => $address, 
         "email" => $email, 
        ); 

     var_dump($data); 
     if($DB->insert('member', $data)) 
     { 
       $user = Array ( 
         "username" => $username, 
         "password" => $password, 
         ); 

         var_dump($user); 
         die(); 
      if($DB->insert('member_login', $user)) 
      { 
       echo "You are now registered!"; 
      } 
     } 
     else 
     { 
      echo "Please Fill All Data And Resubmit"; 
     } 





    ?> 

그러나 사용자 이름이 포함 된 "registerDB.php"파일을 입력을 입력하고 호출해야이 양식 및 암호 변수가 전달되지 않습니다. 내가 여기서 누락 된 것이 있습니까? 이것은 슈퍼 "안전"하지 않아도됩니다. 저는 System Analysis 클래스 용 프로젝트를 진행하고 있으며 기본적으로 프레젠테이션을위한 웹 사이트를 만드는 중입니다.

답변

2

name 속성을 input에 추가해야합니다. 예를 들면 :

<form id="myForm"> 
    <p>Name: <div><input id="name" name="name" type=text/></p></div><br \> 
    <p>Phone: <div><input id="phone" name="phone" type=text/></p></div><br \> 
    <p>Address: <div><input id="address" name="address" type=text/></p></div><br \> 
    <p>Username: <div><input id="username" name="username" type=text/></p></div><br \> 
    <p>Password: <div><input id="password" name="password" type="password"/></p></div><br \> 
    <p>Email: <div><input id="email" name="email" type="text"/></p></div> 
    <div><input id="submitDB" type="submit" value="Register"/></div> 
</form> 

그리고 다음을 사용 JQuery와 함께 form #myForm를 제출합니다. (당신의 formid로 'myForm을'을 만드는)

$("#myForm").ajaxForm({url: 'registerDB.php', type: 'post'}) 

TIP : 아약스 양식을 만들 때 바퀴를 재발견하지 않도록 ajaxForm을 사용합니다.

+0

굉장하고, 기뻤습니다! – biko

1

당신은 $.ajaxGET 방법으로 데이터를 전송됩니다

type: "GET" 

그리고 PHP에서

, 당신은 기대 :

$name = $_POST["name"]; 

당신은 추가해야합니다 그것을

type: "POST" 
+0

'type : "POST"라는 질문이 있습니다 .. –

+0

이제 변경되었습니다. – Pupil

+0

코드를 다시 한 번 확인하십시오. – Pupil

2

확인 양식 입력에 이름 속성 :

<form> 
    <p>Name: <div><input id="name" name="name" type=text/></p></div><br \> 
    <p>Phone: <div><input id="phone" name="phone" type=text/></p></div><br \> 
    <p>Address: <div><input id="address" name="address" type=text/></p></div><br \> 
    <p>Username: <div><input id="username" name="username" type=text/></p></div><br \> 
    <p>Password: <div><input id="password" name="password" type="password"/></p></div><br \> 
    <p>Email: <div><input id="email" name="email" type="text"/></p></div> 
    <div><input id="submitDB" type="submit" value="Register"/></div> 
</form> 
+0

고맙습니다. 이것은 나를 도와 줬어! – Pmike86

0

내 서버에서 HTML을 테스트했지만 기본 PHP 파일로 전송하는 데 문제가 없었습니다. 내 PHP는 다음과 같이 보입니다 :

<?php 
print_r($_POST); 
?> 

SQL 데이터베이스에 연결했을 때 PHP 오류가 의심됩니다. 더 많은 정보를 얻으려면 오류보고를 켜보십시오.

관련 문제