הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאלה | קוד PHP (https://hosts.co.il/forums/showthread.php?t=48771)

Reality 02-07-07 13:11

שאלה | קוד PHP
 
שלום,
אני מנסה להכין מערכת הרשמה לאתר...
בכל מקרה, רציתי שאם המשתמש לא ממלא שדה מסויים זו יודיע לו איזה שדות לא מולאו.
חשבתי הרבה איך לעשות את זה (אני ממש מתחיל בזה...אז אין לי הרבה ידע)
אז עשיתי משהו כזה:
PHP קוד:

if(isset($_POST['user']) && isset($_POST['password']) && isset($_POST['confp']) && isset($_POST['email']))
{
    if(
$_POST['user']!=NULL)
    {
        
$u=1;
    }
    else
    {
        
$u=0;
    }
    if(
$_POST['password']!=NULL)
    {
        
$p=1;
    }
    else
    {
        
$p=0;
    }
    if(
$_POST['confp']!=NULL)
    {
        
$c=1;
    }
    else
    {
        
$c=0;
    }
    if(
$_POST['email']!=NULL)
    {
        
$e=1;
    }
    else
    {
        
$e=0;
    }
        if((
$u==0) && ($p==0) && ($c==0) && ($e==0))
    {
        echo 
"Error: Username, Password, Confirm Password and Email fields are empty";
    }
        if((
$u==0) && ($p==0) && ($c==0) && ($e==1))
    {
        echo 
"Error: Username, Password and confirm password fields are empty";
    }    
        if((
$u==0) && ($p==0) && ($c==1) && ($e==0))
    {
        echo 
"Error: Username, password and email fields are empty";
    }    
        if((
$u==0) && ($p==0) && ($c==1) && ($e==1))
    {
        echo 
"Error: username and password fields are empty";
    }    
         if((
$u==0) && ($p==1) && ($c==0) && ($e==0))
    {
        echo 
"Error: Username, confirm password and email fields are empty";
    }    
        if((
$u==0) && ($p==1) && ($c==0) && ($e==1))
    {
        echo 
"Error: username and confirm password fields are empty";
    }    
        if((
$u==0) && ($p==1) && ($c==1) && ($e==0))
    {
        echo 
"Error: username and email fields are empty";
    }    
        if((
$u==0) && ($p==1) && ($c==1) && ($e==1))
    {
        echo 
"Error: username field is empty";
    }    
        if((
$u==1) && ($p==0) && ($c==0) && ($e==0))
    {
        echo 
"Error: Password, confirm password and email fields are empty";
    }    
        if((
$u==1) && ($p==0) && ($c==0) && ($e==1))
    {
        echo 
"Error: Please Choose Password and confirm it";
    }    
        if((
$u==1) && ($p==0) && ($c==1) && ($e==0))
    {
        echo 
"Error: password and email fields are empty";
    }    
        if((
$u==1) && ($p==0) && ($c==1) && ($e==1))
    {
        echo 
"Error: password field is empty";
    }    
        if((
$u==1) && ($p==1) && ($c==0) && ($e==0))
    {
        echo 
"Error: Confirm password and email field is empty";
    }    
        if((
$u==1) && ($p==1) && ($c==0) && ($e==1))
    {
        echo 
"Error: confirm field is empty";
    }    
         if((
$u==1) && ($p==1) && ($c==1) && ($e==0))
    {
        echo 
"Error: email field is empty";
    }    
        if((
$u==1) && ($p==1) && ($c==1) && ($e==1))
     {
        echo 
"Connect stuff goes here";
    }
    



מישהו יכול להגיד לי אם הדרך הזו טובה?
או שיש משהו פשוט יותר...
תודה רבה :-/

mayden 02-07-07 13:31

וואייי, בשביל מה כתבת את כל זה? :-0

בכל מקרה, אני לא מתכנת גדול בPHP אבל הנה גם דרך נחמדה: (לפחות הזאת שאני משתמש בה)

PHP קוד:

        $flag true;
        if(!
trim($user)) 
        { 
            
$flag false
            
$msg .= " .. "// msg for invaild user 
        

        if(!
trim($password)) 
        { 
            
$flag false
            
$msg .= "..."// msg for invaild password
        

        if(!
trim($conf)) 
        { 
            
$flag false
            
$msg .= "..."// msg for invaild conf
        

        if(!
trim($email)) 
        { 
            
$flag false
            
$msg .= "..."// msg for invaild email
        

        if(
$flag
        {
           
// code goes here
         

         else 
              echo 
$msg

בעיקרון תקרא על פונקציית TRIM:
http://il.php.net/trim

Eli-Hai 02-07-07 13:48

אפשר גם עם SWITCH לא?

חיים 02-07-07 14:07

למה אתם מסבכים את זה כל כך?זה לא צריך לקחת כל כך הרבה שורות הנה הכנתי לך משהוא קצר:
PHP קוד:

<?php
$errors 
= array(
  
"user"     => "username",
  
"password" => "password",
  
"conf"     => "configuration",
  
"email"    => "email adress"
  
);
$i=1;
foreach(
$_POST as $key => $value)
{
 if(!
trim($_POST[$key]))
 {
  
$error .= $i.".The ".$errors[$key]." Field Is empty<br />\n";
  
$i++;
 }
}
if(
$error)
 echo 
"There are empty fields:<br />\n".$error;
?>

תחשבו על הקטע של ההמשך של הקוד מה יקרה אם הוא ירצה להוסיף דברים?יצטרך להוסיף עוד 5 שורות XD פה הוא יצטרך להוסיף רק שורה אחת


כל הזמנים הם GMT +2. הזמן כעת הוא 10:34.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