Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переадресация юзера на заданный линк, не выводится линк после авторизации 
:(
    Опции темы
almen
Дата 7.7.2008, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 25.4.2007

Репутация: нет
Всего: нет



День добрый,
обычная схема:
юзер проходит регистрацию, вносится в БД, получает ссылку для активации, входит под своим логином и после зтого должен перебрасываться на свой уникальный URL. Все работает до момента отправления юзера на свой уникальный вебадрес. 

Вот скрипт login.php

Код


<?
session_start();
$dbuser= "bla bla";
$dbpass= "bla bla";
if (isset($_POST['login'])) {
   $passwordHash = md5($_POST['password']);
   $login = $_POST['login'];

   if (!preg_match("/^\w{3,}$/", $login)) {
      die('Login ist falsch!');
   }
   $link = mysql_connect('localhost',$dbuser,$dbpass);
   if (!$link) {
      die('Keine Verbindung mit DB!');
   }else{
      mysql_select_db('portal', $link);
      $res = mysql_query("SELECT status FROM users WHERE login='$login'", $link);

      if (mysql_num_rows($res) < 1) {
         mysql_close($link);
         die('Ihre Angaben zum Login sind ung&uuml;ltig.<br>
Bitte pr&uuml;fen Sie die Schreibweise Ihres Benutzernamens und Ihres Passwortes und versuchen Sie es erneut.<br>
Achten Sie beim Passwort auch auf Gro&szlig;- und Kleinschreibung oder darauf, ob versehentlich die Feststelltaste gedr&uuml;ckt ist.');
      }

      if (mysql_result($res, 0) != 1) {
         mysql_close($link);
         die('Der Login wurde nicht aktiviert!');
      }

       
      $_SESSION['user'] = $login;
      mysql_close($link);
    
      header ("location: userpage.php");

   }
}
?>




логика  userpage.php следующая:
проверка существует ли вообще такой user, если нет иди на index.php.
если же он идентифицирован, то вытащи из таблицы его вебадрес и отправь его туда. 

Код

<?php
session_start();
if (!isset($_SESSION['user'])) {
    header ("location: index.php");
    exit();
}else {
    $login = $_SESSION['user'];
    $res = mysql_query("SELECT * FROM users WHERE login='$login'", $link);
    if (mysql_num_rows($res) < 1) {
        // raz takogo usera net v BD, no on est' v sessii - zna4it 4to-to ne tak (haker?) -
        // udalyaem ego iz sessii pereadresuem na glavnuyu
        mysql_close($link);
        unset($_SESSION['user']);
        header ("location: index.php");
        exit();
    }else {      
        $myrow = mysql_fetch_array($res);
        // nije raspe4ativaem li4nuyu infu usera is massiva $myrow
    }
}
?>



Ошибки выдает такие:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\portal\userpage.php on line 8

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\portal\userpage.php on line 9

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\portal\userpage.php on line 12

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\portal\userpage.php:8) in C:\xampp\htdocs\portal\userpage.php on line 14

Не пойму, где напортачил?
PM MAIL   Вверх
americanets
Дата 7.7.2008, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 2
Всего: 12



Цитата(almen @  7.7.2008,  11:19 Найти цитируемый пост)
Не пойму, где напортачил?




Цитата(almen @  7.7.2008,  11:19 Найти цитируемый пост)
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\portal\userpage.php on line 8


Добавлено @ 15:34
Цитата(almen @  7.7.2008,  11:19 Найти цитируемый пост)
 
Код

 $res = mysql_query("SELECT * FROM users WHERE login='".$login."'", $link);



Это сообщение отредактировал(а) americanets - 7.7.2008, 15:35


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
almen
Дата 7.7.2008, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 25.4.2007

Репутация: нет
Всего: нет



исправил, но ошибка таже
PM MAIL   Вверх
Feldmarschall
Дата 7.7.2008, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



значит, не исправил
PM   Вверх
almen
Дата 7.7.2008, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 25.4.2007

Репутация: нет
Всего: нет



я просто скопировал эту строчку

Добавлено через 6 минут и 44 секунды
башка уже в тумане! Разжуйте неучу поподробнее...
PM MAIL   Вверх
Feldmarschall
Дата 7.7.2008, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



с базой соединяться  в userpage кто будет? Пушкин?

Это сообщение отредактировал(а) Feldmarschall - 7.7.2008, 16:30
PM   Вверх
almen
Дата 7.7.2008, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 25.4.2007

Репутация: нет
Всего: нет



я же не знаю, за что хвататься

Код

<?php
session_start();
include ("blocks/bd.php");
if (!isset($_SESSION['user'])) {
    header ("location: index.php");
    exit();
}else {
    $login = $_SESSION['user'];
   $res = mysql_query("SELECT * FROM users WHERE login='".$login."'", $link);
    if (mysql_num_rows($res) < 1) {
        // raz takogo usera net v BD, no on est' v sessii - zna4it 4to-to ne tak (haker?) -
        // udalyaem ego iz sessii pereadresuem na glavnuyu
        mysql_close($link);
        unset($_SESSION['user']);
        header ("location: index.php");
        exit();
    }else {      
        $myrow = mysql_fetch_array($res);
        // nije raspe4ativaem li4nuyu infu usera is massiva $myrow
    }
}
?>


Добавлено через 1 минуту и 5 секунд
 а ошибки те же:

Код

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\portal\userpage.php on line 9

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\portal\userpage.php on line 10

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\portal\userpage.php on line 13

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\portal\userpage.php:9) in C:\xampp\htdocs\portal\userpage.php on line 15


