تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو نشيط
تاريخ التسجيل: Mar 2008-
#1 (permalink)  
سكربتي قارب على الانتهاء ولكن اين انتم يا خبراء php


السلام عليكم
اخواني
انا اول سكربت لي شارف على الانتهاء وكل وجميع الصفحات كاملة
ولكن وجدت مشكلة وهي في نموذج التسجيل
وهي كيف يستعلم هل اليوزر موجود مسبقا ام لا ؟
وكيف يتم التفعيل عن طريق الايميل انا ساشرح لكم فكرتي واخبروني هل هي صحيحة ام خاطئة
وهي؟
اذا تم التسجيل يكون هناك حقل في جدول الاعضاء يحمل رقم التفعيل ويرسل رسالة لايميل تحمل رمز التفعيل ويطلب في الرسالة الدخول الى تعبئة الخقل برمز التفعيل واذا كان صحيحا يحذف قيمة الحقل من قاعدة البيانات

واتمنى ان تتحاور ونتناقش بعقلانية واعتقد انه نموذج التسجيل قليل شروحاته وسيعتبر هذا الموضوع مرجع لامثالي.

وبالتوفيق_






v.i.p_99 غير متواجد حالياً   قديم 24-04-2008, 02:39 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Aug 2007-
#2 (permalink)  

بالنسبة لكيفية الإستعلام هل اليوزر موجود او لأ ..

تفضل الطريقة :

كود PHP:
<?php
 
// أولا قم بإستدعاء ملف الإصتال بالقاعدة
 
include("config.php"); 
 
$name $_GET['name'];
 
$sql "select * from table_name where user_name = $name"
 
$sql_2 mysql_query($sql);
 
$result mysql_num_rows($sql_2);
 if (
$result == >0) {
 echo 
"الإسم موجود مسبقا";
 }
 
?>
اتمنى أني قد أفدتك






mostafa-962 غير متواجد حالياً   قديم 24-04-2008, 05:00 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jan 2008-
#3 (permalink)  

اعتقد تقصد هاذا
كود PHP:
 if ($result >0) {
 echo 
"الإسم موجود مسبقا";
 } 






__________________
سكربت اف ام scriptfm
لبرمجة و تصميم المواقع
http://www.scriptfm.com
احمد شكر غير متواجد حالياً   قديم 24-04-2008, 05:05 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2007-
#4 (permalink)  

كود الاخ mostafa-962 صحيح .

بخصوص طريقة التفعيل طريقتك صحيحة اخوي لكن الكلام شي والتطبيق شي ... لو سمحت تكتب مرة ثانية الطريقة بالتفصيل الممل وبعدها الكود الي عملتو عشان نزبطلك الوضع .


الى الامام اخوي .






EbNCaNa غير متواجد حالياً   قديم 24-04-2008, 06:15 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Mar 2008-
#5 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة mostafa-962 مشاهدة المشاركة
بالنسبة لكيفية الإستعلام هل اليوزر موجود او لأ ..

تفضل الطريقة :

كود PHP:
<?php
 
// أولا قم بإستدعاء ملف الإصتال بالقاعدة
 
include("config.php"); 
 
$name $_GET['name'];
 
$sql "select * from table_name where user_name = $name"
 
$sql_2 mysql_query($sql);
 
$result mysql_num_rows($sql_2);
 if (
$result == >0) {
 echo 
"الإسم موجود مسبقا";
 }
 
?>
اتمنى أني قد أفدتك
اهلا اخي الف شكر
بس ملف الكوفينق طبعا لازم يكون فيه امر الاتصال ولا انا غلطان

ومن جد الف الف شكر ما قصرت

وبالتوفيق_






v.i.p_99 غير متواجد حالياً   قديم 25-04-2008, 02:02 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Aug 2007-
#6 (permalink)  

هلا اخوي
نعم ملف الكونفيج يتم فيه الإتصال بقاعدة البيانات بالطريقة المعتادة :

كود PHP:
<?php
 $connect 
mysql_connect("localhost","root","pass");
 
$db mysql_select_db("name");
?>






mostafa-962 غير متواجد حالياً   قديم 25-04-2008, 09:28 AM
رد مع اقتباس
مشرف سوالف عامة و خدمات البيع و الشراء و الاعلانات التجارية
تاريخ التسجيل: Oct 2003-
#7 (permalink)  

وعليكم السلام ورحمة الله وبركاته ..

كود PHP:
<?php
// حماية من اوامر الفبركة
$action htmlentities($_GET['action']);
if(
$action == "done")
    {
        include(
"config.php");
        
$username htmlentities($_POST['username']);
        
$password htmlentities($_POST['password']);
        
$email htmlentities($_POST['email']);
        
//حساب عدد النتائج للتأكد من وجود نفس المستخدم
$num mysql_num_rows(mysql_query("select * from users where username='$username'"));
//المستخدم إذا 0 يعني أنه غير متواجد
if($num == "0")
    {
        
// للتأكد من حقول الفورم غير فارغة
        
if($username != "" || $password != "" || $email != "")
                {
                    
// انشاء رقم عشوائي للتتفعيل
                    
$activate md5("MySiteName",mktime(55555));
                    
// القيمة الافتراضية 0 وفي برمجتك استعلم انه يجب ان يكون 1
                    
$userok 0;
                    
// الاضافة في القاعدة
                    
$insert   mysql_query("insert into `users` (`username`,`password`,`email`,`activate`,`userok`)".values.
                    
"('$username','$password','$email','$activate','$userok')");
                    
// التحقق من ادخال البيانات
                    
if($insert)
                        {
                            
// رسالة تظهر لنجاح الادخال - التسجيل
                            
echo"<center>تم تسجيلك بنجاح<br>
                            وسوف يتم ارسال رسالة لبريدك $email لتفعيل مستخدمك</center>"
;
                            
// بريد المستخدم
                            
$to $_POST['email'];
                            
// اسم البريد القادم من
                            
$from_name "MySite Name";
                            
// بريد صاحب الموقع
                            
$from_email "MyEmail Site";
                            
// عنوان الرسالة الرئيسية
                            
$subject "تفعيل عضويتك في MySite";
                            
// نص الرسالة وكل سطر جديد تضع \n
                            
$msg "مرحبا بك يا .. $username\n
                            السلام عليكم ورحمة الله وبركاته\n
                            شكرا لتسجيلك ونرجوا الضغط على الوصلة ادناه لتفعيل عضويتك\n
                            الوصلة: http://www.MySite.com/activate.php?id=$activate\n
                            \n
                            مع خالص الود ...\n
                            إدارة موقعي\n
                            http://www.MySite.com"
;
                            
// الارسال للهيدر حتى لا يكون JunkMail وتأتي في ال Inbox
                            
$headers "From: =?windows-1256?B?".base64_encode($from_name)."?= <".$from_email.">\n";
                            
$headers .= "(anti-spam-(anti-spam-mime-version:)) 1.0\r\n";
                            
$headers .= "(anti-spam-(anti-spam-content-type:)) text/plain; charset=windows-1256\r\n";
                            
$headers .= "Reply-To: ".$from_name." <".$from_email.">\r\n";
                            
$headers .= "X-Priority: 1\r\n";
                            
$headers .= "X-MSmail-Priority: High\r\n";
                            
$headers .= "X-mailer: PHPMailer\r\n";
                            
//كود الارسال
                            
mail($to$subject$msg$headers);
                            echo
"<center>تم ارسال الرسالة بنجاح لبريدك الان</center>";
                            
                        }else{
                            
//رسالة في حال ان هناك خطأ في قاعدة البيانات
                            
echo"<center>هناك خطأ في قاعدة البيانات ، يمكنك المحاولة لاحقا</center>";
                        }
                    
                }else{
                    
// رسالة في حال لم يكمل الفراغات للفورم التسجيل
                    
echo"<center>عفوا يجب عليك ملئ كامل البيانات</center>";
                }
    }else{
        
// رسالة إذا كان موجود العضو مسبقا ، فلعله نسي كلمة المرور او مسجل منذ قدم
        
echo"<center>عفوا هذا الاسم غير متوفر<br>
        إذا كنت نسيت كلمة المرور .. <a href='forget.php'>اضغط هنا</a></center>"
;
    }

    }else{
        
//ضع فورم التسجيل وارسله
        //Method='POST' action='register.php?action=done'
    
}


?>
يجب ان يكون لديك ملف
activate.php
وتستعلم بالتحديث userok=0
إلى userok=1
في حال

كود PHP:
<?php
$id 
$_GET['id'];
include(
"config.php");
$activateuser mysql_query("update users set userok='1' where activate='$id'");
?>
بالتوفيق ، واي خطأ ، الاخوان يساعدونا انا وانت ..






