مشكلة(كود php)في صفحة تسجيل عضويات لم أجد لها حلا منذ اسابيع تقريبا

  • abdoalelah

السلام عليكم

لدي مشكلة في صفحة تسجيل عضويات php

وهي في كود التحقق من اسم المستخدم أو الايميل(واحد منهم)موجود مسبقا أم لا

وهي أن الكود يدخل البيانات إلى جدول phpmyadmin ويظهر(تم تسجيلك بنجاح)

من دون ان يتأكد هل اسم المستخدم او الايميل(واحد منهم)موجود مسبقا أم لا

مع العلم اني حذفت السيرفر المحلي(appserv) بأكلمه والجداول السابقه واعد تنصيب السيرفر المحلي من جديد 100% وجربت أيضا وبعدها تم اصلاح الخلل والان عاد من جديد

وأيضا المشكلة لم تحل حتى في برنامجxampp

(معليش كلامي طويل بس لازم أوضح المشكلة)

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

<?php include'files/html_start.php'; ?>

تسجيل

<?php include'files/login_options.php'; ?>

<?php include'files/head&header.php'; ?>

<?php

$u_email_test=@$_POST['u-email_test'];

$u_name=@$_POST['u-name'];

$u_email=@$_POST['u-email'];

$u_pass=@$_POST['u-pass'];

$u_pass_test=@$_POST['u-pass_test'];

$table=mysqli_query($mc,"select uname,uemail from users where uname='$u_name'&&uemail='$u_email'");

$ok=@$_POST['ok'];

$n_r=mysqli_num_rows($table);

//$n_r=mysqli_fetch_assoc($table);

if(empty($u_name)||empty($u_email)||empty($u_email_test)||empty($u_pass)||empty($u_pass_test))

if(isset($_POST["ok"]))

{

{echo"نرجوا تعبئة جميع الحقول";}

elseif($n_r['uname']>0)

elseif(!FILTER_VAR($u_email,FILTER_VALIDATE_EMAIL))

{echo"اسم المستخدم مستعمل مسبقا";}

{echo"يجب إدخال صيغة بريد

(مثال:(example@company.com)إلكتروني في حقل البريد الإلكتروني";}

{echo"حقلي البريد الإلكتروني وتأكيده

elseif($n_r['uemail']>0)

{echo"البريد الإلكتروني مستعمل مسبقا";}

elseif($u_email_test!=$u_email)

غير متطابقين";}

elseif(!FILTER_VAR($u_pass,FILTER_VALIDATE_INT)||strlen($u_pass)!=4)

{echo"حقلي الرقم السري وتأكيده

{echo"الرقم السري يجب أن يتكون من أربعة

أرقام فقط بدون حروف أو رموز";}

elseif($u_pass_test!=$u_pass)

غير متطابقين";}

else{

$yes=mysqli_query($mc,"INSERT INTO users(uname,uemail,upass) VALUES('$u_name','$u_email','$u_pass')")or mysqli_error();

if(isset($yes))

{

echo"<p class='success'>تم تسجيلك بنجاح</p>";
}

}

}

?>

تسجيل عضو جديد

اسم المستخدم"/>

تأكيد البريد الإلكتروني"/>

البريد الإلكتروني"/>

الرقم السري" name="u-pass" placeholder="أربعة أرقام فقط بدون رموز أو حروف"/>

تأكيد الرقم السري

<?php include"files/footer.php"; ?>
يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

1 - الكود الخاص بك مليء بالاخطاء غير المنطقية ! هل فعلا هو يعمل ويدخل لقاعدة البيانات ؟؟ -لا اظن ذلك-

2 - بشكل منطقي يجب التحقق من ملئ الحقول في البداية وليس بالنهاية , اي اولا يجب التحقق من ما اذا كانت الحقول فارغة ام لا ومن ثم اقوم بعملية الاستعلام عن وجودها بقاعدة البيانات.

3 - المشكلة ليست بالسيرفر او باي شيء سوى الكود , راجعه وتحقق منه هذا كل شيء .

abdoalelah أضف ردا

انا وضعت حقول الادخال في الاسفل

واكواد php في الاعلى ($_post)تلتقط القيم

لكن في هذا الموضوع اتوقع لم تظهر بوضوح

وشكرا

hasan_hatem أضف ردا

قم بتجربة الكود التالي كتبته لك لكن بدون تجربته لكن أظنه شغال 99%

كودر ال php:

<?php

include 'files/html_start.php';

echo 'تسجيل';

include'files/login_options.php';

include'files/head&header.php';

if (isset($_POST['register'])) {

    // inputs
    $username  = @$_POST['username'];
    $email     = @$_POST['email'];
    $email2    = @$_POST['email2'];
    $password  = @$_POST['password'];
    $password2 = @$_POST['password2'];

    $ok = true;

    if (empty($username) || empty($email) || empty($email2) || empty($password) || empty($password2)) {
        $ok = false;
    }

    if (!$ok) {
        echo "يرجى تعبئة الحقول";
    } else {

        $flag = true;

        if (!FILTER_VAR($email,FILTER_VALIDATE_EMAIL)) {
            $out = "البريد الإلكتروني غير صحيح يرجى التأكد منه";
            $flag = false;
        }
        if ($email != $email2) {
            $out = "البريد الإلكتروني غير متطابق يرجى التأكد منه";
            $flag = false;
        }
        if ($password != $password2) {
            $out = "كلمة المرور غير متطابقة يرجى التأكد منها";
            $flag = false;
        }

        if (!$flag) {
            echo $out;
        } else {
            $check = mysqli_query($mc,"select $username,$email from users where uname='$username'&&uemail='$email'");
            if (count($check) > 0) {
                echo "إسم المستخدم أو البريد الإلكتروني موجود لدينا يرجى إختيار اسم وبريد أخر";
            } else {
                $insert = mysqli_query($mc,"INSERT INTO users(uname,uemail,upass) VALUES('$username','$email','$password')")or mysqli_error();
                if ($insert) {
                    echo "تم تسجيلك بنجاح";
                }
            }
        }

    }
}

كود ال html :

"> إسم المستخدم

البريد الإلكتروني
<input type="text" name="email">

تأكيد البريد الإلكتروني
<input type="text" name="email2">

كلمة المرور
<input type="password" name="password">

تأكيد كلمة المرور
<input type="password" name="password2">

<input type="submit" name="register" value="تسجيل">