PM MAIL   Вверх
Feldmarschall
Дата 7.7.2008, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



и что у тебя там, в этой blocks/bd.php?
PM   Вверх
almen
Дата 7.7.2008, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 25.4.2007

Репутация: нет
Всего: нет



<?
$db = mysql_connect ("localhost","alm","74521");
mysql_select_db("almen_blog",$db);
?>

Добавлено через 4 минуты и 55 секунд
думаю, что запутался с login.php. Подскажи, как изменить скрипт: вместо 
Код

$dbuser= "bla bla";
$dbpass= "bla bla"; 
 и 


Код

if (!$link) {
      die('Keine Verbindung mit DB!');
   }else{
      mysql_select_db('almen_blog', $link);
      $res = mysql_query("SELECT status FROM users WHERE login='$login'", $link);



поставить просто 
Код

include ("blocks/bd.php");


Добавлено через 12 минут и 41 секунду
login.php

Код


<?
session_start();
$dbuser= "bla";
$dbpass= "bla";
if (isset($_POST['login'])) {
   $passwordHash = md5($_POST['password']);
   $login = $_POST['login'];

   if (!preg_match("/^\w{3,}$/", $login)) {
      die('Login ist falsch!');
   }
   $link = mysql_connect('localhost',$dbuser,$dbpass);
   if (!$link) {
      die('Keine Verbindung mit DB!');
   }else{
      mysql_select_db('almen_blog', $link);
      $res = mysql_query("SELECT status FROM users WHERE login='$login'", $link);
    
      if (mysql_num_rows($res) < 1) {
         mysql_close($link);
         die('Ihre Angaben zum Login sind ung&uuml;ltig.<br>
Bitte pr&uuml;fen Sie die Schreibweise Ihres Benutzernamens und Ihres Passwortes und versuchen Sie es erneut.<br>
Achten Sie beim Passwort auch auf Gro&szlig;- und Kleinschreibung oder darauf, ob versehentlich die Feststelltaste gedr&uuml;ckt ist.');
      }

      if (mysql_result($res, 0) != 1) {
         mysql_close($link);
         die('Der Login wurde nicht aktiviert!');
      }
  
       
      $_SESSION['user'] = $login;
      mysql_close($link);
    
      header ("location: userpage.php");

   }
}
?>




Это сообщение отредактировал(а) almen - 7.7.2008, 19:08
PM MAIL   Вверх
Feldmarschall
Дата 7.7.2008, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



как-как? записать первые два куска кода в blocks/bd.php
только во втором убрать запрос (последнюю строчку)
и вообще ты как-то странно выделил.
Код

$dbuser= "bla";
$dbpass= "bla";
mysql_connect('localhost',$dbuser,$dbpass);
mysql_select_db('almen_blog', $link);

вот что надо там написать

а из логина ,соответственно - убрать
PM   Вверх
Sannis
Дата 7.7.2008, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.8.2007
Где: Москва

Репутация: 1
Всего: 13



Цитата

$db = mysql_connect ("localhost","alm","74521");

$link = mysql_connect('localhost',$dbuser,$dbpass);


'$db' == '$link' ???

Добавлено через 35 секунд
Банальная невнимательность.


--------------------
Я Критик Джим, раньше писал моды для IPB 1.3.x-2.3.x, а теперь продвигаю Node.js в массы.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.