__________________
البانر.نت للبيع
http://www.swalif.net/softs/swalif30/softs245814/
albanner غير متواجد حالياً   قديم 25-04-2008, 06:32 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Mar 2008-
#8 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة albanner مشاهدة المشاركة
وعليكم السلام ورحمة الله وبركاته ..

كود PHP:
<?php
// حماية من اوامر الفبركة
$action htmlentities($_GET['action']);
if(
$action == "done")
    {
        include(
"config.php");
        
$username htmlentities($_POST['username']);
        
$password htmlentities($_POST['password']);
        
$email htmlentities($_POST['email']);
        
//حساب عدد النتائج للتأكد من وجود نفس المستخدم
$num mysql_num_rows(mysql_query("select * from users where username='$username'"));
//المستخدم إذا 0 يعني أنه غير متواجد
if($num == "0")
    {
        
// للتأكد من حقول الفورم غير فارغة
        
if($username != "" || $password != "" || $email != "")
                {
                    
// انشاء رقم عشوائي للتتفعيل
                    
$activate md5("MySiteName",mktime(55555));
                    
// القيمة الافتراضية 0 وفي برمجتك استعلم انه يجب ان يكون 1
                    
$userok 0;
                    
// الاضافة في القاعدة
                    
$insert   mysql_query("insert into `users` (`username`,`password`,`email`,`activate`,`userok`)".values.
                    
"('$username','$password','$email','$activate','$userok')");
                    
// التحقق من ادخال البيانات
                    
if($insert)
                        {
                            
// رسالة تظهر لنجاح الادخال - التسجيل
                            
echo"<center>تم تسجيلك بنجاح<br>
                            وسوف يتم ارسال رسالة لبريدك $email لتفعيل مستخدمك</center>"
;
                            
// بريد المستخدم
                            
$to $_POST['email'];
                            
// اسم البريد القادم من
                            
$from_name "MySite Name";
                            
// بريد صاحب الموقع
                            
$from_email "MyEmail Site";
                            
// عنوان الرسالة الرئيسية
                            
$subject "تفعيل عضويتك في MySite";
                            
// نص الرسالة وكل سطر جديد تضع \n
                            
$msg "مرحبا بك يا .. $username\n
                            السلام عليكم ورحمة الله وبركاته\n
                            شكرا لتسجيلك ونرجوا الضغط على الوصلة ادناه لتفعيل عضويتك\n
                            الوصلة: http://www.MySite.com/activate.php?id=$activate\n
                            \n
                            مع خالص الود ...\n
                            إدارة موقعي\n
                            http://www.MySite.com"
;
                            
// الارسال للهيدر حتى لا يكون JunkMail وتأتي في ال Inbox
                            
$headers "From: =?windows-1256?B?".base64_encode($from_name)."?= <".$from_email.">\n";
                            
$headers .= "(anti-spam-(anti-spam-(anti-spam-mime-version:))) 1.0\r\n";
                            
$headers .= "(anti-spam-(anti-spam-(anti-spam-content-type:))) text/plain; charset=windows-1256\r\n";
                            
$headers .= "Reply-To: ".$from_name." <".$from_email.">\r\n";
                            
$headers .= "X-Priority: 1\r\n";
                            
$headers .= "X-MSmail-Priority: High\r\n";
                            
$headers .= "X-mailer: PHPMailer\r\n";
                            
//كود الارسال
                            
mail($to$subject$msg$headers);
                            echo
"<center>تم ارسال الرسالة بنجاح لبريدك الان</center>";
 
                        }else{
                            
//رسالة في حال ان هناك خطأ في قاعدة البيانات
                            
echo"<center>هناك خطأ في قاعدة البيانات ، يمكنك المحاولة لاحقا</center>";
                        }
 
                }else{
                    
// رسالة في حال لم يكمل الفراغات للفورم التسجيل
                    
echo"<center>عفوا يجب عليك ملئ كامل البيانات</center>";
                }
    }else{
        
// رسالة إذا كان موجود العضو مسبقا ، فلعله نسي كلمة المرور او مسجل منذ قدم
        
echo"<center>عفوا هذا الاسم غير متوفر<br>
        إذا كنت نسيت كلمة المرور .. <a href='forget.php'>اضغط هنا</a></center>"
;
    }
 
    }else{
        
//ضع فورم التسجيل وارسله
        //Method='POST' action='register.php?action=done'
    
}
 
 
?>
يجب ان يكون لديك ملف
activate.php
وتستعلم بالتحديث userok=0
إلى userok=1
في حال

