Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Сессии и MySQL

Сообщения:  [1-10]   [11-15] 

 
 автор: Ziq   (21.08.2005 в 07:52)   письмо автору
 
   для: David   (20.08.2005 в 12:22)
 

Иногда чем в скрипте разобраться легче его написать заново.
P.S. Тестировать надо чаще в момент разработки, чтобы проверять потом не весь скрипт, а маленький кусок.

   
 
 автор: David   (20.08.2005 в 12:22)   письмо автору
 
   для: David   (18.08.2005 в 20:57)
 

Никто больше не знает что мне делать?

   
 
 автор: David   (18.08.2005 в 20:57)   письмо автору
 
   для: Loki   (18.08.2005 в 19:29)
 

Столько ошибок...
все равно не пашет =(

   
 
 автор: Loki   (18.08.2005 в 19:29)   письмо автору
 
   для: David   (18.08.2005 в 18:59)
 

Поправьте

<?
$loginadmin
=$_POST['$loginadmi']; 
$passwordadmin=$_POST['$passwordadmi']; 
?>

на

<?
$loginadmin
=$_POST['loginadmi']; 
$passwordadmin=$_POST['passwordadmi']; 
?>

тут у вас тоже ошибка.

   
 
 автор: David   (18.08.2005 в 18:59)   письмо автору
 
   для: Loki   (18.08.2005 в 15:35)
 

Одну ошибку устранили, спасибо. Только все равно авторизироваться не хочет, не хочет переходить на admin1.php?mode=index

   
 
 автор: Loki   (18.08.2005 в 15:35)   письмо автору
 
   для: David   (18.08.2005 в 14:09)
 

Как я понял, ошибка в том, что $fa не является массивом
необходимо

$sess_pass=$fa['pass']; 
$sess_login=$fa['login']; 
$sess_ip=$fa['ip']; 

заменить на

$sess_pass=$ra['pass']; 
$sess_login=$ra['login']; 
$sess_ip=$ra['ip']; 

   
 
 автор: David   (18.08.2005 в 14:09)   письмо автору
 
   для: cheops   (18.08.2005 в 13:52)
 

Создал папку, изменил настройки в php.ini, перезагрузил apache, вообще ничего не сохраняется.
Вот, кстати, полный скрипт. Может что дальше неправильно.

<?
include ("configuration.php");
$c=mysql_connect($server$user$password) or die ("Ошибка соединения с базой данных");
     
mysql_select_db($mydb);
   
$action=$_GET['action'];
   
$mode=$_GET['mode'];
 
 if(
$action=="login") {
 
$loginadmin=$_POST['$loginadmi'];
 
$passwordadmin=$_POST['$passwordadmi'];
 
$ip=$_SERVER['REMOTE_ADDR'];
 
$fa=mysql_query("SELECT * FROM admin");
 if (!
$fa) exit(mysql_error());
 for (
$i=0$i<mysql_num_rows($fa); $i++)
 {
 
$ra=mysql_fetch_array($fa);
 
 
$sess_pass=$fa['pass'];
 
$sess_login=$fa['login'];
 
$sess_ip=$fa['ip'];
 
 if(
$loginadmin==$sess_login && $passwordadmin==$sess_pass && $ip=$sess_ip) {
 
session_start();
 
$_SESSION['loginadmin']=$loginadmin;
 
$_SESSION['passwordadmin']=$passwordadmin;
 
$_SESSION['ip']=$ip;
 if (
$mode=="") { $mode="index"; }
 
header ("Location: admin1.php?mode=$mode");
 }
 else {
 
header ("Location: admin1.php");
 }
 }
 }
if (
session_is_registered("$loginadmin")) {}
else {
include (
"header.php");
echo 
"Для входа введите логин и пароль:";
echo 
"<form action='admin1.php?action=login&mode=$mode' method='post'>";
echo 
"Логин:<input type=text name=loginadmi><br>";
echo 
"Пароль:<input type=text name=passwordadmi><br>";
echo 
"<input type=submit name=login value='$login'>";
echo 
"</form>";
exit;
}
 
 
if (!isset(
$mode)) { $mode="index"; }
switch (
$mode) {
case (
"index"):
include (
"header.php");
echo 
"<center>Добро пожаловать в админскую GP!</center>";
echo 
"<table width=100% border=0><tr><a href=$PHP_SELF?mode=editmess>Редактировать сообщения</a>&nbsp|&nbsp<a href=$PHP_SELF?mode=dooreditadmin>Добавить\редактировать админов</a></tr></table>";
break;
case (
"editmess"):
include (
"header.php");
$f=mysql_query ("SELECT * FROM vhod");
for (
$i=0$i<mysql_num_rows($f); $i++)
{
$r=mysql_fetch_array($f);
echo 
"<table width=100%>";
echo 
"<tr>";
echo 
"<b>Написал</b>: $r[NAME] с <b>LICQ</b> $r[LICQ] <b>IP</b>:&nbsp&nbsp$r[IP]";
echo 
"</tr>";
echo 
"<tr>Сообщение:$r[MESSAGE]";
echo 
"</tr><tr align=right>";
echo 
"<b>Дата написания</b>: $r[DATE]</tr>";
echo 
"<tr align=right>";
echo 
'<a href="">Удалить</a>';
}
break;
case (
"dooreditadmin");

echo 
"<table width=100% cellspacing=3 cellpadding=3>";
echo 
"<tr>";
echo 
"Просмотреть все сообщения &nbsp|&nbsp ";
echo 
"<a href='edit.php'>Редактировать сообщения</a> &nbsp|&nbsp";
echo 
"Удалить сообщения &nbsp|&nbsp";
echo 
"Добавить\редактировать админа";
break;
}
mysql_close();
?>

Что описано в case, наверно, не надо проверять, потому что там не доделано, пока проблема в проверке логина и пароля.

   
 
 автор: cheops   (18.08.2005 в 13:52)   письмо автору
 
   для: David   (18.08.2005 в 13:26)
 

Настройте сохранение сессий на диск, так как это описывается в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=415 - что-нибудь в файл сохраняется?

   
 
 автор: David   (18.08.2005 в 13:26)   письмо автору
 
   для: cheops   (18.08.2005 в 02:31)
 

Все сделал. Потом высветилось логин, пароль, ip. Там все логины, пароли и ип совпадали.
Но все равно ниче не пашет :(

   
 
 автор: cheops   (18.08.2005 в 02:31)   письмо автору
 
   для: David   (17.08.2005 в 19:40)
 

Попробуйте после строки
<?php
$fa
=mysql_query("SELECT * FROM admin");
?>

поставить проверку
<?php
  
if(!$fa) exit(mysql_error());
?>

а после строки
<?php
$ra
=mysql_fetch_array($fa);
?>

вывести содержимое массива $ra
<?php
print_r
($ra);
?>

   

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования