الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اسوي كود التحقق من المدخل

بدأه man in dark في 21 يوليو 2008 · 11 رد · 1,235 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني انا لدي صفحة بحيث تقوم بادخال رقم و تضغط على كلمة تحقق

اذا كان الرقم موجود في قاعدة البيانات فيذهب الى الصفحة view.php

واذا لم يجد الرقم في قاعدة البيانات يذهب الى الصفحة sin.php

هذا كود ادخال الرقم


<head>
<title>إضافة موظف</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
<style type="text/css"/>
body {
font-family : Verdana;
}
</style>
</head>
<table width="553" border="0" align="center" cellpadding="0" cellspacing="0" height="61">
<tr>
<td><form name="signup" method="post" action="signup_ac.php">
<table width="91%" border="0" cellspacing="5" cellpadding="0">
<tr>
<td width="89" align="right"><b>ادخل الرقم</b></td>
<td width="6"></td>
<td width="376">
<input name="name" type="text" id="name" size="46" style="color: #000000">
<input type="submit" name="Submit" value="تحقق"></td>
</tr>
</table>
</body>
<form>
</td>
</tr>
</table>
</body>
</html>
<?php
?>
<html dir="rtl">

فكيف اعمل كود التحقق من الرقم

-

تم تعديل هذه المشاركة بواسطة man in dark في 21 يوليو 2008 في 17:09

#2
$query=mysql_query($sql);

if(mysql_num_rows($query)>0)
{
  //go to xx.php
}
else
{
  //go xx2.php
}
#3

بارك الله فيكم ،،،،

#4

اخي هل تقصد ان يكون الكود هكذا

<?php

include('config.php');

$sql ="SELECT * FROM test WHERE name='" . $name  . "'"); 

$query=mysql_query($sql);

if(mysql_num_rows($query)>0)
{
  echo "<META HTTP-EQUIV='refresh' CONTENT='10; URL=view.php'>";
}
else
{
  echo "<META HTTP-EQUIV='refresh' CONTENT='10; URL=sin.php'>";
}

?>

بحيث يظهر خطاء في السطر

$sql ="SELECT * FROM test WHERE name='" . $name  . "'");

الخطاء هو

Parse error: parse error, unexpected ')' in c:\camel\www\sic\signup_ac.php on line 5

تم تعديل هذه المشاركة بواسطة man in dark في 22 يوليو 2008 في 17:03

#5

احذف القوس من

$sql ="SELECT * FROM test WHERE name='" . $name  . "'");

تم تعديل هذه المشاركة بواسطة mana80 في 22 يوليو 2008 في 20:43

I Say Nothing

#6

اخي يحولني الى الصفحة sin.php

سوا كانت الرقم موجود في قاعدة البيانات ام لا

الكود

<?php

include('config.php');

$sql ="SELECT * FROM test WHERE name='" . $name  . "'";
$query=mysql_query($sql);

if(mysql_num_rows($query)>0)
{
  echo "<META HTTP-EQUIV='refresh' CONTENT='1; URL=view.php'>";
}
else
{
  echo "<META HTTP-EQUIV='refresh' CONTENT='1; URL=sin.php'>";
}

?>

قاعدة البيانات

-- phpMyAdmin SQL Dump
-- version 2.9.1.1
-- http://www.phpmyadmin.net
-- 
-- المزود: localhost
-- أنشئ في: 23 يوليو 2008 الساعة 16:42
-- إصدارة المزود: 5.0.22
--  PHP إصدارة: 4.4.4
-- 
-- قاعدة البيانات: `test2`
-- 

-- --------------------------------------------------------

-- 
-- بنية الجدول `test`
-- 

