2012-04-11 4 views
-1

저는 양식 데이터를 MySQL 데이터베이스로 보내는 최종 목표를 가지고 첫 번째 Ajax 지원 양식 (here)을 작성했습니다. 필자는 PHP와 Javascript에 대한 경험이 적기 때문에 JQuery Formwizard를 선택의 여지로 채택했습니다. 양식은 훌륭하지만, 나는 'process.php'스크립트를 작성하는 데 도움이되는 자료를 찾지 못했다.JQuery 유효성 검사 오류 메시지에 CSS 추가하기

기본적으로 양식은 현재 제출시 표시되는 item1 = foo & item2 = bar ...와 같은 문자열을 반환합니다. 나는 아래의 JS와 내 process.php 파일의 요점을 첨부했지만 두 넥타이가 어떻게 조화되어 있는지 잘 모르겠습니다. 제출 버튼이 스크립트로 보내지지 않는 것 같습니다. 양식은 다소 길지만 단순하므로 일부만 포함 시켰습니다. 덕분에 많이

마이크

HTML (SNIPPET)

<form action="path/to/process-form.php" method="POST" id="demoForm" class="bbq"> 

       <div id="fieldWrapper"> 

        <span class="step" id="first"> 

         <span class="font_normal_07em_black">Manufacturer Information</span><br /> 

         <p class="section-desc"> 
         Lorem ipsum dolor sit amet, consectetur adipiscing elit. In non est est. Quisque sit amet tellus nulla, 
         eget molestie velit. Morbi dapibus ornare purus eget ultrices. In et massa ac diam vulputate auctor. 
         Curabitur ut velit nisi, vel suscipit ligula. Donec non tellus id mauris ornare laoreet sed quis massa. 
         </p> 

         <br /> 

         <div class="clear-line"></div> 

         <br /> 

         <label for="manu_name">Manufacturer</label><br /> 
         <input class="input_field_12em" name="manu_name" id="manu_name" /><br /> 

         <label for="manu_web">Website</label><br /> 
         <input class="input_field_12em" name="manu_web" id="manu_web" value="http://" /><br /> 

         <label for="manu_email">Email</label><br /> 
         <input class="input_field_12em" name="manu_email" id="manu_email" /><br /> 

         <label for="manu_phone">Phone</label><br /> 
         <input class="input_field_12em" name="manu_phone" id="manu_phone" /> 
         <label for="manu_phone_ext">ext</label> 
         <input class="input_field_12em" name="manu_phone_ext" id="manu_phone_ext" /><br /> 

         <label for="manu_info">Additional Info</label><br /> 
         <textarea class="input_field_12em" name="manu_info" id="manu_info"></textarea><br /> 

        </span> 

은 ...

0 JS

   <div id="demoNavigation">       
        <input class="navigation_button" id="back" value="Back" type="reset" /> 
        <input class="navigation_button" id="next" value="Next" type="submit" /> 
       </div> 

</form> 

계속

$(function(){ $("#demoForm").formwizard({ formPluginEnabled: true, validationEnabled: true, focusFirstInput : true, formOptions :{ type:'POST', success: function(data){$("#status").fadeTo(5000,1,function(){ $(this).html("Product successfully submitted!").fadeTo(5000, 0); })}, beforeSubmit: function(data){$("#data").html("data sent to the server: " + $.param(data));}, dataType: 'json', resetForm: true }, validationOptions : { rules: { <!-- Manufacturer validation --> manu_name: "required", manu_email: { email: true }, }, messages: { required: "This field is required.", email: "Please enter a valid email address." } } }); }); 

PHP (프로세스 form.php)

<?php 

include('dbconnect.php'); 

/* manufacturer */ 

$manu_name = $_POST['manu_name']; 
$manu_web = $_POST['manu_web']; 
$manu_email  = $_POST['manu_email']; 
$manu_phone  = $_POST['manu_phone']; 
$manu_phone_ext = $_POST['manu_phone_ext']; 
$manu_info = $_POST['manu_info']; 

$manu_name = mysqli_real_escape_string($manu_name); 
$manu_web = mysqli_real_escape_string($manu_web); 
$manu_email  = mysqli_real_escape_string($manu_email); 
$manu_phone  = mysqli_real_escape_string($manu_phone); 
$manu_phone_ext = mysqli_real_escape_string($manu_phone_ext); 
$manu_info = mysqli_real_escape_string($manu_info); 

$query = "INSERT INTO pd_products 
     (manu_name,manu_web,manu_email,manu_phone,manu_phone_ext,manu_info) 
     VALUES ('$manu_name','$manu_web','$manu_email','$manu_phone','$manu_phone_ext','$manu_info')"; 

if (!mysqli_query($query,$con)) 
    { 
    die('Error: ' . mysqli_error()); 
    } 
mysqli_close($con) 

?> 

답변

1

당신이 "= 폼 조치를"변경 확인 경로/실제 경로 위치로 HTML에서/절차 form.php ""에 양식이 있습니다.

mysqli_query ($ query, $ con)는 링크가있는 mysqli_query ($ con, $ query)이어야합니다. 또한 mysql_query ($ query, $ con)를 사용하지 않는 이유는 무엇입니까?

간단한 작업을하기 위해 불필요한 코드를 많이 사용하는 것처럼 보입니다.

HTML과 PHP를 .php 파일에 배치하고 (PHP가 중괄호로되어 있는지 확인) 폼 동작을 자신의 이름 (자체 제출)으로 변경하고 자바 스크립트를 제거합니다. PHP의 양식 유효성 검사 여기

확인 : 피드백 @techjunkie에 대한 http://php.net/manual/en/filter.filters.validate.php

+0

감사합니다. 나는 단순히 게시물의 작업 경로를 변경했습니다. 자바 스크립트를 제거함으로써 폼에 필요한 아약스 기능을 잃어 버릴 것이라고 생각하거나 단순히 폼 제출을위한 자바 스크립트입니까? 나는 그것을 밖으로 시도하고 다시 게시 할 것입니다. – TheNally

+0

위의 자바 스크립트는 ajax를 시작하고 양식 데이터 처리 방법에 대한 옵션을 제공합니다. 내 문제는 이미 플러그인에 의해 올바르게 출력되고있는 데이터 - 스트링을 데이터베이스로 보내는 것입니다. – TheNally

+0

제출 버튼이 양식을 제출하지 않는다고 말한 것 같습니까? 양식이 작동하고 정보가 데이터베이스로 전송되지 않으면 "mysqli_query"기능을 "mysql_query"기능으로 대체하십시오. 그리고 위에서 말했듯이 "mysqli_query"함수가 거꾸로 생성되어 오류를 일으킬 수도 있다고 여기에서 확인하십시오. http://php.net/manual/en/mysqli.query.php. 또한 오류 처리기를 사용하면 통찰력을 얻을 수 있습니다. http://www.w3schools.com/php/php_error.asp – squarephoenix

관련 문제