كود PHP:
<?php
$id 
$_GET['id'];
include(
"config.php");
$activateuser mysql_query("update users set userok='1' where activate='$id'");
?>
بالتوفيق ، واي خطأ ، الاخوان يساعدونا انا وانت ..
اهلابك اخي اتمنى ان تشرح خطوة خطوة
وماذا يجب ان يكون في ملف activate.php
وحقا الف شكر ماقصرت






v.i.p_99 غير متواجد حالياً   قديم 26-04-2008, 02:56 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Mar 2008-
#9 (permalink)  

up
up
up
up
up






v.i.p_99 غير متواجد حالياً   قديم 27-04-2008, 03:15 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Jan 2008-
#10 (permalink)  

يكون في ملف التفعيل

مقارنة بين الرقم الذي تم توليده و الرقم الموجود في الجدول


اذا كانت الجواب صح حدث قيمة المتغير من userok من 0 الى 1


اذا بدك التفصيل قلي لكن اعتقد ان ما قلته سهل التطبيق وليس صح بما انك قد انتهيت من برمجة سكربتك






__________________
قريبا PHPBoys.net مرتع مبرمجين PHP
تم الانتهاء من برمجة وكالة حياة برس للانباء
ala_shorbaji@hotmail.com
النحات غير متواجد حالياً   قديم 27-04-2008, 06:13 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Jan 2008-
#11 (permalink)  

تفضل اخوي هذا الكود

ان اصبت فمن الله و لم أٌصِب فمن الشيطان


كود PHP:
<?php

include("config.php");

$key $_GET['key'];
$query "SELECT * FROM  users";
$result mysql_query ($query) or die ("Query failed");
while(
$arr=mysql_fetch_array($result))
{
$org $arr['activekey'];
}

if(
$key=$org ) {

//تحديث قيمة userok  الى 1 وذلك لتصنيه عضويته انها مفعلة !!
$query2="UPDATE users SET userok='''1'";
$active_update mysql_query ($query2) or die ("Query failed");

//حذف كود التفهيل من القاعدة و هو اختياري

$query3="UPDATE users SET activekey='''null'";
$active_update mysql_query ($query2) or die ("Query failed");


echo
"تم تفعيل عضويتك بنجاح !!";

}
else
echo
"خطأ في كود التفعيل يرجى التأكد من الرابط !!!";







?>



ممكن انو يكون بكريقة اخرى

وهو عن طريق ارسال ارقم فقط الى الايميل

والمستخدم يقوم بوضعه بشكل يدوي ويتم التأكد منه كما في الكود في الاعلى


دعواتك لي اخي الكريم






__________________
قريبا PHPBoys.net مرتع مبرمجين PHP
تم الانتهاء من برمجة وكالة حياة برس للانباء
ala_shorbaji@hotmail.com
النحات غير متواجد حالياً   قديم 27-04-2008, 09:40 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Mar 2008-
#12 (permalink)  
الصفحات

اهلا اخوي النحات هذي الصفحات ما زبطت معي

كود PHP:
<html>
<
head>
<
meta http-equiv="Content-Language" content="ar-sa">
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<
title>اسم المستخدم</title>
</
head>
<
body background="../index_08.gif" style="background-attachment: fixed">
<
form method="post" action="do_reg.php">
<
p align="right">ا<font color="#FFFFFF">سم المستخدم</font></p>
<
p align="right"><font color="#FFFFFF">
<
input type="text" name="username" size="20"></font></p>
<
p align="right"><font color="#FFFFFF">كلمة المرور</font></p>
<
p align="right"><font color="#FFFFFF">
<
input type="text" name="password" size="20"></font></p>
<
p align="right"><font color="#FFFFFF">إعادة كلمة المرور</font></p>
<
p align="right"><font color="#FFFFFF">
<
input type="text" name="pass2" size="20"></font></p>
<
p align="right"><font color="#FFFFFF">البريد الالكتروني</font></p>
<
p align="right"><input type="text" name="email" size="20"></p>
<
p align="right"><input type="submit" value="إرسال" name="B1"><input type="reset" value="إعادة تعيين" name="B2"></p>
</
form>
   
 
 
