PDA

View Full Version : مشکل در کد PHP - فوری!



pasargadteam
پنج شنبه 20 تیر 1392, 19:26 عصر
با سلام و درود بیکران
بنده برای یک پروژه ای که در آموزشگاهی که برای PHP می رفتم در یک قسمتش دچار مشکل شدم.
قسمتی که دچار مشکل شده مربوط به ثبت نام کاربر است.
اطلاعات رو کامل میگیره , اما صفحه رو ریفرش میکنه و پیغام خطا رو نمایش میده, و حتی وقتی روی دکمه ثبت نام کلیک بکنه و اطلاعاتی در فرم نباشه یا بهتر بگم فرم خالی باشه ارسال می کنه و برمیگرده و خطا رو نشون میده اما در در حال درون دیتابیس ذخیره میکنه چه اطلاعات رو و چه فیلد های خالی رو.
من شرط گذاشتم که چک کنه و این کارو میکنه اما به دیتابیس خالی ارسال میکنه ولی کاربر متوجه این عمل نمیشه و فقط با پیغام اینکه اطلاعات وارد نشده روبرو می شود.
کد های صفحه ثبت نام و ارسال دیتا رو میزارم اگر دوستی بتونه کمک کنه ممنون میشم. امشب تا آخر وقت (پنجشنبه 20تیر) مهلت دارم.

کد صفحه ثبت نام


