Автор Тема: admin.php и все дела :)  (Прочитано 5574 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн denup

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 14
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
admin.php и все дела :)
« : 02 Августа 2002, 23:48:06 »
У меня такой вопрос!
Вот написал я скрипт, всё вроде хорошо, но как доходит до
написания admin.php всё идёт прахом! Сам алгоритм работает, но вот формы :(
Короче, вот в чём дело!
Есть скрипт!

<?
$login="a";
$pass="a";
?>
<?
global $yo2,$msg;
if (
$yo2=="Go"){
$file fopen("txt.txt","w");
fputs ($file,"$msg");
fclose ($file);?>
<?
function wiev_form() {
?>
	

<form name="form1" method="post" action="">
Ваше имя 
<input type="text" name="log">
Пароль
<input type="password" name="pa">
<input type="submit" name="yo" value="Проверить">
</form>
<?
}
?>
<? 
function go2_form() {
global 
$login$pass$log$pa;
if (
$login == $log && $pass == $pa){go_form();}else{ wiev_form();}
}
?>
<? 
function go_form() {
?>
<textarea class=form cols=10 rows=7 name="msg">
</textarea>
 <input type="submit" name="yo2" value="Go">
<?
}
?>
<?php 
if (empty($yo)) { wiev_form(); } else
go2_form(); } 
?>


Ну дак вот!
Пароль проверяет! Далее ввожу в форму текст и нажимаю go!
Текст закладывается в файл!
Но потом скрипт обновляется и я вижу обратно форму с предложением ввести пароль!!
Но я хотел чтобы показывалась форма для ввода текста, а не пароля!!! Зачем мне его два раза вводить!?
Сколько бился над кодом, не смог наладить :(
Всё одну после нажатия go, обнавляется и выводит левую форму! :(
Подскажите пожалуйста!
А если можете то напишите кратенькую инсталляцию с формами, я посмотрю!
И ещё...
Я видел скрипты MailinksSW ( кто знает ) переписал у него парачку строк, скрипт работает! Но что плохо в его коде это - то что пароль и логин, видно в строке состояния ( где набирается WWW адресс сайтов ), а это для меня нежелательно!
Спасибо!

Оффлайн Tankist

  • Типа на танке
  • Старожил
  • ****
  • Сообщений: 461
  • +0/-0
  • 2
    • Просмотр профиля
admin.php и все дела :)
« Ответ #1 : 03 Августа 2002, 01:18:42 »
Сессии используй.
Или куки, я например куки использую вот отрывак из программы администрирования к моему новому проекту.

<?
   include (
"lib/config.php");
   include (
"lib/template.php");
   
$tpl=new Template("./templates");
   
$tpl->load("admin");
   if (!(
$_COOKIE[username]==ADMIN_NAME AND $_COOKIE[userpass]==ADMIN_PASS) AND !isset($q)) {
      
$content="<form action=\\"/adminenter.php?q=setcookie\\" method=post>\\n"
      
."Авторизация:
"
      
."Имя: <input type=text name=adminname>
\\n"
      
."Пароль: <input type=password name=adminpass>
"
      
."<input type=submit value=\'Войти!\'>";
   } elseif (
$q=="setcookie") {
     if (
$_POST[adminname]==ADMIN_NAME AND $_POST[adminpass]==ADMIN_PASS) {
         
setcookie("username",ADMIN_NAME,time()+31622400);
         
setcookie("userpass",ADMIN_PASS,time()+31622400);
         
$content="Вы вошли
<a href=\\"
/\\">На главную</a>";
     } else {
         
$content="Не верно введен пароль и(или) имя пользователя!
<a href=\\"
/adminenter.php\\">На главную</a>";
     }
   } elseif (
$_COOKIE[username]==ADMIN_NAME AND $_COOKIE[userpass]==ADMIN_PASS AND $q=="") {
      
$content="Но вы уже вошли!<a href=\\"/adminenter.php?q=exit\\">Выйти</a>";
   } elseif (
$q=="exit") {
      
setcookie("username"""time()-3600);
      
setcookie("userpass"""time()-3600);
      
$content="Вы вышли!<a href=\\"/adminenter.php\\">Назад</a>";
   }
   eval(
"print \\"".$tpl->get("admin")."\\";");   //Вывод шаблона
?>
Удачи

Оффлайн denup

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 14
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Нет! Может тогда JavaScript!?
« Ответ #2 : 03 Августа 2002, 01:27:12 »
Не... Возни много!
Может как - нибудь на java!?
Или php скрипт перестроить!?

Оффлайн Tankist

  • Типа на танке
  • Старожил
  • ****
  • Сообщений: 461
  • +0/-0
  • 2
    • Просмотр профиля
admin.php и все дела :)
« Ответ #3 : 03 Августа 2002, 01:37:19 »
Цитировать
Возни много!

Слушай...Какой java...
session_start();-начинаешь сессию
$pass="****"
session_register("pass");
тоже самое с логином и т.д. и поехал в мануале далее смотри
Удачи

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
admin.php и все дела :)
« Ответ #4 : 03 Августа 2002, 01:56:51 »
Цитировать
$pass="****"
session_register("pass");
Э, а зачем пароль в сессию регистрировать? Просто в сессию записать что авторизация пройдена и все (+конечно же необходимая информация - id, login)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Tankist

  • Типа на танке
  • Старожил
  • ****
  • Сообщений: 461
  • +0/-0
  • 2
    • Просмотр профиля