</
body>
</
html
وهذي صفحة التاكيد
كود PHP:
<?php 
// حماية من اوامر الفبركة 
$action htmlentities($_GET['action']); 
if(
$action == "done"
    { 
        include(
"config.php"); 
        
$username htmlentities($_POST['username']); 
        
$password htmlentities($_POST['password']); 
        
$email htmlentities($_POST['email']); 
        
//حساب عدد النتائج للتأكد من وجود نفس المستخدم 
$num mysql_num_rows(mysql_query("select * from users where username='$username'")); 
//المستخدم إذا 0 يعني أنه غير متواجد 
if($num == "0"
    { 
        
// للتأكد من حقول الفورم غير فارغة 
        
if($username != "" || $password != "" || $email != ""
                { 
                    
// انشاء رقم عشوائي للتتفعيل 
                    
$activate md5("MySiteName",mktime(55555)); 
                    
// القيمة الافتراضية 0 وفي برمجتك استعلم انه يجب ان يكون 1 
                    
$userok 0
                    
// الاضافة في القاعدة 
                    
$insert   mysql_query("insert into `users` (`username`,`password`,`email`,`activate`,`userok`)".values
                    
"('$username','$password','$email','$activate','$userok')"); 
                    
// التحقق من ادخال البيانات 
                    
if($insert
                        { 
                            
// رسالة تظهر لنجاح الادخال - التسجيل 
                            
echo"<center>تم تسجيلك بنجاح<br> 
                            وسوف يتم ارسال رسالة لبريدك $email لتفعيل مستخدمك</center>"

                            
// بريد المستخدم 
                            
$to $_POST['email']; 
                            
// اسم البريد القادم من 
                            
$from_name "MySite Name"
                            
// بريد صاحب الموقع 
                            
$from_email "MyEmail Site"
                            
// عنوان الرسالة الرئيسية 
                            
$subject "تفعيل عضويتك في MySite"
                            
// نص الرسالة وكل سطر جديد تضع \n 
                            
$msg "مرحبا بك يا .. $username\n 
                            السلام عليكم ورحمة الله وبركاته\n 
                            شكرا لتسجيلك ونرجوا الضغط على الوصلة ادناه لتفعيل عضويتك\n 
                            الوصلة: http://www.MySite.com/activate.php?id=$activate\n 
                            \n 
                            مع خالص الود ...\n 
                            إدارة موقعي\n 
                            http://www.MySite.com"

                            
// الارسال للهيدر حتى لا يكون JunkMail وتأتي في ال Inbox 
                            
$headers "From: =?windows-1256?B?".base64_encode($from_name)."?= <".$from_email.">\n"
                            
$headers .= "(anti-spam-(anti-spam-(anti-spam-mime-version:))) 1.0\r\n"
                            
$headers .= "(anti-spam-(anti-spam-(anti-spam-content-type:))) text/plain; charset=windows-1256\r\n"
                            
$headers .= "Reply-To: ".$from_name." <".$from_email.">\r\n"
                            
$headers .= "X-Priority: 1\r\n"
                            
$headers .= "X-MSmail-Priority: High\r\n"
                            
$headers .= "X-mailer: PHPMailer\r\n"
                            
//كود الارسال 
                            
mail($to$subject$msg$headers); 
                            echo
"<center>تم ارسال الرسالة بنجاح لبريدك الان</center>"
                             
                        }else{ 
                            
//رسالة في حال ان هناك خطأ في قاعدة البيانات 
                            
echo"<center>هناك خطأ في قاعدة البيانات ، يمكنك المحاولة لاحقا</center>"
                        } 
                     
                }else{ 
                    
// رسالة في حال لم يكمل الفراغات للفورم التسجيل 
                    
echo"<center>عفوا يجب عليك ملئ كامل البيانات</center>"
                } 
    }else{ 
        
// رسالة إذا كان موجود العضو مسبقا ، فلعله نسي كلمة المرور او مسجل منذ قدم 
        
echo"<center>عفوا هذا الاسم غير متوفر<br> 
        إذا كنت نسيت كلمة المرور .. <a href='forget.php'>اضغط هنا</a></center>"

    } 

    }else{ 
        
//ضع فورم التسجيل وارسله 
        //Method='POST' action='register.php?action=done' 
    



?>
والكوفينق
كود PHP:
<?php
 $connect