دورة php للمبتدئين الدرس الرابع عشر

منذ 5 سنوات imadbelasri PHP
PH

فهاد الدرس الرابع عشر من سلسلة php للمبتدئين غادي نشوفوا كيفاش نتحققو بلي الحقول ديال الفورم ديالنا حتى واحد فيهم مرسل قيمة فارغة من بعد غادي نشوفوا كيفاش نديرو التحقق من القيم ديال الحقول ب des fonctions ديال php.


1- تعديل الفورم فالملف index.php

فأول حاجة غادي نديرو تعديل على الفورم لي كنا زدنا فالدرس السابق  غادي نزيدو des champs جداد لي فيهم لايمايل وكلمة المرور ولي عطيتهم name لي هو email و passe ولي بيهم غادي نسترجع القيم لي دخلنا.
أما الفورم فعطيتها ل method post ول action للملف نفسو لي هو index.php الكود لي زدنا فالملف :

                                                    
                                                        <?php
    
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Php Cours</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" media="screen" href="main.css" />
    <script src="main.js"></script>
</head>
<body>
    <form action="index.php" method="post">
        <input type="text" name="name" id="name">
        <input type="email" name="email" id="email">
        <input type="password" name="passe" id="passe">
        <input type="submit" value="valider">
    </form>
</body>
</html>
                                                    
                                                

2- التحقق من الحقول

فالكود php غادي نزيد des variables لي سميتهم السمية ديال الحقول name,email,passe ونفس les variables مع Err فيهم غادي يتعرضوا الرسائل ديال الخطأ
منبعد كنسترجع القيم كيف شفنا قبل بل variable $_POST منبعد كنتحقق بواحد ل fonction empty لي هي ديال php ولي كتمكني باش نعرف واش شي حقل خاوي فيلا كان كنعطي لل variable Err لميساج لي بغيت يتعرض مكنش كنحمي الحقل كيف شفنا قبل وكنزيد لقيمة ديالو فل variable لي بسميتو الكود لي زدنا هو :

                                                        
                                                            <?php
    $nameErr = "";
    $emailErr = "";
    $passeErr = "";
    if($_SERVER['REQUEST_METHOD'] == 'POST'){
        if(empty($_POST['name'])){
            $nameErr = "Veuillez remplir le champ nom";
        }else{
            $name = htmlspecialchars($_POST['name']);
            $name = trim($name);
            $name = stripslashes($name);
        }
        if(empty($_POST['email'])){
            $emailErr = "Veuillez remplir le champ email";
        }else{
            $email = htmlspecialchars($_POST['email']);
            $email = trim($email);
            $email = stripslashes($email);
        }
        if(empty($_POST['passe'])){
            $passeErr = "Veuillez remplir le champ mot de passe";
        }else{
            $passe = htmlspecialchars($_POST['passe']);
            $passe = trim($passe);
            $passe = stripslashes($passe);
        }
    }
?>
                                                        
                                                    

3- عرض رساءل الخطأ فالفورم

فباش نعرض رسائل الخطأ فالفورم كيكفي باش نخدم ب echo ونعرض لميساج الخاص بكل حقل تحت منو فدرت تغييرات على الفورم باش تمكني انني نعرض الرسائل الكود لي زدت هو :

                                                        
                                                            <!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Php Cours</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" media="screen" href="main.css" />
    <script src="main.js"></script>
</head>
<body>
    <form action="index.php" method="post">
        <label for="name">Nom & Prénom</label>
        <input type="text" name="name" id="name">
        <span class="error"><?php echo $nameErr;?></span><br>
        <label for="email">Email </label>
        <input type="email" name="email" id="email">
        <span class="error"><?php echo $emailErr;?></span><br>
        <label for="passe">Mot de passe</label>
        <input type="password" name="passe" id="passe">
        <span class="error"><?php echo $passeErr;?></span><br>
        <input type="submit" value="valider">
    </form>
</body>
</html>
                                                        
                                                    

4- التحقق من أن الإيمايل valide ف php

باش نتحقق بلي الإيمايل valide ف php كاين واحد ل fonction لي هي ديال php سميتها filter_var كتاخد ل email ول validation فالمثال لي عندنا كنسترجع ل email منبعد كن tester بل fonction filter_var واش فعلا ل email valide يلا مكانش كن afficher message دخل إيمايل لي يكون صحيح الكود لي زدنا هو :

                                                        
                                                            <?php
    $nameErr = "";
    $emailErr = "";
    $passeErr = "";
    if($_SERVER['REQUEST_METHOD'] == 'POST'){
        // if(empty($_POST['name'])){
        //     $nameErr = "Veuillez remplir le champ nom";
        // }else{
        //     $name = htmlspecialchars($_POST['name']);
        //     $name = trim($name);
        //     $name = stripslashes($name);
        // }
        // if(empty($_POST['email'])){
        //     $emailErr = "Veuillez remplir le champ email";
        // }else{
        //     $email = htmlspecialchars($_POST['email']);
        //     $email = trim($email);
        //     $email = stripslashes($email);
        // }
        // if(empty($_POST['passe'])){
        //     $passeErr = "Veuillez remplir le champ mot de passe";
        // }else{
        //     $passe = htmlspecialchars($_POST['passe']);
        //     $passe = trim($passe);
        //     $passe = stripslashes($passe);
        // }
        $email = $_POST['email'];
        if(!filter_var($email,FILTER_VALIDATE_EMAIL)){
            $emailErr = "Veuillez entrer une adresse email valide";
        }
    }
