اذهب إلى المحتوى

السؤال

نشر

كيفكم يا أصدقاء... كيف نقدر نعمل شرط على حقول فورم.... مثال... الحقل الخاصة ب عامود info اذا كان يساوي 780 يتم ارسال الفورم واذا لا اظهر لنا خطأ يرجى ملئ الحقل بالرقم الصحيح... 

 

 

السؤال الثاني.... كيف يمكننا جعل انبوت الصور يستقبل فقط الصور ولايستقبل ملفات غير الصور ويرفض  ملفات excel bdf.... عنده الإرسال 

Recommended Posts

  • 0
نشر

للتحقق من قيمة الحقل info يمكنك إستخدام جافاسكريبت مع php حيث نفرض أنه يوجد لدينا  نموذج HTML بالشكل التالي:

<!DOCTYPE html>
<html lang="ar">
<head>
    <meta charset="UTF-8">
    <title>نموذج مع تحقق</title>
</head>
<body>
    <form name="myForm" action="submit.php" onsubmit="return validateForm()" method="post">
        <label for="info">Info:</label>
        <input type="text" id="info" name="info">
        <input type="submit" value="إرسال">
    </form>
</body>
</html>

بعدها نستخدم كود php لمراقبة الطلب و التأكد من القيمة:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $info = $_POST['info'];
    if ($info != 780) {
        echo "يرجى ملء الحقل بالرقم الصحيح.";
    } else {
        echo "تم إرسال النموذج بنجاح!";
        // يمكنك إضافة الكود لمعالجة النموذج هنا
    }
}
?>

نقوم بإنشاء ملف PHP باسم submit.php يتحقق الكود من طريقة الطلب للتأكد من أن النموذج تم إرساله باستخدام طريقة POST، ثم نحصل على قيمة الحقل "info" من بيانات النموذج، إذا كانت القيمة ليست 780، نظهر رسالة خطأ. إذا كانت القيمة صحيحة، نظهر رسالة نجاح.

أما للتحقق من نوع الملف المقبول على أنه صورة في نموذج HTML باستخدام PHP نقوم بإنشاء ملف PHP باسم upload.php، بعدها نحصل على معلومات الملف المرفوع من الحقل "image"، و نستخدم دالة explode لفصل اسم الملف للحصول على الامتداد، ثم نحوله إلى حروف صغيرة باستخدام strtolower، ثم نتحقق من أن الامتداد ضمن الامتدادات المسموح بها (JPG, JPEG, PNG, GIF)، إذا كان الامتداد صحيحا، نتحقق من عدم وجود أخطاء أثناء رفع الملف (fileError === 0)، ثم نظهر رسالة نجاح إذا تم رفع الملف بنجاح، أو رسالة خطأ مناسبة إذا كانت هناك مشكلة:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $file = $_FILES['image'];
    $fileName = $file['name'];
    $fileTmpName = $file['tmp_name'];
    $fileSize = $file['size'];
    $fileError = $file['error'];
    $fileType = $file['type'];

    $fileExt = explode('.', $fileName);
    $fileActualExt = strtolower(end($fileExt));

    $allowed = array('jpg', 'jpeg', 'png', 'gif');

    if (in_array($fileActualExt, $allowed)) {
        if ($fileError === 0) {
            if ($fileSize < 5000000) { // الحد الأقصى لحجم الملف 5MB
                $fileNameNew = uniqid('', true).".".$fileActualExt;
                $fileDestination = 'uploads/'.$fileNameNew;
                move_uploaded_file($fileTmpName, $fileDestination);
                echo "تم تحميل الملف بنجاح!";
            } else {
                echo "حجم الملف كبير جدًا!";
            }
        } else {
            echo "حدث خطأ أثناء تحميل الملف!";
        }
    } else {
        echo "يرجى تحميل ملفات الصور فقط (JPG, JPEG, PNG, GIF).";
    }
}
?>

 

  • 0
نشر
بتاريخ 3 ساعة قال Chihab Hedidi:

للتحقق من قيمة الحقل info يمكنك إستخدام جافاسكريبت مع php حيث نفرض أنه يوجد لدينا  نموذج HTML بالشكل التالي:

<!DOCTYPE html>
<html lang="ar">
<head>
    <meta charset="UTF-8">
    <title>نموذج مع تحقق</title>
</head>
<body>
    <form name="myForm" action="submit.php" onsubmit="return validateForm()" method="post">
        <label for="info">Info:</label>
        <input type="text" id="info" name="info">
        <input type="submit" value="إرسال">
    </form>
