PDA

View Full Version : مشکل session



jalaladdin
جمعه 11 تیر 1389, 17:51 عصر
سلام این کد را در notepad نوشتم و تما @ها را برداشتم مروگر خطای را نشان نمیدهد





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>'); } }
?>اما وقتی که در دریم ویور مینویسم مرورگراین خطا را نشان میده نمدانم مشکل از کجاست
Untitled DocumentWarning: session_start() [function.session-start (http://forum.majidonline.com/function.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();میباشد

امیـرحسین
جمعه 11 تیر 1389, 18:58 عصر
تابع session_start هدر ایجاد می کنه و header هم همینطور. برای انتقال به صفحه ی دیگه، از روش دیگه ای استفاده کنید.
این پست رو بخونید: Cannot modify header و زهرمار (http://boplo.ir/php/damned-cannot-modify-header/)

jalaladdin
جمعه 11 تیر 1389, 19:15 عصر
تابع session_start هدر ایجاد می کنه و header هم همینطور. برای انتقال به صفحه ی دیگه، از روش دیگه ای استفاده کنید.
این پست رو بخونید: Cannot modify header و زهرمار (http://boplo.ir/php/damned-cannot-modify-header/)
--------------
سلام دوست گرامی من این لینک را خوندم اما متوجه نشدم من نمدانم بااین کد چکار کنم

Reza1607
شنبه 12 تیر 1389, 08:39 صبح
--------------
سلام دوست گرامی من این لینک را خوندم اما متوجه نشدم من نمدانم بااین کد چکار کنم

به جای این کد


header("Location: index.php");

این کد رو قرار بده


echo '<meta http-equiv="Refresh" content="0; URL=someOther.php" />';

jalaladdin
شنبه 12 تیر 1389, 23:06 عصر
سلام این کد را بین تگ bodyنوشتم این کد را برایتان میگذارم

<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>
<link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
<Link href="JS.js" type="text/javascript">
<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">


<div class="sidebarbox-title-shading bg-blue05 dircss ">ورود کاربر</div>


<?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;
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="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>');
}
}?>

</div>
</div>
<div class="container-content-sidebar">
<div class="content-pagetitle dircss ">آموزش طراحی سایت </div>
<div class="contentbox-container">
<div class="container-content-sidebar-front"> <p>
</p>

</td>
</tr>
</table>


</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

</body>
</html>
مرورگر این خطا را نشان میدهد

Warning: session_start() [function.session-start (http://www.barnamenevis.org/forum/function.session-start)]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\4\1.php:14) in C:\wamp\www\4\1.php on line 54

Warning: session_start() [function.session-start (http://www.barnamenevis.org/forum/function.session-start)]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\4\1.php:14) in C:\wamp\www\4\1.php on line 54

milworm
یک شنبه 13 تیر 1389, 08:43 صبح
سلام بچه ها

بنظر استادان گرامی کدام یک از کدهای زیر بهتره که ازشون استفاده کنیم:


header("Location: index.php");
echo '<meta http-equiv="Refresh" content="0; URL=someOther.php" />';

jalaladdin
دوشنبه 14 تیر 1389, 08:11 صبح
سلام بچه ها

بنظر استادان گرامی کدام یک از کدهای زیر بهتره که ازشون استفاده کنیم:


header("Location: index.php");
echo '<meta http-equiv="Refresh" content="0; URL=someOther.php" />';

سلام دوست گرامی کد دوم را بنوبسید

jalaladdin
دوشنبه 14 تیر 1389, 08:14 صبح
در تمام صفحات سایتم این کد را نوشتم اما نام کاربری را نگه نمیدارد
لطفا راهنمای کنید چه کد های دیگری باید اضافه شود

<?php



session_start();
؟>

Reza1607
دوشنبه 14 تیر 1389, 08:53 صبح
در تمام صفحات سایتم این کد را نوشتم اما نام کاربری را نگه نمیدارد
لطفا راهنمای کنید چه کد های دیگری باید اضافه شود

<?php
session_start();
؟>
این دستور به تنهایی کافی نیست
بعدش هم باید با استفاده از


$_SESSION
متغییرها رو ذخیره کنی اینجوری


$_SESSION['x']=$x;
البته من اینجوری از سوال شما گیرم اومد که شما فقط همون یک خط رو نوشتید حالا اگه این خطهایی رو که گفته بودم رو نوشته اید به بزرگی خودتون ببخشید

jalaladdin
دوشنبه 14 تیر 1389, 10:09 صبح
سلام دوست عزیز من کد را بدین صورت نوشتم
اما مشکلم حل نشد نمدانم درست رفتم یا نه!

<?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>

Reza1607
دوشنبه 14 تیر 1389, 10:29 صبح
من کدتون رو یکم عوض کردم

<?php
session_start();
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body >
<table>
<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>
</ul>
</div>
<div class="sidebarbox-border bg-blue02">
<div class="sidebarbox-title-shading bg-blue05 dircss ">ورود کاربر</div>
<form action='' method='post'>
<table>
<tr>
<td>User Name :</td>
<td><input type='text' name='username' value=''></td>
</tr>
<tr>
<td>Password :</td>
<td><input type='password' name='passwd' value=''></td>
</tr>
<tr>
<td colspan='2'>
<input type='submit' name='btn' value='Login'>
</td>
</tr>
</table>
</form>
<?php
if(isset($_POST['username'])){
$_SESSION['username']=$_post['username'];
}
?>
<div class="container-content-sidebar-front"> <p>
روشي است براي قالب بندي و طراحي اجزاي صفحه از Cascading Style Sheetstyle ياهمان css قبيل متن، تصوير،زمينه صفحه، کادرها
</div>
</td>
</tr>
</table>
</body>
</html>

jalaladdin
دوشنبه 14 تیر 1389, 11:14 صبح
باز هم مشکل وجود دارد من میخواهم مثل سایتهای دیگه که وقتی کاربر وارد سایت شد نام کاربری به کاربر نشان دهد
اما با این کد

<?php
if(isset($_POST['username'])){
$_SESSION['username']=$_post['username'];
}
?>
وقتی روی صفحات دیگر کلیک میکنم نام کاربری نگه نمداره

Reza1607
دوشنبه 14 تیر 1389, 11:21 صبح
شرمنده داداش باید $_post رو با حروف صورت بزرگ بنویسی
این رو هم امتحان بکنم

jalaladdin
سه شنبه 15 تیر 1389, 07:39 صبح
من برای فرم لاگین این کد را نوشته بودم که در واقع این پیام (نام کاربری یا کلمه عبور اشتباه است)و یا به سایت خوش آمدید به کاربر نشان میداد فرم لاگینم جداست . میخواهم وقتی روی صفحات دیگر سایت کلیک کنم نام کاربری در خود نگه دارد حالا نمیدانم چه کدهای دیگری در صفحات دیگه و همچنین فرم لاگین اضافه کنم
اینهم کد فرم لاگینم
<?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>

funpatogh
سه شنبه 15 تیر 1389, 22:07 عصر
سلام بچه ها

بنظر استادان گرامی کدام یک از کدهای زیر بهتره که ازشون استفاده کنیم:


header("Location: index.php");
echo '<meta http-equiv="Refresh" content="0; URL=someOther.php" />';
اولی رو وقتی استفاده میکنی نباید قبلش چیزی رو چاپ کرده باشید چون اررور میدهد اما دومی رو وقتی استفاده میکنیم مربوط به تگ های html میشه و همه جوری کار میکنه