?>
                                                        
                                                    

5- كيفاش نخلي القيم فلفورم منبعد ميتعرضوا الرسائل

فيلا لاحضتي ملي كتكليكي على valider وكيتعرضوا الرساءل ديال الخطأ فالحقول لي كيكونوا عامرين كتختفي القيم لي فيهم لي كيخلي المستخدم يعاود يعمر الفورم مرة اخرى باش نتجاوز هاد المسألة كاين ل propriété value ديال الحقول لي كتمكن باش نعطي للحقول القيم لي بغيت هنا فالمثال لي زدنا كنعطي للفورم القيم لي فل les variables لي زدنا لي هما name,email,passe فيلا كان شي حقل دبا خاوي فالحقول لي عامرة غادي تبقى فيها نفس القيم الكود كامل هو :

                                                        
                                                            <?php
    $nameErr = "";
    $emailErr = "";
    $passeErr = "";
    $name = "";
    $email = "";
    $passe = "";
    if($_SERVER['REQUEST_METHOD'] == 'POST'){
        if(empty($_POST['name'])){
            $nameErr = "Veuillez remplir le champ nom";
        }else{
            $name = htmlspecialchars($_POST['name']);
            $name = trim($name);
            $name = stripslashes($name);
        }
        if(empty($_POST['email'])){
            $emailErr = "Veuillez remplir le champ email";
        }else{
            $email = htmlspecialchars($_POST['email']);
            $email = trim($email);
            $email = stripslashes($email);
        }
        if(empty($_POST['passe'])){
            $passeErr = "Veuillez remplir le champ mot de passe";
        }else{
            $passe = htmlspecialchars($_POST['passe']);
            $passe = trim($passe);
            $passe = stripslashes($passe);
        }
        // $email = $_POST['email'];
        // if(!filter_var($email,FILTER_VALIDATE_EMAIL)){
        //     $emailErr = "Veuillez entrer une adresse email valide";
        // }
    }
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Php Cours</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" media="screen" href="main.css" />
    <script src="main.js"></script>
</head>
<body>
    <form action="index.php" method="post">
        <label for="name">Nom & Prénom</label>
        <input type="text" name="name" id="name" value="<?php echo $name;?>">
        <span class="error"><?php echo $nameErr;?></span><br>
        <label for="email">Email </label>
        <input type="text" name="email" id="email" value="<?php echo $email;?>">
        <span class="error"><?php echo $emailErr;?></span><br>
        <label for="passe">Mot de passe</label>
        <input type="password" name="passe" id="passe" value="<?php echo $passe;?>">
        <span class="error"><?php echo $passeErr;?></span><br>
        <input type="submit" value="valider">
    </form>
</body>
</html>
                                                        
                                                    

دروس ذات صلة

PH

دورة php للمبتدئين الدرس الأول

فهاد الدورة الجديدة ديال المبتدئين ولي غادي نخصصوها ل php غادي نشوفوا هاد لغة البرمجة لي هي أشهر لغة...


PH

دورة php للمبتدئين الدرس الثاني

فهاد الدرس الثاني من دورة php للمبتدئين غادي نمكلو الدورة ديالنا غادي نشوفوا أنواع أخرى من المتغيرات...


PH

دورة php للمبتدئين الدرس الثالت

فهاد الدرس الثاني من دورة php للمبتدئين  غادي نشوفوا كيفاش نتعاملو مع ل arrays ف php وغادي نشوفوا اي...


PH

دورة php للمبتدئين الدرس الرابع

فهاد الدرس الرابع من دورة ل php للمبتدئين غادي نكملو الدورة ديالنا غادي نشوفوا كيفاش نزيدو les const...


PH

دورة php للمبتدئين الدرس الخامس

فهاد الدرس الخامس من دورة ل php للمبتدئين غادي نكملو الدورة ديالنا غادي نشوفوا المزيد من les opérate...


PH

دورة php للمبتدئين الدرس السادس

فهاد الدرس السادس من دورة php للمبتدئين غادي نشوفوا كيفاش نديرو l"incrémentation و décrémentation كم...


PH

دورة php للمبتدئين الدرس السابع

فهاد الدرس السابع من دورة php للمبتدئين غادي نكملو الدورة ديالنا غادي نشوفوا كيفاش نتعاملو مع l...


PH

دورة php للمبتدئين الدرس الثامن

فهاد الدرس الثامن من دورة php للمبتدئين غادي نكملوا الدورة ديالنا فغادي نشوفوا حاجة مهمة فالبرمجة ول...


PH

دورة  php للمبتدئين الدرس التاسع

فهاد الدرس الثامن من سلسلة php للمبتدئين غادي نكملو الدورة ديالنا غادي نشوفوا كيفاش نتعاملو مع les f...


PH

دورة php للمبتدئين الدرس العاشر

فهاد الدرس العاشر من دورة php للمبتدئين غادي نكملو الدورة غادي نشوفوا ل arrays فشنو هما ل arrays هما...