</body>
</html>

بعدها نستخدم كود php لمراقبة الطلب و التأكد من القيمة:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $info = $_POST['info'];
    if ($info != 780) {
        echo "يرجى ملء الحقل بالرقم الصحيح.";
    } else {
        echo "تم إرسال النموذج بنجاح!";
        // يمكنك إضافة الكود لمعالجة النموذج هنا
    }
}
?>

نقوم بإنشاء ملف PHP باسم submit.php يتحقق الكود من طريقة الطلب للتأكد من أن النموذج تم إرساله باستخدام طريقة POST، ثم نحصل على قيمة الحقل "info" من بيانات النموذج، إذا كانت القيمة ليست 780، نظهر رسالة خطأ. إذا كانت القيمة صحيحة، نظهر رسالة نجاح.

أما للتحقق من نوع الملف المقبول على أنه صورة في نموذج HTML باستخدام PHP نقوم بإنشاء ملف PHP باسم upload.php، بعدها نحصل على معلومات الملف المرفوع من الحقل "image"، و نستخدم دالة explode لفصل اسم الملف للحصول على الامتداد، ثم نحوله إلى حروف صغيرة باستخدام strtolower، ثم نتحقق من أن الامتداد ضمن الامتدادات المسموح بها (JPG, JPEG, PNG, GIF)، إذا كان الامتداد صحيحا، نتحقق من عدم وجود أخطاء أثناء رفع الملف (fileError === 0)، ثم نظهر رسالة نجاح إذا تم رفع الملف بنجاح، أو رسالة خطأ مناسبة إذا كانت هناك مشكلة:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $file = $_FILES['image'];
    $fileName = $file['name'];
    $fileTmpName = $file['tmp_name'];
    $fileSize = $file['size'];
    $fileError = $file['error'];
    $fileType = $file['type'];

    $fileExt = explode('.', $fileName);
    $fileActualExt = strtolower(end($fileExt));

    $allowed = array('jpg', 'jpeg', 'png', 'gif');

    if (in_array($fileActualExt, $allowed)) {
        if ($fileError === 0) {
            if ($fileSize < 5000000) { // الحد الأقصى لحجم الملف 5MB
                $fileNameNew = uniqid('', true).".".$fileActualExt;
                $fileDestination = 'uploads/'.$fileNameNew;
                move_uploaded_file($fileTmpName, $fileDestination);
                echo "تم تحميل الملف بنجاح!";
            } else {
                echo "حجم الملف كبير جدًا!";
            }
        } else {
            echo "حدث خطأ أثناء تحميل الملف!";
        }
    } else {
        echo "يرجى تحميل ملفات الصور فقط (JPG, JPEG, PNG, GIF).";
    }
}
?>

 

كل input مرتبط مع اربع خيارات select... ماعم تزبط

  • 0
نشر
بتاريخ 5 دقائق مضت قال Baker Mohammed:

كل input مرتبط مع اربع خيارات select... ماعم تزبط

يمكنك إستخدام الكود التالي:

<!DOCTYPE html>
<html lang="ar">
<head>
    <meta charset="UTF-8">
    <title>نموذج مع خيارات مرتبطة</title>
