Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2016, 06:52   #1
leon2009sp
Форумчанин
 
Регистрация: 22.12.2015
Сообщений: 119
Вопрос исчезает форма запроса

Здравствуйте! есть форма в которую вводишь логин и пароль, если ввел правильно то показывает остальную часть страницы, если нет, то висишь на месте. проблема в том что когда все правильно высвечивается вторая форма и при нажатии на кнопку он тебя возвращает в начало, как это избежать?
PHP код:
<?php
$login 
$_POST['login'];
$pass $_POST['password'];
if(empty(
$login) or empty($pass) ) 
{
echo 
"
<form name=sender method=post>
<input type=text name=login value='test'>
<input type=text name=password value='test'>
<input type=submit name=submit value=button1>
</form>"
;
exit();
}
if(
md5($login) == '098f6bcd4621d373cade4e832627b4f6' && md5($pass) == '098f6bcd4621d373cade4e832627b4f6')
{
if(
$_POST['submit2'])
{
$name1 =  substr(htmlspecialchars(trim($_POST['name1'])), 0100);
}
echo 
"
<form name=sender2 method=post>
<input type=text name=name1 value='test111'>
<input type=submit name=submit2 value=button2>
</form>"
;
echo 
$name1;
}
else
{
echo 
"nopass";
}
?>
leon2009sp вне форума Ответить с цитированием
Старый 01.02.2016, 08:05   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

нужно использовать сессии ($_SESSION) ...
зачем кстати вводить логин и пароль если они должны быть одинаковые? просто проверяйте пароль )
ADSoft вне форума Ответить с цитированием
Старый 01.02.2016, 09:30   #3
leon2009sp
Форумчанин
 
Регистрация: 22.12.2015
Сообщений: 119
Вопрос пример

можно пример? т.к. вот что я намудрил:
PHP код:
<!DOCTYPE html>
<html><head>
<link rel="shortcut icon" href="../l.ico" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <meta name="generator" content="jsp 2.1beta" />
    <meta name="description" content="лотерея">
    <meta name="channel" content="Internet Technology">    
    <meta name="keywords" content="лотерея" />
    <meta name="revisit-after" content="2 day"> 
    <title>: Лотерея Конфигурация</title>
