2012-02-07 9 views
0

昨夜ここにいる誰かが、私の最初の検証で一からやってくれて本当に助けてくれました。私がJQueryに触れるのは初めてです。ここでは、最後のelse文まで検証UPのための罰金とダンディに動作している私が持っているものです。最初のJQueryプロジェクト...ちょっと立ち寄った

//VALIDATE FIRST REGISTER PAGE! 
$('#submit1').live('click', function() { 
    check_value1(); 

}); 

function check_value1(){ 
var firstname = $('#firstname').val(); 
var lastname = $('#lastname').val(); 
var email = $('#email').val(); 
var password = $('#password').val(); 
var username = $('#username').val(); 

if(firstname =='' || firstname.length <2) 
$('#fnameError').fadeIn().fadeOut(5000); 

else if(lastname =='' || lastname.length <2) 
$('#lnameError').fadeIn().fadeOut(5000); 

else if(email =='' || email.length <5) 
$('#emailError').fadeIn().fadeOut(5000); 

else if(password =='' || password.length <6) 
$('#passError').fadeIn().fadeOut(5000); 

else if(username =='' || username.length <5) 
$('#usernameError').fadeIn().fadeOut(5000); 

else 
{ 
$('#register1').fadeOut(); 
$('#register2').fadeIn(); 
} 
} 

//VALIDATE SECOND REGISTER PAGE 

$('#submit2').live('click', function() { 
    check_value2(); 
}); 

function check_value2(){ 

var gender = $('#gender').val(); 
var seeking = $('#seeking').val(); 
var month = $('#month').val(); 
var day = $('#day').val(); 
var year = $('#year').val(); 


if(gender =='' || gender.length <4) 
$('#genderError').fadeIn().fadeOut(5000); 

else if(seeking =='' || seeking.length <4) 
$('#seekingError').fadeIn().fadeOut(5000); 

else if(month =='' || month.length > 2) 
$('#monthError').fadeIn().fadeOut(5000); 

else if(day =='' || day.length > 2) 
$('#dayError').fadeIn().fadeOut(5000); 

else if(year =='' || year.length > 4 || year > 1994) 
$('#yearError').fadeIn().fadeOut(5000); 

else 
{ 
$('#register2').fadeOut(); 
$('#register3').fadeIn(); 
} 

} 

//VALIDATE THIRD PAGE 

$('#submit3').live('click', function() { 
    check_value3(); 
}); 

function check_value3(){ 

var height = $('#height').val(); 
var body_type = $('#body_type').val(); 
var ethnicity = $('#ethnicity').val(); 
var religion = $('#religion').val(); 

if(height =='' || height.length <3) 
$('#heightError').fadeIn().fadeOut(5000); 

else if(body_type =='' || body_type.length <4) 
$('#bodyError').fadeIn().fadeOut(5000); 

else if(ethnicity =='' || ethnicity.length <5) 
$('#ethError').fadeIn().fadeOut(5000); 

else if(religion =='' || religion.length <5) 
$('#relError').fadeIn().fadeOut(5000); 

else 
{ 
$('#register3').fadeOut(); 
$('#register4').fadeIn(); 
} 

} 

//VALIDATE FOUTH PAGE 

$('#submit4').live('click', function() { 
    check_value4(); 
}); 

function check_value4(){ 

var city = $('#city').val(); 
var state = $('#state').val(); 
var zip = $('#zip').val(); 

if(city =='' || city.length <2) 
$('#cityError').fadeIn().fadeOut(5000); 

else if(state =='' || state.length <2) 
$('#stateError').fadeIn().fadeOut(5000); 

else if(zip =='' || zip.length <5) 
$('#zipError').fadeIn().fadeOut(5000); 

else 
{ 

var firstnameA = encodeURIComponent($('#firstname').val()); 
var lastnameA = encodeURIComponent($('#lastname').val()); 
var emailA = encodeURIComponent($('#email').val()); 
var passwordA = encodeURIComponent($('#password').val()); 
var usernameA = encodeURIComponent($('#username').val()); 
var genderA = encodeURIComponent($('#gender').val()); 
var seekingA = encodeURIComponent($('#seeking').val()); 
var monthA = encodeURIComponent($('#month').val()); 
var dayA = encodeURIComponent($('#day').val()); 
var yearA = encodeURIComponent($('#year').val()); 
var heightA = encodeURIComponent($('#height').val()); 
var bodytypeA = encodeURIComponent($('#body_type').val()); 
var ethnicityA = encodeURIComponent($('#ethnicity').val()); 
var religionA = encodeURIComponent($('#religion').val()); 
var cityA = encodeURIComponent($('#city').val()); 
var stateA = encodeURIComponent($('#state').val()); 
var zipA = encodeURIComponent($('#zip').val()); 
$('#register4').fadeOut(5000); 
$('#loading').show(); 
$.ajax 
({ 
type: "POST", 
url: "../register.php", 
data: {firstnameB:firstnameA, lastnameB:lastnameA, emailB:emailA, passwordB:passwordA, usernameB:usernameA, genderB:genderA, seekingB:seekingA, monthB:monthA, day:dayA, yearB:yearA, heightB:heightA, bodytypeB:bodytypeA, ethnicityB:ethnicityA, religionB:religionA, cityB:cityA, stateB:stateA, zipB:zipA }, 
success: function(){ $('#loading_text').delay(5000).hide(); $('#success').fadeIn();} 
}); 
    return false; 
} 

} 