admin.php и все дела :)
« Ответ #5 : 03 Августа 2002, 02:15:26 »
Макс
Можно и так
Удачи

Оффлайн Covex

  • Только встал и уже устал.
  • Постоялец
  • ***
  • Сообщений: 208
  • +0/-0
  • 2
    • Просмотр профиля
admin.php и все дела :)
« Ответ #6 : 03 Августа 2002, 12:46:21 »
denup
в том виде,  в каком ты представил, скрипт вообще не работает Parse егогг....ты потерял кое-что...
если тебе не хочется сессий(ИМХО лучший вариянт), куки .....если и это плохо,
то самый гнилой передавать гетом параметр
и обрабатывай потом if ($act=="add" and $auth=1) {
blalba;
}
if(!$auth){
форма для ввода пароля;
}
но это самый гнилой вариант...
Цитировать
то что пароль и логин, видно в строке  состояния ( где набирается WWW адресс сайтов ), а это для меня нежелательно!
ты можешь  передавать параметр через  это не будет видно в адресной строке броузера, но все равно это кал...
Короче, RTFM про сессии и куки...

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
admin.php и все дела :)
« Ответ #7 : 03 Августа 2002, 13:30:13 »
Цитировать
Короче, RTFM про сессии и куки...
зачем куки использовать если есть сессии, которые почти куки только во много раз функциональнее.

А если просто админ-интерфейс закрыть нужно,  то можно воспользоваться простым .htaccess
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Covex

  • Только встал и уже устал.
  • Постоялец
  • ***
  • Сообщений: 208
  • +0/-0
  • 2
    • Просмотр профиля
admin.php и все дела :)
« Ответ #8 : 03 Августа 2002, 13:42:41 »
[OFF]
Цитировать
куки использовать если есть сессии
одно другое не убивает.. каждой шняге своя область применения. Пусть почитает и решит, что лучше и понятнее конкретно для него...[/OFF]

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
admin.php и все дела :)
« Ответ #9 : 05 Августа 2002, 10:37:48 »

<?
$login="a";
$pass="a";
?>
<?
global $yo2,$msg;
if (
$yo2=="Go"){
$file fopen("txt.txt","w");
fputs ($file,"$msg");
fclose ($file);?>
<?
function wiev_form() {
?>    
<form name="form1" method="post" action="">
Ваше имя 
<input type="text" name="log">
Пароль
<input type="password" name="pa">
<input type="submit" name="yo" value="Проверить">
</form>
<?
}
?>
<? 
function go2_form() {
global 
$login$pass$log$pa;
if (
$login == $log && $pass == $pa){go_form();}else{ wiev_form();}
}
?>
<? 
function go_form() {
?>
<textarea class=form cols=10 rows=7 name="msg">
</textarea>
<input type="hidden" name="login" value="a">
<input type="hidden" name="pass" value="a">
<input type="submit" name="yo2" value="Go">
<?
}
?>
<?php 
if (empty($yo)) { wiev_form(); } else
go2_form(); } 
?>

Улавливаешь мысль......
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28