</head>
<body>
    <?php
    $infoError = $selectError = "";
    $info = $select1 = $select2 = $select3 = $select4 = "";

    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $info = $_POST['info'];
        $select1 = $_POST['select1'];
        $select2 = $_POST['select2'];
        $select3 = $_POST['select3'];
        $select4 = $_POST['select4'];

        if ($info != 780) {
            $infoError = "يرجى ملء الحقل بالرقم الصحيح.";
        }

        if (empty($select1) || empty($select2) || empty($select3) || empty($select4)) {
            $selectError = "يرجى اختيار قيمة لكل قائمة منسدلة.";
        }

        if (empty($infoError) && empty($selectError)) {
            echo "تم إرسال النموذج بنجاح!";
            // يمكنك إضافة الكود لمعالجة النموذج هنا
        }
    }
    ?>

    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
        <label for="info">Info:</label>
        <input type="text" id="info" name="info" value="<?php echo htmlspecialchars($info);?>">
        <span style="color:red;"><?php echo $infoError;?></span><br><br>

        <label for="select1">اختر الخيار الأول:</label>
        <select id="select1" name="select1">
            <option value="" <?php if ($select1 == "") echo "selected";?>>اختر...</option>
            <option value="option1" <?php if ($select1 == "option1") echo "selected";?>>خيار 1</option>
            <option value="option2" <?php if ($select1 == "option2") echo "selected";?>>خيار 2</option>
        </select><br><br>

        <label for="select2">اختر الخيار الثاني:</label>
        <select id="select2" name="select2">
            <option value="" <?php if ($select2 == "") echo "selected";?>>اختر...</option>
            <option value="option1" <?php if ($select2 == "option1") echo "selected";?>>خيار 1</option>
            <option value="option2" <?php if ($select2 == "option2") echo "selected";?>>خيار 2</option>
        </select><br><br>

        <label for="select3">اختر الخيار الثالث:</label>
        <select id="select3" name="select3">
            <option value="" <?php if ($select3 == "") echo "selected";?>>اختر...</option>
            <option value="option1" <?php if ($select3 == "option1") echo "selected";?>>خيار 1</option>
            <option value="option2" <?php if ($select3 == "option2") echo "selected";?>>خيار 2</option>
        </select><br><br>

        <label for="select4">اختر الخيار الرابع:</label>
        <select id="select4" name="select4">
            <option value="" <?php if ($select4 == "") echo "selected";?>>اختر...</option>
            <option value="option1" <?php if ($select4 == "option1") echo "selected";?>>خيار 1</option>
            <option value="option2" <?php if ($select4 == "option2") echo "selected";?>>خيار 2</option>
        </select>
        <span style="color:red;"><?php echo $selectError;?></span><br><br>

        <input type="submit" value="إرسال">
    </form>
</body>
</html>

حيث نستخدم كود PHP للتحقق من القيم عند إرسال النموذج، و نتحقق من أن كل قائمة منسدلة تحتوي على قيمة غير فارغة، إذا كانت هناك أخطاء، نعرض رسائل خطأ بجانب الحقول المعنية، أما إذا لم تكن هناك أخطاء، نظهر رسالة نجاح.

 

  • 0
نشر
بتاريخ 27 دقائق مضت قال Chihab Hedidi:

يمكنك إستخدام الكود التالي:

<!DOCTYPE html>
<html lang="ar">
<head>
    <meta charset="UTF-8">
    <title>نموذج مع خيارات مرتبطة</title>
</head>
<body>
    <?php
    $infoError = $selectError = "";
    $info = $select1 = $select2 = $select3 = $select4 = "";

    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $info = $_POST['info'];
        $select1 = $_POST['select1'];
        $select2 = $_POST['select2'];
        $select3 = $_POST['select3'];
        $select4 = $_POST['select4'];

        if ($info != 780) {
            $infoError = "يرجى ملء الحقل بالرقم الصحيح.";
        }

        if (empty($select1) || empty($select2) || empty($select3) || empty($select4)) {
            $selectError = "يرجى اختيار قيمة لكل قائمة منسدلة.";
        }

        if (empty($infoError) && empty($selectError)) {
            echo "تم إرسال النموذج بنجاح!";
            // يمكنك إضافة الكود لمعالجة النموذج هنا
        }
    }
    ?>

    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
        <label for="info">Info:</label>
        <input type="text" id="info" name="info" value="<?php echo htmlspecialchars($info);?>">
        <span style="color:red;"><?php echo $infoError;?></span><br><br>

        <label for="select1">اختر الخيار الأول:</label>
        <select id="select1" name="select1">
            <option value="" <?php if ($select1 == "") echo "selected";?>>اختر...</option>
            <option value="option1" <?php if ($select1 == "option1") echo "selected";?>>خيار 1</option>
            <option value="option2" <?php if ($select1 == "option2") echo "selected";?>>خيار 2</option>
        </select><br><br>

        <label for="select2">اختر الخيار الثاني:</label>
        <select id="select2" name="select2">
            <option value="" <?php if ($select2 == "") echo "selected";?>>اختر...</option>
            <option value="option1" <?php if ($select2 == "option1") echo "selected";?>>خيار 1</option>
            <option value="option2" <?php if ($select2 == "option2") echo "selected";?>>خيار 2</option>
        </select><br><br>

        <label for="select3">اختر الخيار الثالث:</label>
        <select id="select3" name="select3">
            <option value="" <?php if ($select3 == "") echo "selected";?>>اختر...</option>
            <option value="option1" <?php if ($select3 == "option1") echo "selected";?>>خيار 1</option>
            <option value="option2" <?php if ($select3 == "option2") echo "selected";?>>خيار 2</option>
        </select><br><br>

        <label for="select4">اختر الخيار الرابع:</label>
        <select id="select4" name="select4">
            <option value="" <?php if ($select4 == "") echo "selected";?>>اختر...</option>
            <option value="option1" <?php if ($select4 == "option1") echo "selected";?>>خيار 1</option>
            <option value="option2" <?php if ($select4 == "option2") echo "selected";?>>خيار 2</option>
        </select>
        <span style="color:red;"><?php echo $selectError;?></span><br><br>

        <input type="submit" value="إرسال">
    </form>
