Проблем с логване

kenwood10

Registered
Имам следният проблем.. Незнам как да го опиша.. Става въпрос за различни потребители от време на време просто неиска да ги логва! След да кажем 1-2 часа се оправя и се логват без проблем от къде може да идва проблема "хакнат" сайт проблем от хостинга ? Не става въпрос за всички потребители ? Всичко си вървеше нормално...!
 
Може да има доста причини, трябва и малко код да дадеш - може да се претоварва хоста, може когато са "логаут"-нали всъщност да си пази сесията и един вид да са си логнати все още и т.н.
 
кодът на логин-а ли ти трябва кои код да ти предоставя ? Реално мисля , че ти логоутва но има отворена сесия... Проблем стабилен си е... преди го нямах...
 
PHP:
<?
ob_start();
session_start();
session_destroy();


header("Location: index.php");


?>

Проблемът е такъв , че когато натиснеш логоут няма проблеми.. Когато си оставиш отворен браузъра и изчезнеш някаде и след 30-40-50 мин пак започнеш работа с вече отвореният браузър и идват проблемите...
 
PHP:
<? include("header.php"); if(isset($_SESSION['username'])) { header("Location: ./my.php"); } ?>



<table border="0" width="100%" cellspacing="2" cellpadding="2">

 <tr>

  <td valign="top" width="100%">





<table border="0" cellspacing="0" cellpadding="0" width="100%">

	 <tr>

	  <td><? echo menu("Вход"); ?></td>

	 </tr>

	 <tr>

	  <td class="menuc">

<?

if(protect(isset($_POST['login']))) {

 $username = protect($_POST['username']);

 $password = protect($_POST['password']);

	$redirect = protect($_GET['redirect']);

  $check = mysql_query("SELECT * FROM users WHERE username='$username' and password='$password'");

   if(mysql_num_rows($check)>0) {

		session_register("username");

		session_register("password");

		header("Location: ./map2.php");

	}

		else

	{

		echo errorbox("Грешно потребителско име или парола.");

	}

}

?>

<table border="0" cellspacing="2" cellpadding="2" width="100%">

 <tr>

  <td>

<form action="" method="POST">

<table border="0" cellspacing="2" cellpadding="2">

 <tr>

  <td><input type="text" class="user" size="55" name="username" value="потребителско име" onblur="addText(this);" onfocus="clearText(this)"></td>

 </tr>

 <tr>

  <td><input type="password" class="pass" size="55" name="password" value="парола" onblur="addText(this);" onfocus="clearText(this)"></td>

 </tr>

 <tr>

  <td>

   <table border="0" cellspacing="0" cellpadding="0">

    <tr>

	<td><input type="submit" class="btn" name="login" value="Вход"></td>

	<td>  </td>

      <td><table border="0" cellspacing="0" cellpadding="0"><tr><td><img src="images/reg_icon.png" width="15px"></td><td><a href="./register.php"> Регистрация</a></td></tr></table>

	<table border="0" cellspacing="0" cellpadding="0"><tr><td><img src="images/wp_icon.png" width="15px"></td><td><a href="./sendpassword.php"> Забравена парола?</a></td></tr></table></td>

    </tr>

   </table>

  </td>

 </tr>

</table>

</form>

 </td>

  <td>

   <img src="images/car.png" width="200px">

  </td>

 </tr>

</table>

 </td>

</tr>

</table>





  </td>

 </tr>

</table>


Може естествено ... :)
 
Вместо "session_register", тествай да го замениш със "$_SESSION"

http://php.net/manual/bg/reserved.variables.session.php

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


Също така ти препоръчвам ако имаш желание, да прочетеш моят урок.

http://web-tourist.net/login/login/view.php?st=3418
 
Така направих това което ми каза... Както и за ob_start() беше много полезно за което ти благодаря... Сега дано изчезне проблемът .... Ако не изчезне ще пиша пак.. Но странното е , че до сега го нямаше този проблем както всичко си работеше нормално и изведнъж камък... Някои може ли да ми обясни това което се случва... незнам дали версията php прави проблеми хостинга или кодовете... или може от всичко..
 
Пак има същият проблем.. пробвам сега със session_start(); да видя какво ще стане...
 
И пак камък... Проблем същият проблем... Когато си остава браузъра отворен после си оставам в сайта.. Обаче сякъш несъм вътре смисъл там където трябва да имам точки нямам точки нямам потребителско име т.е. на мястото на потребителското име има празно място и т.н. ???
 
Разбрах какъв е филма.. Когато сесиите са изтекли т.е. след 40-50 мин отново оставаш в играта но си без акаунт... Как да го направя така , че когато сесиите са изтекли да те прехвърля в логин.пхп примерно ?
 
Примерно:
PHP:
<?php
if(!$_SESSION[username]) {
header ("Location: login.php");
}
?>
И си сложи най-отгоре над кода в страницата, в която ще слагаш това пренасочване този код:
PHP:
<?php
ob_start();
?>
 

Back
Горе