Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Открытие html страницы посредством php ... (https://forum.antichat.xyz/showthread.php?t=132324)

Lionis 31.07.2009 17:40

Открытие html страницы посредством php ...
 
http://xmages.net/out.php/i372306_index.png
Проблема состоит в том как открыть обычную html страницу через PHP , т.е. - чтобы после ввода логина пароля php не директил просто на страницу а открывал ее в себе ... И чтобы при входе на эту html страницу у нас редирект на php Логин/пароль .
Для пример :
у нас есть :
index.php
yes.html
no.html
при входе на index.php мы вводим правильные логин/пароль(логин парольпусть будут вшиты в сам код...) - открывается html страница yes.html / ну если же введенные данные не верны тогда редирект на no.html . Но в этом случае , если я просто иду на site.ru/yes.html , происходит редирект на site.ru/index.php
вродь понятно объяснил , помогите плз .

Pernat1y 31.07.2009 17:47

просто проверяй, залогинен-ли пользователь, и в зависимости от результата суй в ифрэйм свою страницу

Pashkela 31.07.2009 17:54

Зачем iframe? Есть if и есть <<<HTML.... HTML; или просто

echo '<td>
<td><td><td><td><td><td>
<td><td><td><td><td>
<td>';

xa-xa89 31.07.2009 17:56

Код:

if ($user_login==true)
{ include('yes.html'); }
else include('no.html');

если чего не так поправьте могу ошибаться

Lionis 31.07.2009 18:10

+
 
Ребят , скиньте готовый код - т.к - не получается ...
каждому +10

xa-xa89 31.07.2009 18:23

PHP код:

<form method="POST" action=""> 
<input type="text" name="user">
<input type="password" name="pass"> 
<input type="submit" value="Eneter"> 
<? if((isset($_POST['pass'])) and (isset($_POST['user'])))

if ((
$_POST['pass']=='password') and ($_POST['user']=='user'))
{ include(
'./yes.html');} 
else include(
'./no.html'); }

так?

FireFenix 31.07.2009 18:25

PHP код:

<?php

$file
['no'] = 'no.html';
$file['yes'] = 'no.html';

if (
$_GET['login'] == $login && $_GET['pass'] == $pass)
{
  
$content file_get_contents($file['yes']);
} else {
  
$content file_get_contents($file['no']);
}
echo (
$content);

?>


Pashkela 31.07.2009 18:37

))) аааа, не успел!!!! Но всё равно выложу, т.к. у меня больше условиям задачи соотвествует:
index.php:
PHP код:

<?php 
@ini_set("display_errors","0");

$submit $_POST['submit'];
$login $_POST['login'];
$pass $_POST['pass'];

if(isset(
$submit) && !empty($login) && !empty($pass)) {
  if (
$login!= 'admin' && $pass!='123') {
        
header ('location:no.php') or die('error');
  } else {
        echo 
'<center><b>
           Вы ввели правильный пароль, добро пожаловать в админку!
          <b>
          </center>
         редактировать разделы:'
;// тут типо код yes.html    
  
}
} else {
?>
<html>
<head> 
<meta http-equiv="Content-Type" content="text; charset=windows-1251"> 
<title>Логин</title> 
</head> 
<bоdу> 
<form method="post"> 
<table> 
<tr><td><span>Логин:</span></td><td><input type="text" name="login" /></td></tr> 
<tr><td><span>Пароль:</span></td><td><input type="password" name="pass" /></td></tr> 
</table> 
<input type="submit" name="submit" value="Войти:" /> 
</form> 
</bоdу> 
</html>
<?}?>

просто не no.html, а no.php, чтобы определять рефа, код no.php:
PHP код:

<?php
if (getenv("HTTP_REFERER")!='http://site.ru/index.php') exit;
else echo 
'Неверный логин или пароль!!!'; exit;
?>


b3 31.07.2009 20:44

Pashkela
PHP код:

if (getenv("HTTP_REFERER")!='http://site.ru/index.php') exit; 

Потделать реферер непроблема, сам знаеш:
CURLOPT_REFERER

index.php
PHP код:

<?php
session_start
();
$login 'admin';
$pass '123';

function 
Form()
{
    echo 
'<table border="1" align="center">
<form method="post" enctype="application/x-www-form-urlencoded" action='
.$_SERVER['PHP_SELF'].'>
<tr>
    <td colspan="2">Авторизация</td>
    
</tr>
<tr>
    <td>Логин</td>
    <td><input type="text" size="20" maxlength="20" name="login"></td>
</tr>
<tr>
    <td>Пароль</td>
    <td><input type="password" size="20" maxlength="20" name="pass"></td>
</tr>
<tr>
    <td colspan="2"><input type="submit" value="login"></td>

</tr>
</form>
</table>
    '
;
}
if(empty(
$_POST['login']) || empty($_POST['pass']))
{
Form();
exit;
}
if(
$_POST['login'] === $login && $_POST['pass'] === $pass)
{
    
$_SESSION['login'] = 'yes';
header('Location: yes.php');
    echo 
'Вы авторизованы, перейдите по ссылке: <a href="yes.php">ССЫЛКО</a>';
    
    exit;
    
} else {
    
    echo 
'<center><font color="red">Пароль неверный</font></center>';
    
Form();
    
$_SESSION['login'] = 'no';    
    exit;
}
?>

yes.php
PHP код:

<?php
session_start
();
if(!isset(
$_SESSION['login']) || $_SESSION['login'] == 'no')
    {
        
header('Location: index.php');
        exit;
    }

?>

а тут всякая хрень которую видно только если авторизация успешна


Писал быстро поетому мог гдето что-то упустить, но вроде не упустил. Обязательное условие register_globals=off;
При правильной авторизации перенаправление на yes.php, при неправильно снова покажет форму.

Kaimi 31.07.2009 21:23

Цитата:

echo 'Вы авторизованы, перейдите по ссылке: <a href="yes.php">ССЫЛКО</a>';
header('Location: yes.php');
Местами поменять надо


Время: 21:17