-
مشکل session
سلام این کد را در notepad نوشتم و تما @ها را برداشتم مروگر خطای را نشان نمیدهد
[PHP]<?php
session_start();
if(isset($_POST['username']))
{
$con=mysql_connect("localhost","root","");
if(!$con)
{die('could not connect');}
mysql_select_db("register",$con);
$username = addslashes($_POST[username]);
$password=addslashes($_POST[password]);
$result = mysql_query("SELECT count(*) FROM users WHERE username = '$username' and password = '$password'");
//$p = mysql_query("SELECT count(*) FROM users WHERE password = '$password'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
//$row = mysql_fetch_row($p);
if($row[0]>0 )
{
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
header("Location: index.php");
printf("خوش آمدید%s<br />", $username);
printf('<form action="index.php" method="post" class=" dir">
<br/>
<input type="submit" value="خروج" />'); exit;
}else
{echo"نام کاربری یا کلمه عبور اشتباه می باشد";
printf('<form action="1.php" method="post" class=" dir">
<input type="text" name="username" value="نام کاربری" />
<input type="password" name="password" value="پسورد"/>
<br/>
<input type="submit" value="ورود" />
<a href="register.html" ><div class="dir">ثبت نام کاربر جدید </a></div>
<a href="back password.html" ><div class="dir">کلمه عبور را فراموش کرده ام </a></div>
</form>'); } }
?>[/PHP]
اما وقتی که در دریم ویور مینویسم مرورگراین خطا را نشان میده نمدانم مشکل از کجاست
Untitled DocumentWarning: session_start() [
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
]: Cannot send session cache limiter - headers already sent (output started at
C:\wamp\www\1.php:9) in C:\wamp\www\1.php on line 13
خط 13 در دریم ویور این session_start();میباشد
-
فایل رو وقتی با نوت پد درست میکنی و به صورت UTF-8 سیو میکنی یک فاصله قبل کد میندازه که باعث این ارور میشه اگه از نوتپد هم استفاده نمیکنی نگاه کن ببین قبل کدت خط فاصله نباشه.
-
سلام من این کد را بین تگ body نوشتم که مرورگر این خطا را میدهد حالا نمدانم مشکل از کجاست
-
این که بدتر شد :دی قبل از session فقط کد php میتونه باشه نه چیز دیگه نه html نه خط فاصله شما این کار رو بکن:
کد:
<?php session_start(); ?>
<html>
<head>
...
<body
<?php
if($_POST['username']){
...
-
دوست عزیز در کل شما قبل از session_start نباید هیچ hederi بفرستی حالا شما از یک space در نظر بگر تا ....
-
آقای tazphoneixبسیار ممنونم از راهنمایتان کد را بهمین صورتی که گفتید نوشتم
[PHP]<?php session_start(); ?>
<html>
<head>
...
<body
<?php
if($_POST['username']){
...[/PHP]اما وقتی روی صفحات دیگر سایتم کلیک میکنم نام کاربری نگه نمیدارد
در صورتیکه در صفحات دیگه این کد را قبل از تمام کدها نوشتم
[PHP]<?php session_start(); ?>
[/PHP]
-
شما اصلا تو کدت سشن رو ست میکنی؟
[PHP]$_SESSION['username'] = $_POST['username'];[/PHP]
-
سلام
من کد صفحه اصلی را بدین صورت نوشتم باز نام کاربری در خود نگه نمیداره
[PHP]<?php session_start();
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body >
<tr>
<td height="2"><table width="985" border="1">
<div class="nav-main nav-main-font">
<ul>
<li><a href="index.php" class=" selected">صفحه اصلی</a></li>
<li><a href="html.html">Html</a></li>
<div class="sidebarbox-border bg-blue02">
<div class="sidebarbox-title-shading bg-blue05 dircss ">ورود کاربر</div>
<?php
$_SESSION['username']=$_post['username'];
?>
<div class="container-content-sidebar-front"> <p>
روشی است برای قالب بندی و طراحی اجزای صفحه از Cascading Style Sheetstyle یاهمان css قبیل متن، تصویر،زمینه صفحه، کادرها
</p>
</td>
</tr>
</table>
</body>
</html>[/PHP]
-
$_post['username'];
$_POST
-
معذرت میخام این حرف رو میزنم ولی شما اصلا" مبانی فرم ساختن رو بلدین:چون باید اول فرم بسازین بعد به php بگین وقتی فرم submit شد مقدار username input و بریز تو username session.این کدی که شما نوشتی همون اول میره میگرده واسه username input میبینه خالیه همون خالی رو میندازه تو username session.
-
میشه در مورد قسمت دوم جوابتون بیشتر توضیح بدین
---------- Post added at 02:01 PM ---------- Previous post was at 02:00 PM ----------
من کد را بدین صورت تغییر دادم
[PHP]<?php37. if(isset($_POST['username'])){38. $_SESSION['username']=$_post['username']; 39. }40. ?>[/PHP]
-
شما یه کد لوگین میخای دیگه درسته؟بفرما:نگاه کن ببین چطور نوشته شده تا یاد بگیری چطور کد نویسی کنی.
[PHP]<?php
session_start();
$mysql_connection = mysql_connect('locahost', 'root', '');
mysql_select_db('register', $mysql_connection);
if($_POST['submit']=='Login'){
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$user_query = "SELECT * FROM `users` WHERE `username`='$username' AND `password`='$password'";
$user_result = mysql_query($user_query);
$user_row = mysql_fetch_array($user_result);
if($user_row[0]){
$_SESSION['username'] = $username;
header('Location: index.php');
}else{
die('نام کاربری یا کلمه ی عبور اشتباه است.');
}
}
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Login</title>
</head>
<body>
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" method="post">
Username : <input type="text" name="username" />
Password : <input type="text" name="password" />
<input type="button" name="submit" value="Login" />
</form>
</body>
</html>[/PHP]
من این کد رو بر اساس کد اول شما نوشتم و این یعنی این کد یسری نواقص داره اول این که همه واسه ی کانکت شدن به مای اس کیو ال کد ها رو تو فایل دیگه مینویسن و اینکلود میکنن.دوم هم این که پسور هم تو قسمت ورود و هم موقع اضافه کردن اطلاعات با دیتا بیس هش میشه و هش شده اش چک میشه.در ضمن من این کد رو تست نکردم اگه جواب نداد خبر بده.
-
این کد در فرم لاگین نوشتم اما وقتی روی دکمه ورود کلیک میکنم هیچ چیزی را نشان نمیده
در صورتیکه من برای فرم لاگین این کد را نوشته بودم که در واقع این پیام (نام کاربری یا کلمه عبور اشتباه است)و یا به سایت خوش آمدید به کاربر نشان میداد فرم لاگینم جداست . میخواهم وقتی روی صفحات دیگر سایت کلیک کنم نام کاربری در خود نگه دارد حالا نمیدانم چه کدهای دیگری در صفحات دیگه و همچنین فرم لاگین اضافه کنم
اینهم کد فرم لاگینم[PHP]<?php
session_start();
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<table width="989" height="695" border="1">
<tr>
<td width="1223" height="141" class=" header">web design tutorial</td>
</tr>
<tr>
<td height="2"><table width="985" border="1">
<div class="nav-main nav-main-font">
<ul>
<li><a href="index.php" class=" selected">صفحه اصلی</a></li>
<li><a href="register.html">عضویت</a></li>
<li><a href="contact.html">تماس با ما</a></li>
</ul>
</div>
<div class="buffer"></div>
</table></td>
</tr>
<tr>
<td align="left" valign="top">
<div class="sidebarbox-border bg-blue02">
<div class="sidebarbox-title-shading bg-blue05 dircss ">ورود کاربر</div>
<?php
if(isset($_POST['username']))
{
$con = mysql_connect("localhost","root","");
if(!$con)
{
die('could not connect');
}
mysql_select_db("register",$con);
$username = addslashes($_POST['username']);
$password = addslashes($_POST['password']);
$result = mysql_query("SELECT COUNT(*) FROM `users` WHERE `username`='$username' AND `password`='$password';");
//$p = mysql_query("SELECT count(*) FROM users WHERE password = '$password'");
if(!$result)
{
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
//$row = mysql_fetch_row($p);
if($row[0] > 0)
{
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
//echo '<meta http-equiv="Refresh" content="0; URL=someOther.php" />';
printf("خوش آمدید%s<br />", $username);
printf('<form action="index.php" method="post" class=" dir">
<br/>
<input type="submit" value="خروج" />'); exit;
}
else
{
echo"نام کاربری یا کلمه عبور اشتباه می باشد";
printf('<form action="login.php" method="post" class=" dir">
<input type="text" name="username" value="نام کاربری" />
<input type="password" name="password" value="پسورد"/>
<br/>
<input type="submit" value="ورود" />
<a href="register.html" ><div class="dir">ثبت نام کاربر جدید </a></div>
<a href="back password.html" ><div class="dir">کلمه عبور را فراموش کرده ام </a></div>
</form>');
}
}?>
</tr>
</table>
</body>
</html>
[/PHP]