PDA

View Full Version : سوال: register اعضا



yoshika
پنج شنبه 19 دی 1387, 01:49 صبح
سلام
من برای ثبت اعضا در وب سایتم نیاز به چک کردن email و valid کردنemail ها دارم و در سرچ هام به این نتیجه رسیدم که این کار رو باید با تابع ereg انجام بدم حالا دو سوال دارم:
1- نحوه کار با این تابع را در manual مطالعه کردم ولی متوجه نشدم
2- راه بهتری برای این کار سراغ ندارید

در ضمن این eror یعنی چه؟
Parse error: syntax error, unexpected $end

narsic
پنج شنبه 19 دی 1387, 10:49 صبح
با سلام
این صفجه رو ببینید
http://barnamenevis.org/forum/showthread.php?p=627287#post627287
موفق باشید

narsic
پنج شنبه 19 دی 1387, 10:55 صبح
در ضمن این eror یعنی چه؟
Parse error: syntax error, unexpected $end
در پایان کد کدتون رو نبستید معمولا یک } کم گذاشتید
موفق باشید

as13851365
پنج شنبه 19 دی 1387, 11:59 صبح
خطاهایی با عنوان syntax error بیشتر مواقعی رخ می ده که کد را اشتباه نوشته باشید مثلا شما به جای استفاده از php?> فقط از ؟> استفاده کردید که سیستم شما هم شورت کات را نمی شناسد

بهتر است کدتان را بررسی کنید و اگر چیزی پیدا نکردید در این جا کدتان را قرار دهید

yaqubian
جمعه 20 دی 1387, 19:55 عصر
دوست عزیز
همونطور که narsic عزیز فرمودن این خطا زمانی رخ می ده که شما یه scope رو تو برنامه تون نبستین. یعنی یا یه } رو کم یا زیاد گذاشتین. یعنی scope شناسایی نمی شه!!
موفق باشید

yoshika
یک شنبه 22 دی 1387, 23:54 عصر
function _Is_Email($Str_Input)
{
return(@preg_match("/[a-zA-Z0-9._-+]+@[a-zA-Z0-9.-]+.[a-zA-Z.]+/", $Str_Input) > 0) ? (boolean)true : (boolean)false;
}

این کدی است که یکی از دوستان زحمت کشیده بودند و برای من لینک کرده بودند اما تابع preg_match تعداد match ها را بر می گرداند و این به سادگی مشخص است که اگر تنها یک
match صورت بگیرد جواب صحیح جواب صحیح خواهد بود

سوال دیگرم در رابطه با کد دیگری است

function _Is_Blank($Str_Input)
{
return(trim($Str_Input) == '' || is_null($Str_Input) || strlen((string)$Str_Input) <= 0) ? (boolean)true : (boolean)false;
}

کارایی این سه تابع دقیقا یکی است چرا سه بار تکرار شده؟

I,Nobody
دوشنبه 23 دی 1387, 11:37 صبح
من قبلاً دو تابع براي اين كار معرفي كردم.(يكي براي PHP و يكي براي JavaScript )
شايد به دردتون بخوره :
http://www.barnamenevis.org/forum/showthread.php?t=132019

searchman
دوشنبه 23 دی 1387, 13:53 عصر
با سلام
در مورد اول سوالتون چي؟
در مورد دوم همانطور كه در php manual توضيح داده شده:

is_null($Str_Input)
اين تابع زماني true بر مي گردونه كه يا متغيير ست نشده و يا مقداري برابر با null داشته باشه ويا اصلا وجود نداشته باشه

<?php
$var = NULL;
$var = null;
$var;
// or if not declared at all
?>

2.
trim($Str_Input)
اين تابع فضاهاي خالي اطراف رشته ورودي رو حذف مي كنه كه شامل همه كاركترهاي زير ميشه:


" " (ASCII 32 (0x20)), an ordinary space.
"\t" (ASCII 9 (0x09)), a tab.
"\n" (ASCII 10 (0x0A)), a new line (line feed).
"\r" (ASCII 13 (0x0D)), a carriage return.
"\0" (ASCII 0 (0x00)), the NUL-byte.
"\x0B" (ASCII 11 (0x0B)), a vertical tab.
3.
strlen((string)$Str_Input)
اين تابع هم همونطور كه ازش معلومه طول رشته رو بر مي گرونه:


<?php
$str = 'abcdef';
echo strlen($str); // 6

$str = ' ab cd ';
echo strlen($str); // 7
?>

پس اين سه تابع مكمل هم هستن.

Hooman_vb
چهارشنبه 13 مرداد 1389, 10:29 صبح
سلام
من برای فرم ثبت نام کاربر تمام مراحلو نوشتم .یه فایل validation دارم که jscript هست ولی نمی دونم چه طوری ازش استفاده کنم مثلا این خط
var pass1 = $("#password");
یعنی من باید توی فرمم به textbox رمز عبور آیدی password بدم؟
اگه میشه راهنماییم کنید