<LINK href="../style.css" type=text/css rel=stylesheet>
</head>
<BODY OnLoad="window.defaultStatus='Leon'" background="../image/fon.jpg">
<?php
$login 
$_POST['login'];
$pass $_POST['password'];
if(empty(
$login) or empty($pass) ) 
{
echo 
'
<table align=center border=0 cellpadding=0 cellspacing=0 width=70%>
<tr>
<td align=center><div class=sitehere-style-3dtext>Лотерея</div><div class=sitehere-style-3dtext2>СЕМЕРОЧКА</div></td>
</tr>
<tr>
<td align=center>&nbsp;</td>
</tr>
<tr>
<td align=center>
<form name=pass method=post action="" onsubmit=return SendForm();>
<table align=center border=0 cellpadding=4 cellspacing=4 width=10%>
<tr>
<td align=center><input type=text name=login size=40 maxLength=40 onMouseOver=this.style.backgroundColor="#457EB3"; onMouseOut=this.style.backgroundColor="#ffffff"></td>
<td align=center><input type=password name=password size=40 maxLength=40 onMouseOver=this.style.backgroundColor="#457EB3"; onMouseOut=this.style.backgroundColor="#ffffff"></td>
<td align=center><input type=submit name=submit value=&nbsp;&nbsp;&nbsp;ВХОД&nbsp;&nbsp;&nbsp; id=subscribe_button style="font-family: Arial; color: #FFFFFF; font-weight: bold; border: 1px solid #000000; background-color: #457EB3"/></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
'
;
exit();
}
if(
md5($login) == '098f6bcd4621d373cade4e832627b4f6' && md5($pass) == '098f6bcd4621d373cade4e832627b4f6')
{
echo 
"<form name=sender2 method=post  onsubmit=return SendForm();>
<input type=text2 name=name2 value=
$id>
<input type=submit name=generator value=Генерировать>
<input type=submit name=record value=Запись>
<input type=submit name=search value=Поиск>
</form>"
;
}
else
{
echo 
'
<table align=center border=0 cellpadding=0 cellspacing=0 width=70%>
<tr>
<td align=center><div class=sitehere-style-3dtext>Лотерея</div><div class=sitehere-style-3dtext2>Error Введите пароль</div></td>
</tr>
<tr>
<td align=center>&nbsp;</td>
</tr>
<tr>
<td align=center>
<form name=pass method=post action="" onsubmit=return SendForm();>
<table align=center border=0 cellpadding=4 cellspacing=4 width=10%>
<tr>
<td align=center><input type=text name=login size=40 maxLength=40 onMouseOver=this.style.backgroundColor="#457EB3"; onMouseOut=this.style.backgroundColor="#ffffff"></td>
<td align=center><input type=password name=password size=40 maxLength=40 onMouseOver=this.style.backgroundColor="#457EB3"; onMouseOut=this.style.backgroundColor="#ffffff"></td>
<td align=center><input type=submit name=submit value=&nbsp;&nbsp;&nbsp;ВХОД&nbsp;&nbsp;&nbsp; id=subscribe_button style="font-family: Arial; color: #FFFFFF; font-weight: bold; border: 1px solid #000000; background-color: #B50000"/></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
'
;
exit;
}
?>
<table align="center" border="1" cellpadding="4" cellspacing="4" width="70%">
<tr>
<td align="center"><div class=sitehere-style-3dtext>Лотерея</div><div class=sitehere-style-3dtext2>СЕМЕРОЧКА АДМИН ПАНЕЛЬ</div></td>
</tr>
<tr>
<td align="center">&nbsp;</td>
</tr>
<tr>
<td align="center">

<table align="left" border="1" cellpadding="4" cellspacing="4" width="10%">
<tr>
<td align="left"">&nbsp;</td>
<td align="left"><input type=text name=name size=40 maxLength="20" onMouseOver="this.style.backgroundColor='#457EB3';" onMouseOut="this.style.backgroundColor='#ffffff'"></td>
<td align="left""><input type="submit" name="send" value="&nbsp;Генератор&nbsp;" name="generator" style="font-family: Arial; color: #FFFFFF; font-weight: bold; border: 1px solid #000000; background-color: #457EB3"/></td>
<td align="left""><input type="submit" name="send" value="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Поиск&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" name="search" style="font-family: Arial; color: #FFFFFF; font-weight: bold; border: 1px solid #000000; background-color: #457EB3"/></td>
<td align="left""><input type="submit" name="send" value="&nbsp;&nbsp;&nbsp;Запись&nbsp;&nbsp;&nbsp;" name="record" style="font-family: Arial; color: #FFFFFF; font-weight: bold; border: 1px solid #000000; background-color: #457EB3"/></td>
</tr>
</table>

</td>
</tr>
<tr>
<td align="center">&nbsp;</td>
</tr>
<tr>
<td align="center">&nbsp;</td>
</tr>
</table>
и код который хочу вставить:
PHP код:
<?php
$s_generator 
$_POST['generator'];
$s_record $_POST['record'];
$s_search $_POST['search'];    
if(isset(
$s_generator))
{    
    
$t1=generate_password(7);
        
session_start();
        
$_SESSION['id'] = $t1;
        
session_start();
        
$id $_SESSION['id'] ;
}
else    
    
if(isset(
$s_record))
{
        
session_start();
        
$id $_SESSION['id'] ;
if(
$_POST['record'])
    {
$name1 =  substr(htmlspecialchars(trim($_POST['name1'])), 049);
$fp fopen("result.dat""w"); 
fwrite($fp$name1);
fclose($fp);
    } else {
echo 
"Error File Record";
}
        }