CREATE TABLE `test` (
  `id` int(4) NOT NULL,
  `name` varchar(10) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1256;

-- 
-- إرجاع أو إستيراد بيانات الجدول `test`
-- 

INSERT INTO `test` (`id`, `name`) VALUES 
(1, '1111'),
(2, '2222');
#7

على حسب الكود اللي عندك فقيمة ال

mysql_num_rows($query)>0

لا تكون ابدا اكبر من 0

لان ال select لديك بشرط معين

WHERE name='" . $name  . "'

ولم تحدد في الكود قيمة المتغير $name

sin.php لهذا دائما يحولك الى الصفحة

تم تعديل هذه المشاركة بواسطة mana80 في 23 يوليو 2008 في 19:11

I Say Nothing

#8

اخواني لقد تم تطبيق هذا الكود وهو يعمل 100% و لكن اريد جلب ID اذا تحقق و ارسالة الى صفحة VIEW.PHP

<?php 

include('config.php'); 

$number = intval($_POST['name']); 
$query = mysql_query("SELECT * FROM test WHERE number='" . $number  . "'"); 
$check = mysql_num_rows($query); 
if ($check > 0) 
	{ 
	echo 'جاري تحويلك'; 
	echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=view.php'>"; 
	}else{ 
	echo 'جاري تحويلك'; 
	echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=sin.php'>"; 
	}   

?>

لقد استخدمت الكود التالي

if ($check > 0)
	{
	echo 'جاري تحويلك';
	echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=view.php?id=<? echo $rows[id]; ?>'";
	}else{
	echo 'جاري تحويلك';
	echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=sin.php'>";
	echo mysql_error();
	}

ولكن عندما يكون الرقم صحيح يظهر لي على المتصفح

جاري تحويلك<META HTTP-EQUIV='refresh' CONTENT=0; URL=view.php?id=

ولا ينتقل الى الصفحة view.php

#9
	echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=view.php?id=<? echo $rows[id]; ?>' />";
#10

اخي الكود ينتقل الى الصفحة view.php عند التحقق و لكن لا يجلب id

بحيث يصبح عنوان الصفحة

http://localhost/sic/view.php?id=<?%20echo

من المفترض ان يجلب id و يكون عنوان الصفحة هكذا اذا افترضنا ان id يساوي 1

http://localhost/sic/view.php?id=1

قاعدة البيانات

-- phpMyAdmin SQL Dump
-- version 2.9.1.1
-- http://www.phpmyadmin.net
-- 
-- المزود: localhost
-- أنشئ في: 24 يوليو 2008 الساعة 15:34
-- إصدارة المزود: 5.0.22
--  PHP إصدارة: 4.4.4
-- 
-- قاعدة البيانات: `test2`
-- 

-- --------------------------------------------------------

-- 
-- بنية الجدول `test`
-- 

CREATE TABLE `test` (
  `id` int(4) NOT NULL,
  `number` varchar(10) NOT NULL,
  `name` varchar(10) NOT NULL,
  `phone` varchar(10) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1256;

-- 
-- إرجاع أو إستيراد بيانات الجدول `test`
-- 

INSERT INTO `test` (`id`, `number`, `name`, `phone`) VALUES 
(1, '1111', 'خالد', '541651465'),
(2, '2222', 'محمد', '5555555');

كود صفحة view.php

<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="test2"; // Database name
$tbl_name="test"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// get value of id that sent from address bar
$id=$_GET['id'];


// Retrieve data from database
$sql="SELECT * FROM $tbl_name WHERE id='$id'";
$result=mysql_query($sql);

$rows=mysql_fetch_array($result);
?>
<html dir="rtl">
<head>
<title>add</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
<style type="text/css"/>
body {
font-family : Verdana;
}
</style>
</head>
<table width="453" border="0" align="center" cellpadding="0" cellspacing="0" height="350">
<tr>
<td><form name="form1" method="post" action="update_ac.php">
<table width="97%" border="0" cellspacing="5" cellpadding="0">
<tr>
<td colspan="3" align="right">
<img border="0" src="images3/1.jpg" width="250" height="35"></td>
</tr>
<tr>
<td width="108" align="right"><b>إسم</b></td>
<td width="8"></td>
<td width="331">
<input name="name" type="text" id="name" size="30" style="color: #000000" value="<? echo $rows['name']; ?>" dir="rtl"></td>
</tr>
<tr>
<td width="108" align="right"><b>الرقم</b></td>
<td width="8"></td>
<td width="331">
<input name="number" type="text" id="number" size="30" style="color: #000000" value="<? echo $rows['number']; ?>" dir="rtl"></td>
</tr>
<tr>
<td width="108" align="right"><b>الجوال</b></td>
<td width="8"></td>
<td width="331">
<input name="phone" type="text" id="phone" size="30" style="color: #000000" value="<? echo $rows['phone']; ?>" dir="rtl"></td>
</tr>
<tr>
<td align="right"></td>
<td> </td>
<td colspan="2">
<input name="id" type="hidden" id="id" value="<? echo $rows['id']; ?>">
<input type="submit" name="Submit" value="تعديل البيانات"></td>
<td width="1">
  
</tr>
</table>
</form></td>
</tr>
</table>
</body>
</html>
#11

لقد تم تعديل الكود الى

if ($check > 0)
	{
	echo 'جاري تحويلك';
	echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=view.php?id=$rows[id]'>";
	}else{
	echo 'جاري تحويلك';
	echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=sin.php'>";
	echo mysql_error();
	}

الكود ينتقل الى الصفحة view.php عند التحقق و لكن لا يجلب id

بحيث يصبح عنوان الصفحة

http://localhost/sic/view.php?id=
#12

تم حل المشكلة

echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=view.php?id=". $rows['id'] ."'>";

مواضيع مشابهة