bestirani2
چهارشنبه 13 مرداد 1389, 15:07 عصر
سلام
من برای فرم ثبت نام کاربر تمام مراحلو نوشتم .یه فایل validation دارم که jscript هست ولی نمی دونم چه طوری ازش استفاده کنم مثلا این خط
var pass1 = $("#password");
یعنی من باید توی فرمم به textbox رمز عبور آیدی password بدم؟
اگه میشه راهنماییم کنید
باید بیای بگی هنگام رویداد آن کلیک، تابع مربوط به چک کردن در جاوا اسکریپت اجرا بشه

Hooman_vb
چهارشنبه 13 مرداد 1389, 18:52 عصر
$(document).ready(function(){
//global vars
var form = $("#signForm");
var email = $("#email");
var emailInfo = $("#emailInfo");
var pass1 = $("#password");
var pass1Info = $("#pass1Info");
var pass2 = $("#confirmpassword");
var pass2Info = $("#pass2Info");
var name = $("#name");
var nameInfo = $("#nameInfo");
var family = $("#family");
var familyInfo = $("#familyInfo");
var screenname = $("#screenname");
var screennameInfo = $("#screennameInfo");
//On blur
name.blur(validateName);
family.blur(validateFamily);
screenname.blur(validateScreenname);
email.blur(validateEmail);
pass1.blur(validatePass1);
pass2.blur(validatePass2);
//On key press
name.keyup(validateName);
family.keyup(validateFamily);
screenname.keyup(validateScreenname);
pass1.keyup(validatePass1);
pass2.keyup(validatePass2);
//On Submitting
form.submit(function(){
if(validateName() & validateEmail() & validatePass1() & validatePass2() & validateFamily() & validateScreenname())
return true
else
return false;
});

//validation functions
function validateEmail(){
//testing regular expression
var a = $("#email").val();
var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
//if it's valid email
if(filter.test(a)){
email.removeClass("error");
emailInfo.text("");
emailInfo.removeClass("error");
return true;
}
//if it's NOT valid
else{
email.addClass("error");
emailInfo.text("لطفا از یک ایمیل معتبر استفاده کنید");
emailInfo.addClass("error");
return false;
}

}
function validateName(){
//if it's NOT valid
if(name.val().length == 0){
name.addClass("error");
nameInfo.text("نام ا وارد نکرده اید");
nameInfo.addClass("error");
return false;
}
else if(name.val().length < 3){
name.addClass("error");
nameInfo.text("نام کمتر از 3 حرف است");
nameInfo.addClass("error");
return false;
}
//if it's valid
else{
name.removeClass("error");
nameInfo.text("");
nameInfo.removeClass("error");
return true;
}
}
function validateScreenname(){
//if it's NOT valid
if(screenname.val().length == 0){
screenname.addClass("error");
screennameInfo.text("نام نمایشی را وارد نکرده اید");
screennameInfo.addClass("error");
return false;
}
//if it's valid
else{
screenname.removeClass("error");
screennameInfo.text("");
screennameInfo.removeClass("error");
return true;
}
}
function validateFamily(){
//if it's NOT valid
if(family.val().length == 0){
family.addClass("error");
familyInfo.text("نام کاربری را وارد نکرده اید");
familyInfo.addClass("error");
return false;
}
else if(family.val().length < 4){
family.addClass("error");
familyInfo.text("نام کاربری کمتر از 4 حرف است");
familyInfo.addClass("error");
return false;
}
//if it's valid
else{
family.removeClass("error");
familyInfo.text("");
familyInfo.removeClass("error");
return true;
}
}
function validatePass1(){
var a = $("#password1");
var b = $("#password2");
if(pass1.val().length ==0){
pass1.addClass("error");
pass1Info.text("رمز عبور را وارد نکرده اید");
pass1Info.addClass("error");
return false;
}
//it's NOT valid
if(pass1.val().length <5){
pass1.addClass("error");
pass1Info.text("رمز عبور کمتر از 4 حرف است");
pass1Info.addClass("error");
return false;
}
//it's valid
else{
pass1.removeClass("error");
pass1Info.text("");
pass1Info.removeClass("error");
validatePass2();
return true;
}
}
function validatePass2(){
var a = $("#password1");
var b = $("#password2");

if(pass2.val().length ==0){
pass2.addClass("error");
pass2Info.text("رمز عبور را وارد نکرده اید");
pass2Info.addClass("error");
return false;
}
//are NOT valid
if( pass1.val() != pass2.val() ){
pass2.addClass("error");
pass2Info.text("تکرار رمز عبور با رمز عبور وارد شده یکسان نیست");
pass2Info.addClass("error");
return false;
}
//are valid
else{
pass2.removeClass("error");
pass2Info.text("");
pass2Info.removeClass("error");
return true;
}
}
});

این محتویات فایلیه که دارم.چه طوری باید قبل از سابمیت فرمم فراخوانی بشه؟
باید قبل از سابمیت نوشته بشه یا این روش کاملا غلطه؟<script src="validation.js"></script>

UnnamE
پنج شنبه 14 مرداد 1389, 01:47 صبح
زیاد لازم نیست کار رو پیچیده کنید
شما فقط کافیه چک کنید که @ وجود داشته باشه و قبل و بعدش رو هم چک کنید
که با preg_ کارتون راه میوفته
البته میشه سمت کلاینت ایم کار رو انجام داد
با جاوا اسکریپت و آجاکس
که میشه هم با jQuery هم این کار و راحت تر انجام داد