else    
if(isset(
$s_search))
    {
        
session_start();
        
$id $_SESSION['id'] ;
if(
$_POST['search'])
    {
$name1 =  substr(htmlspecialchars(trim($_POST['name1'])), 049);
$file fopen("admin/db.dat""r");
if (!
$file)
{
echo 
"The file isn't found / Error #281";
exit; 
}
fclose($file);
$txt file_get_contents("admin/db.dat");
echo 
"найдено строк ".substr_count($txt,$name1)." раз<br>";
}
    } else    {
echo 
'Error button';
    }
echo 
"<form name=sender method=post  onsubmit=return SendForm();>
<input type=text name=name1 value=
$id>
<input type=submit name=generator value=Генерировать>
<input type=submit name=record value=Запись>
<input type=submit name=search value=Поиск>
</form>"
;
function 
generate_password($number$quality=7)
{
$array range(1$number $quality);
shuffle($array);
return 
implode(','array_slice($array0$number));
}
?>
leon2009sp вне форума Ответить с цитированием
Старый 01.02.2016, 09:50   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Цитата:
session_start();
- включат ьво всех файлах где работаете с сессиями.
обязательно до вывода любого контекста пользователю
по два раза не нужно.. ну и вообще поменять весь код )))) рыба такая

Код:
  session_start(); 
  //  тут проверка - не хочет ли пользюк авторизоваться
  if (isset($_POST['login'] ...... )
   {
       Если хочет - проверяем... если прошли проверки то ставим      $_SESSION['admin']=1;
   }


  if (isset($_SESSION['admin']) && $_SESSION['admin']==1)
   {
      тут код для авторизованных пользюков
   }
   else
   {
      тут форма для неавторизованных
    }

для того чтоб "выйти" - достаточно
Код:
unlink($_SESSION['admin'))
сделать
ADSoft вне форума Ответить с цитированием
Старый 01.02.2016, 10:28   #5
leon2009sp
Форумчанин
 
Регистрация: 22.12.2015
Сообщений: 119
Вопрос session

не, все ровно назад возвращает форма:
PHP код:
<?php
$login 
$_POST['login'];
$pass $_POST['password'];
if(empty(
$login) or empty($pass) ) 
{
echo 
"<form name=pass method=post  onsubmit=return SendForm();>
<input type=text name=login value='test'>
<input type=password name=password value='test'>
<input type=submit name=generator value=ok>
</form>"
;
exit();
}
if(
md5($login) == '098f6bcd4621d373cade4e832627b4f6' && md5($pass) == '098f6bcd4621d373cade4e832627b4f6')
{
session_start();
$_SESSION['admin']=1;

if (isset(
$_SESSION['admin']) && $_SESSION['admin']==1)
   {
     echo 
"<form name=search method=post  onsubmit=return SendForm();>
<input type=text name=search value='test'>
<input type=submit name=name1 value=----ok---->
</form>"
;
   }
   else
   {
      echo 
"bbbbbbbbbbbb";
    }
    }
else
{
echo 
"222222222222222222222222";
exit;
}
?>
переделка:
PHP код:
<?php
$login 
$_POST['login'];
$pass $_POST['password'];
if(empty(
$login) or empty($pass) ) 
{
echo 
"<form name=pass method=post  onsubmit=return SendForm();>
<input type=text name=login value='test'>
<input type=password name=password value='test'>
<input type=submit name=generator value=ok>
</form>"
;
exit();
}
if(
md5($login) == '098f6bcd4621d373cade4e832627b4f6' && md5($pass) == '098f6bcd4621d373cade4e832627b4f6')
{
session_start();
$_SESSION['admin']=1;


}
else
{
echo 
"222222222222222222222222";
exit;
}

if (isset(
$_SESSION['admin']) && $_SESSION['admin']==1)
   {
     echo 
"<form name=search method=post  onsubmit=return SendForm();>
<input type=text name=search value='test'>
<input type=submit name=name1 value=----ok---->
</form>"
;
   }
   else
   {
      echo 
"bbbbbbbbbbbb";
    }
?>

Последний раз редактировалось leon2009sp; 01.02.2016 в 10:50. Причина: добавка кода
leon2009sp вне форума Ответить с цитированием
Старый 01.02.2016, 11:04   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

ну потому что нужно прочитать и понять что написано.... я ж "рыбу" дал.... приготовьте по своему рецепту... а вы все равно пихаете как у вас было

разбейте на смысловые блоки свой код с помощью коментариев... может понятнее станет

посмотрите в частности - где у вас находится форма для неавторизованных... и где должна
ADSoft вне форума Ответить с цитированием
Старый 01.02.2016, 15:08   #7
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

PHP код:
 <?php

session_start
();

// ===============================================================================
if(isset($_SESSION["admin"]) && $_SESSION["admin"] == 1){


    echo 
'
    Welcome !!! <br/>
    <form name="search" method="post"  onsubmit="return SendForm();"/>
        <input type="text" name="search" value="test"/>
        <input type="submit" name="name1" value="----ok----"/">
    </form>'
;

else if( isset(
$_POST["login"]) && isset($_POST["password"]) )

    if( 
$_POST["login"] == 'login' && $_POST["password"] == "password"){
        


        
$_SESSION['admin']=1;

        
// УсЕ оке перекидываем юзера на эту-же страницу но у же с правами админа ! 
        
header("Location: .");


    }else{

        echo 
'
        <form name="pass" method="post"  onsubmit="return SendForm();">
            <input type="text" name="login" value="test">
            <input type="password" name="password" value="test">
            <input type="submit" name="generator" value="ok">
        </form>'
;


    }

}
// ===============================================================================
?>
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 02.02.2016, 20:49   #8
leon2009sp
Форумчанин
 
Регистрация: 22.12.2015
Сообщений: 119
Лампочка Спасибо!

да помогла рыба! может кому пригодится!
PHP код:
<?php
$login 
$_POST['login'];
$pass $_POST['password'];
session_start();

 
$login $_POST['login'];
$pass $_POST['password'];
if(
md5($login) == '098f6bcd4621d373cade4e832627b4f6' && md5($pass) == '098f6bcd4621d373cade4e832627b4f6')

   {
  
$_SESSION['id'] = 1;
 
   }


  if (isset(
$_SESSION['id'])==1)
   {
       
       
       
if(
$_POST['submit1'])
{
$name1 =  substr(htmlspecialchars(trim($_POST['name1'])), 0100);
}
echo 
"
<form name=sender2 method=post onsubmit=return SendForm();>
<input type=text name=name1 value='test111'>
<input type=submit name=submit1 value=111111111>
<input type=submit name=exit1 value=close>
</form>"
;
echo 
$name1;

$s_generator $_POST['exit1'];

if(isset(
$s_generator))
{
  
session_destroy();
}
else
echo 
"0000000000";


// session_destroy();
   
}
   else
   {
echo 
"<form name=sender method=post  onsubmit=return SendForm();>
<input type=text2 name=login value=test>
<input type=text2 name=password value=test>
<input type=submit name=sumbit value=Запись>

</form>"
;

echo 
$name1;
    }
?>
leon2009sp вне форума Ответить с цитированием
Старый 02.02.2016, 22:55   #9
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

А Баден-Баден зачем?
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма для ввода условий запроса! Chemik Microsoft Office Access 3 07.12.2011 13:46
Исчезает результат из DbGrid'a Lokos БД в Delphi 2 29.08.2011 08:35
Исчезает свободная память Stella07 Операционные системы общие вопросы 5 30.05.2011 15:57
Форма запроса. Smile2007 Помощь студентам 0 15.12.2010 09:31