</body>
</html>

حيث نستخدم كود PHP للتحقق من القيم عند إرسال النموذج، و نتحقق من أن كل قائمة منسدلة تحتوي على قيمة غير فارغة، إذا كانت هناك أخطاء، نعرض رسائل خطأ بجانب الحقول المعنية، أما إذا لم تكن هناك أخطاء، نظهر رسالة نجاح.

 

اخي فيه عندي هذا الكود وضعت له =100000 حجم الصورة لكن لم يزبط ابدآ اريد الصوره حجمها 100000 jpg  ..... ولا اريد ان يستقبل اي ملفات غير الصور... 

IMG_20240714_223450_edit_900960910121673.jpg

  • 0
نشر
بتاريخ 2 دقائق مضت قال Baker Mohammed:

اخي فيه عندي هذا الكود وضعت له =100000 حجم الصورة لكن لم يزبط ابدآ اريد الصوره حجمها 100000 jpg  ..... ولا اريد ان يستقبل اي ملفات غير الصور... 

هناك خطأ في المقارنة التي تستخدمها للتحقق من حجم الملف، يجب أن تستخدم مقارنة أكبر أو تساوي بدلا من = لضمان أن الملف لا يتجاوز الحجم المحدد. 

  • 0
نشر
بتاريخ 1 دقيقة مضت قال Chihab Hedidi:

هناك خطأ في المقارنة التي تستخدمها للتحقق من حجم الملف، يجب أن تستخدم مقارنة أكبر أو تساوي بدلا من = لضمان أن الملف لا يتجاوز الحجم المحدد. 

عملت ذالك ولم تزبط

  • 0
نشر
بتاريخ الآن قال Chihab Hedidi:

أرجوا إرسال الإيرور اللي يطلعلك

لايظهر شيئ عملية الارسال طبيعيه جدا لكن انا عاوز حقل الصورة لايستقبل صور اقل او اكثر من هذا الحجم ولا اريد ان يستقبل ملفات pdf exl....اريد يستقبل فقط صور ذات حجم 100000jpg

  • 0
نشر
بتاريخ منذ ساعة مضت قال Baker Mohammed:

لايظهر شيئ عملية الارسال طبيعيه جدا لكن انا عاوز حقل الصورة لايستقبل صور اقل او اكثر من هذا الحجم ولا اريد ان يستقبل ملفات pdf exl....اريد يستقبل فقط صور ذات حجم 100000jpg

لا تستطيع تحديد حجم واحد أي يكون أكبر أو اصغر من قيمة واحدة فهذه الطريقة غير عملية و حتى لو يظهر لك الملف على أن حجمه عشرة ميغابايت، لكن لن تجدها 10000 تماما بل سيكون أرقام عشوائية و مختلفة بين الملف و الآخر لذا من الأفضل جعلها أقل أو تساوي، وأيضا هذا تعديل ليقبل فقط ملفات jpg:

<?php
$uploadOk = 1;
$targetDir = "uploads/";
$targetFile = $targetDir . basename($_FILES["file"]["name"]);
$imageFileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION));

// التحقق من أن الملف هو صورة
$check = getimagesize($_FILES["file"]["tmp_name"]);
if ($check === false) {
    echo "الملف ليس صورة.";
    $uploadOk = 0;
}

// التحقق من حجم الملف
if ($_FILES["file"]["size"] > 100000) {
    echo "عذراً، حجم الملف كبير جداً.";
    $uploadOk = 0;
}

// التحقق من أن الملف هو بتنسيق JPEG
if($imageFileType != "jpg" && $imageFileType != "jpeg") {
    echo "عذراً، الملفات المسموح بها هي ملفات JPG فقط.";
    $uploadOk = 0;
}

// إذا كانت جميع الشروط مستوفاة، قم برفع الملف
if ($uploadOk == 1) {
    if (move_uploaded_file($_FILES["file"]["tmp_name"], $targetFile)) {
        echo "تم رفع الملف بنجاح.";
    } else {
        echo "عذراً، حدث خطأ أثناء رفع الملف.";
    }
}
?>

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...