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


فهاد الدرس الثالت عشر من دورة  php  للمبتدئين غادي نشوفوا كيفاش نتعاملو مع les formulaires فسبق شفنا فالدرس السابق واحد لفورم زدناها ابتداءا من هاد الدرس غادي نتعاملو مع les formulaires غادي نشوفوا كيفاش نسترجع القيم من الحقول كيفاش نتحقق بلي حتى شي حقل ما خاوي وأشياء أخرى.


1- استرجاع القيم باستعمال POST_$

ل variable $_POST كتمكن باش نسترجعوا القيم لي فالفورم منبعد مكيرسلها المستخدم فالمثال لي عندي زدت فورم عطيتها حقل سميتو name و bouton  منبعد كنعطيها ل method لي هي post يعني غادي ترسل المعلومات ول action لي هي la page لي غادي يترسلولها المعلومات هنا حددت نفس la page لي هي index.php منبعد فالكود php كن tester واش ل method post منبعد كنخدم ب POST_$ لي كنعطيها اسم الحقل لي هو name وكنسترجع القيمة لي دخل المستخدم فيه وكنعرضها ب echo فل variable $_POST هي باش كنخدم غالبا وهي أكثر أمان من جميع  les variables لخرين حيت المعلومات كتمشي مخفية على المستخدم والحجم ديال المعلومات لي ممكن نرسل غير محدود الكود لي زدنا هو :

                                <?php
    if($_SERVER['REQUEST_METHOD'] == 'POST'){
        $name = $_POST['name'];
        echo $name;
    }   
?>
<!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="submit" value="valider">
    </form>
</body>
</html>
                            

2- استرجاع القيم باستعمال GET_$

ل variable $_GET حتى هي كتمكنا باش نسترجعوا القيم من الفورم فالمثال لي زدنا لي هو نفس الكود السابق فقط بدلنا test ديال REQUEST_METHOD من post ل get وبدلنا POST_$ ل GET_$ باش استرجعنا الإسم لي فالحقل فيلا شفتي فالرابط لي عندك فالمتصفح من بعد مكتكليكي على ل bouton valider غادي تلقى variable name كتساوي القيمة لي دخلتي فالحقل فهذا هو الفرق بينها وبين POST_$ المعلومات لي كيترسلو من الفورم كيبانو فالرابط زيد عليها انها محدودة ف 2000 حرف فهي غالبا كتستعمل لإرسال المعلومات الغير حساسة الكود لي زدنا هو :

                                <?php
    // if($_SERVER['REQUEST_METHOD'] == 'POST'){
    //     $name = $_POST['name'];
    //     echo $name;
    // }  
    if($_SERVER['REQUEST_METHOD'] == 'GET'){
        $name = $_GET['name'];
        echo $name;
    }   
?>
<!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="get">
        <input type="text" name="name" id="name">
        <input type="submit" value="valider">
    </form>
</body>
</html>
                            

3- حماية الحقول بل fonction htmlspecialchars

فالبرمجة عموما كاين واحد القاعدة عمرك تيق بالمستخدم داكشي علاش كاين des fonctions  لي كيمكنونا باش نحميو الموقع ديالنا من الإختراق فل fonction htmlspecialchars كتمكن باش نتجاوز يلا دخلي مثلا المستخدم فالحقل كود html أو javascript وكنحولوا لحروف فالمثال لي عندي زدتها لل variable $_POST لي فيها name الكود لي زدنا هو :

                                <?php
    // if($_SERVER['REQUEST_METHOD'] == 'POST'){
    //     $name = $_POST['name'];
    //     echo $name;
    // }  
    if($_SERVER['REQUEST_METHOD'] == 'POST'){
        $name = htmlspecialchars($_POST['name']);
        echo $name;
    }   
?>
<!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="submit" value="valider">
    </form>
</body>
</html>
                            

4- حماية الحقول بل fonction trim

ل fonction trim كتمكن من تجاوز الفراغ بحال ملي كيكليكي المستخدم على espace أو tab فهادشي بل fonction trim كيمكن نحيدو من القيمة لي دخل المستخدم فالمثال لي عندنا زدنا trim لل variable $name الكود لي زدنا هو :

                                    <?php
    // if($_SERVER['REQUEST_METHOD'] == 'POST'){
    //     $name = $_POST['name'];
    //     echo $name;
    // }  
    if($_SERVER['REQUEST_METHOD'] == 'POST'){
        $name = htmlspecialchars($_POST['name']);
        $name = trim($name);
        echo $name;
    }   
?>
<!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="submit" value="valider">
    </form>
</body>
</html>
                                

5- حماية الحقول بل fonction stripslashes

ل fonction stripslashes كتمكن من تجاوز / لي هي slash فالمثال لي عندنا زدنا stripslashes  لل variable $name الكود لي زدنا هو :

                                    <?php
    // if($_SERVER['REQUEST_METHOD'] == 'POST'){
    //     $name = $_POST['name'];
    //     echo $name;
    // }  
    if($_SERVER['REQUEST_METHOD'] == 'POST'){
        $name = htmlspecialchars($_POST['name']);
        $name = trim($name);
        $name = stripslashes($name);
        echo $name;
    }   
?>
<!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="submit" value="valider">
    </form>
</body>
</html>