Перейти к содержимому

Сервис обмена электронных валют


Запрет на просмотр страниц незарегестрированных

#1 shtil

shtil
  • Пользователь
  • 50 сообщений
  • Репутация: 0
0

Отправлено 28 Май 2009 - 08:56

В общем проблема такая:
-есть регистрация пользователя на сайте
-там же есть форма поиска
-есть загрузка файлов

Как зделать так, что бы если юзер не зашел под своим логином показывать типо "Вы не зашли на сайт" вместо определенной формы...

 

 

  • 0

#2 v1ex

v1ex
  • Пользователь
  • 225 сообщений
  • Репутация: 0

Отправлено 28 Май 2009 - 09:08

Я так понимаю, движок несамописный?
  • 0

#3 Вячеслав

Вячеслав
  • Пользователь
  • 357 сообщений
  • Репутация: 0

Отправлено 28 Май 2009 - 11:31

Через сессии.
Вот в этой теме описывается как Скрипт авторизации

А потом на своих страницах подключаете скрипт авторизации через фу-ию include, и дальше в скрипте пишите условие что и как выводить(существует ли сессия или нет):

<?php
$rating = $myrow ['rating'];

$downl = "<a cat='cat' href='vote_downl.php?id=$id&rating=$rating'>Скачать</a>";
printf ("<div class='cont_z'><p class='post_title'>%s</p><p class='cont_lessons'>%s</p></div>",$myrow ["title"],$myrow ["text"]);
if(isset($_SESSION['login']) && isset($_SESSION['password']))
{
echo $downl;
}
else {echo"<div id='warning'><p align='center'><font class='warning'>Чтобы скачать нужно <a href='register.php' onMouseOver = 'setCL(this)' onMouseOut = 'cl()' class='L'>зарегистрироваться</a></font></p></div>";}

  • 0

#4 a.graphics

a.graphics
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 28 Май 2009 - 14:53

хм....я помойму написал плохо о_О

<?php
session_start();
$lname = $_SESSION[lname];
$secret = $_SESSION[secret];
require_once "mysqlConfig.php";
$db=mysql_connect($host,$name,$pass)OR DIE (mysql_error());

mysql_select_db("$dbname",$db)OR DIE(mysql_error());
$result=("SELECT * FROM $tbname2 WHERE login='$lname' AND password='$secret' ");
$q=mysql_query($result)OR DIE(mysql_error());

if($q){
//если истина то ..строим каталог фалов (для понта)
if($re = mysql_fetch_array($q))
{

$cou = ("../");
$dir = opendir($cou);
chdir ($cou);
и т.п.
  • 0

#5 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 28 Май 2009 - 18:42

$q=mysql_query($result)OR DIE(mysql_error());
if($q)...............
Вот кто вас учил так проверять? Посмотрите что возвращает функция mysql_query. Она возвращает указатель на ресурс базы данных, который можно построчно считывать и обрабатывать, а не логические данные.

Чтобы проверить найдено ли что-нить в вашей таблице, достаточно:
if(mysql_num_rows($q) > 0)
   //истина
else
   //ложь

И ещё вот эта строчка... Синтаксис ваш помяла корова, когда села посидеть на травку на солнцепеке...
$result=("SELECT * FROM $tbname2 WHERE login='$lname' AND password='$secret' ");
Скажите мне откуда у вас взялись в значении переменной скобки? И что это вообще значит? В PHP конечно нет привязки к конкретному типу данных, но всё же там есть float, int, string, bool, объект
Поэтому советую писать правильно, строка и есть строка:
$result="SELECT * FROM $tbname2 WHERE login='$lname' AND password='$secret' ";

  • 0


Оформление форума – IPBSkins.ru