最後の文は、値にユーザー入力を取得し、AJAX経由register.phpファイルに送信する必要があること。私は関数を正しく呼び出すとは思わない。 JQueryとAJAXを使わなくても、レジスタphpは正常に動作します。

<input type="submit" value="Register" id="submit4"/> 

最後の機能を有効にする必要があり、最後の送信ボタンザッツ:あなたがそれを必要とする場合は、あなたの参考のために、私は私のHTMLと私のPHP変数が送られてデコードする方法の迅速なバージョンを投稿します。ここ

は私のPHPの初めであり、それは私が/変数または私は道をエンコードをデコードしています方法です場合、それはデコード方法

$email_a = htmlspecialchars(trim(urldecode($_POST['emailB']))); 
    $user_name_a = htmlspecialchars(trim(urldecode($_POST['usernameB']))); 
    $pwd_unencrypted_a = htmlspecialchars(trim(urldecode($_POST['passwordB']))); 
    $first_name_a = htmlspecialchars(trim(urldecode($_POST['firstnameB']))); 
    $last_name_a = htmlspecialchars(trim(urldecode($_POST['lastnameB']))); 

    $month = htmlspecialchars(trim(urldecode($_POST['monthB']))); 
    $day = htmlspecialchars(trim(urldecode($_POST['dayB']))); 
    $year = htmlspecialchars(trim(urldecode($_POST['yearB']))); 

    $city_a = htmlspecialchars(trim(urldecode($_POST['cityB']))); 
    $state_a = htmlspecialchars(trim(urldecode($_POST['stateB']))); 
    $zip_a = htmlspecialchars(trim(urldecode($_POST['zipB']))); 
    $gender_a = htmlspecialchars(trim(urldecode($_POST['genderB']))); 
    $gender_of_interest_a = htmlspecialchars(trim(urldecode($_POST['seekingB']))); 
    $height_cm_a = htmlspecialchars(trim(urldecode($_POST['heightB']))); 
    $body_type_a = htmlspecialchars(trim(urldecode($_POST['bodytypeB']))); 
    $ethnicity_a = htmlspecialchars(trim(urldecode($_POST['ethnicityB']))); 
    $religion_a = htmlspecialchars(trim(urldecode($_POST['religionB']))); 

    $email = strip_tags($email_a); 
    $user_name = strip_tags($user_name_a); 
    $pwd_unencrypted = strip_tags($pwd_unencrypted_a); 
    $first_name = strip_tags($first_name_a); 
    $last_name = strip_tags($last_name_a); 
    $city = strip_tags($city_a); 
    $state = strip_tags($state_a); 
    $zip = strip_tags($zip_a); 
    $gender = strip_tags($gender_a); 
    $gender_of_interest = strip_tags($gender_of_interest_a); 
    $height_cm = strip_tags($height_cm_a); 
    $body_type = strip_tags($body_type_a); 
    $ethnicity = strip_tags($ethnicity_a); 
    $religion = strip_tags($religion_a); 
    $edu = strip_tags($edu_a); 




    $pwd = md5($pwd_unencrypted); 
    $full_name = $first_name . " " . $last_name; 
    $pwd_for_email = $pwd_unencrypted; 

    $this_day = date(j); 
    $this_month = date(m); 
    $this_year = date(Y); 

    $find_height_ft = mysql_query("SELECT * FROM height WHERE CM = '$height_cm'"); 
    while($find_height = mysql_fetch_array($find_height_ft)) 
    { 
    $height_ft_a = $find_height['feet_inches']; 
    } 
    $height_ft = mysql_real_escape_string($height_ft_a); 

    $find_zodiac = mysql_query("SELECT * FROM zodiac WHERE Month_Z = '$month' AND Day_Z = '$day'"); 
    while($find_zodiac_array = mysql_fetch_array($find_zodiac)) 
    { 
    $zodiac = $find_zodiac_array['Sign_Z']; 
    } 




if($this_month > $month) 
{ 
$age = $this_year - $year; 
} 
elseif($this_month <= $month && $this_day < $day) 
{ 
$age = $this_year - $year - 1; 
} 
else 
{ 
$age = $this_year - $year; 
} 

if($age >= 18) 
{ 
//I EDITED THIS OUT TO SAVE YOU GUYS THE TIME OF READING IT basically if all above checks out that you're 18, it will insert the variables into the DB this works fine here. 
} 

を送られている変数は、だから私はわかりませんよ最後の関数を呼び出します。私はコードがかさばっていて駄目のように書かれていることをお詫びします。

あなたはいつも私を過去に束縛してくれました!私は提供された助けを大いに感謝します。 -Mike

答えて

2

代わりに別の変数に各値を割り当てるので、あなたはこのように、jQueryの機能を使用してそれをすべてを送ることができます。ここで、すべてのフォームを選択してください、私は$('#form').serialize()を使用

$('#register4').fadeOut(5000); 
$('#loading').show(); 
$.ajax({ 
    type: "POST", 
    url: "../register.php", 
    data: $('#form').serialize(), 
    success: function(){ $('#loading_text').delay(5000).hide(); $('#success').fadeIn();} 
}); 

お知らせ入力があると、入力値を取り込み、エンコードされた形式で提出するので、それぞれを個別にエンコードする必要はありません。

+0

OHHH!気になることが、とても簡単になります。それを修正する。本当にありがとう。 – user1053263

+0

PHPでは、これをデコードするためにunserialize()関数を呼び出しますか? – user1053263

+2

PHPでは、すべての変数は '$ _POST'配列にあり、それらをデコードする必要はありません。 –