<?php
// Start Session first.
session_start();
// Include all information of cennection to DataBase.
include('includes/inc/config.inc.php');
if(isset($_POST["username"]))
{
$username = $_POST['username'];
$password = $_POST['password'];
$chusers = "SELECT * FROM users WHERE username = '" . $username . "' AND password = '" . $password . "'";
$result = mysql_query($chusers);

if(mysql_num_rows($result) > 0)
{
setcookie("username" , $_POST["username"],time()+3600);
setcookie("password" , $_POST["password"],time()+3600);
$row= mysql_fetch_row($result);
$_SESSION["user"] = $row;
header("location:userspanel.php");
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<title>.:: ثبت نام در پرتال ::.</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="templates/defaults/css/mystyles.css" rel="stylesheet" type="text/css">
<link href="templates/defaults/css/bootstrap.css" rel="stylesheet" media="screen">
<link href="templates/defaults/css/bootstrap-responsive.css" rel="stylesheet" media="screen">
<script src="templates/defaults/js/bootstrap.js"></script>
<script src="templates/defaults/js/jquery-1.7.1.min.js"></script>
</head>
<body>
<?php
if(!isset($_SESSION['user']))
{
?>
<table width="720" border="0" align="center" cellpadding="0" cellspacing="0" dir="rtl" style="font-family: Tahoma; font-size: 9pt; letter-spacing: 1; text-align: center;">
<tr>
<td width="755" align="left" valign="top" class="farvahar">&nbsp;</td>
</tr>
<tr>
<td>
<table width="700" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="393" valign="top"><table width="300" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="20"><table width="300" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="20"><span class="label label-important FFtext"><a href="login.php" target="_self" data-toggle="tooltip" title="ورود به ناحیه کاربری">ورود کاربری</a></span></td>
</tr>
</table></td>
</tr>
</table></td>
<td width="336">
<form class="navbar-form pull-left" action="senddata.php" method="POST" enctype="multipart/form-data">
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="114" height="35" class="span2"><span class="FFtext">شناسه:</span></td>
<td width="174" class="fildbg"><table width="100" height="35" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><input name="username" id="username" type="text" class="span2" size="23"></td>
</tr>
</table></td>
</tr>
<tr>
<td width="114" height="35" class="span2"><span class="FFtext">رمزعبور:</span></td>
<td width="174" class="fildbg"><table width="100" height="35" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><input name="password" id="password" type="password" class="span2" size="23"></td>
</tr>
</table></td>
</tr>
<tr>
<td width="114" height="35" class="span2"><span class="FFtext">ایمیل:</span></td>
<td width="174" class="fildbg"><table width="100" height="35" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><input name="email" id="email" type="text" class="span2" size="23"></td>
</tr>
</table></td>
</tr>
<tr>
<td width="114" height="35" class="span2"><span class="FFtext">نام:</span></span></td>
<td width="174" class="fildbg"><table width="100" height="35" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><input name="fname" id="fname" type="text" class="span2" size="23"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="35" class="span2"><span class="FFtext">نام خانوادگی:</span></td>
<td class="fildbg"><table width="100" height="35" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><input name="lname" id="lname" type="text" class="span2" size="23"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="35" class="span2"><span class="FFtext">تاریخ تولد:</span></td>
<td class="fildbg"><table width="100" height="35" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><input name="birthday" id="birthday" type="text" class="span2" size="23"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="35" class="span2"><span class="FFtext">سن:</span></td>
<td class="fildbg"><table width="100" height="35" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><input name="age" id="age" type="text" class="span2" size="23"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="35" class="span2"><span class="FFtext">جنسیت:</span></td>
<td class="fildbg"><table width="100" height="35" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<select name="sex" id="sex" class="span2">
<option>انتخاب کنید</option>
<option>مونث</option>
<option>مذکر</option>
</select>
</td>
</tr>
</table>
<p>
</p></td>
</tr>
<tr>
<td height="35" class="span2"><span class="FFtext">تصویر پروفایل:</span></td>
<td class="fildbg"><table height="35" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><input name="file" type="file" class="btn" id="file" size="15"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="50">&nbsp;</td>
<td height="50"><button type="submit" class="btn">ثبت نام</button></td>
</tr>
</table></form></td>
</tr>
</table></td>
</tr>
<tr>
<td height="25">
<?php
$message = "";
if(isset($_GET["message"]))
{
$message = $_GET["message"];
echo '<div class="alert alert-error">';
echo '<button type="button" class="close" data-dismiss="alert">&times;</button>';
echo '<h4 class="text-error">' . 'پیام سیستم!' . '</h4>';
echo '<span class="text-error">' . $message;
echo '</div>';
}
?>
</td>
</tr>
<tr>
<td width="755"><a href="http://pasargadservices.com" target="blank" title="طراح و مجری سیستم شرکت خدمات پاسارگاد"><img src="templates/defaults/images/logopasargad.png" width="89" height="34"></a><span class="FFtext">:PCMS Ver 1.0.0 Build 1.0 - Design and Development by</span></td>
</tr>
</table>
<?php
}
else
{
header('location:userspanel.php');
}
?>
</body>
</html>


کد صفحه ارسال دیتا


<?php
// Start Session first.
session_start();
// Include all information of cennection to DataBase.
include('includes/inc/config.inc.php');
// Check if not set session USER , back to Index and show message
if(isset($_POST["username"]))
{
header('location:index.php?message=اطلاعات وارد نشده است. لطفاً بیشتر دقت کنید!');
}
// Check Infos and insert to DataBase.
$username = $_POST["username"];
$password = $_POST["password"];
$email = $_POST["email"];
$fname = $_POST["fname"];
$lname = $_POST["lname"];
$birthday = $_POST["birthday"];
$age = $_POST['age'];
$sex = $_POST["sex"];
if(file_exists("uploads/" . $_FILES["file"]["name"]))
{
echo "این فایل وجود دارد";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"] , "uploads/" . $_FILES["file"]["name"]);
}
$query = "INSERT into users (id,username,password,fname,lname,email,birthday,a ge,sex,file) VALUES (NULL, '" . $username . "', '" . $password . "', '" . $fname . "','" . $lname . "', '" . $email . "', '" . $birthday . "', '" . $age . "', '" . $sex . "' , '" . "uploads/" . $_FILES["file"]["name"] . "')";
// Result of Query.
$result = mysql_query($query) or die(mysql_error());
// IF id Over 0 Session user is true and login page is show to users.
if(mysql_num_rows($result) > 0)
{
$row= mysql_fetch_row($result);
$_SESSION["user"] = $row;

// EMAIL FUNCTION
$to = $_POST["email"];
$subject = "ثبت نام در سیستم";
$message = "شما با موفقیت ثبت نام شده اید.";
$from = "pscoltd7@gmail.com";
$header = "From:" . $from;
mail($to,$subject,$message,$header);

// Redirect To Login Page
header("location:login.php");
}
?>


با تشکر

H:Shojaei
پنج شنبه 20 تیر 1392, 20:20 عصر
سلام
شما بايد با اين دستور چك كنيد كه مقدار تكست ها خالي نباشد:

if(isset($_POST['usernale'])&$_POST['username']!='')
حالا اگر خالي نبودن كاري كه ميخوايد انجام بدين در غير اين صورت اين دستور:

else echo "text is empty.";

pasargadteam
پنج شنبه 20 تیر 1392, 20:39 عصر
ممنون از راهنماییتون با یکم بالا و پایین کردن درست شد.
کد جدید اولش اینطوری شد درست شد:



if(!isset($_SESSION["user"]))
{
header('location:index.php?message=اطلاعات وارد نشده است. لطفاً بیشتر دقت کنید!');
}
if(isset($_POST['username']) && $_POST['username']!='')
{

darkcms
پنج شنبه 20 تیر 1392, 23:57 عصر
با سلام.
می توانید به جای این دستور:


if(isset($_POST['username']) && $_POST['username']!='')

از دستور زیر استفاده کنید:


if(isset($_POST['username']) && !empty($_POST['username'])){\\ Your ...}

به امید فردایی بهتر!:لبخندساده: