ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

модерка
  #1  
Старый 16.08.2009, 17:31
Аватар для +casper+
+casper+
Banned
Регистрация: 27.06.2009
Сообщений: 200
Провел на форуме:
944465

Репутация: 68
Отправить сообщение для +casper+ с помощью ICQ
Unhappy модерка

У меня сайт, и на сайте я написал скрипт для анекдотов(типа баша) все сделал на файлах. после добавления анекдот проходит модерацию, когда он еще не отмодерирован он лежит в одном файле. А когда прошла модерация его нужно переместить в другой файл. Я написал модерку для редактированния обоих файлов, он она хренова ппц работает. При обновлении записуюются повторно анекдоты и прочее. Вот файл
PHP код:
<?
echo '<html><h1>Модерация</h1><br><br>';
$open file('anekdotmod.txt');
$anekdot file('anekdot.txt');
foreach(
$open as $v);
foreach(
$anekdot as $s);
echo 
' Анекдоты на модерацию:<br> <form action="adminanekdot.php" method=post> <textarea name=not cols="100" rows="20" wrap="Virtual">';
echo 
"$v";
echo 
'</textarea><br>
            Первый пароль:<br>
            <input type=text name=pass value="" size=16 maxlength=100><br>
            <input type=submit name=ok value="Сохранить"><br><br>
            
            </form>
          <br><br>'
;
echo 
' Промодерированые анекдоты:<br> <form action="adminanekdot.php" method=post><br>Ник автора: <br>  <input type=text name=nic value="" size=16 maxlength=100><br><br>Анекдот<br> <textarea name=yes cols="100" rows="20" wrap="Virtual">';
echo 
"$s";
echo 
'</textarea><br>
            <br>Пароль для сохранения:<br>
            <input type=text name=pass value="" size=16 maxlength=100>
            <input type=submit name=ok value="Сохранить"><br></form>
          <br><br><br><br>powered by casper'
;
$yes = ($_POST['yes']);
$not = ($_POST['not']);
$nic = ($_POST['nic']);
$spam = ($_POST['pass']);
if(
"$spam!= '1478963') echo ''; else 
{

echo 
'<h3>Ок</h3>';
$textis = ("<br>Ник: <strong>$nic</strong><br><div class='bash'><pre>Анекдот: $yes </pre> </div><br>");
$openis fopen("anekdot.txt""a");
$write fwrite($openis$textis);
fclose($openis); 

}

if(
"$spam!= '123456') echo ''; else 
{

echo 
'<h3>Ок</h3>';
$textisis = ("$not");
$openisis fopen("anekdotmod.txt""a");
$write fwrite($openisis$textisis);
fclose($openisis); 

}
echo 
"</html>"
?>
Мож кто подскажет что не так ...
 
Ответить с цитированием

  #2  
Старый 16.08.2009, 18:23
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

ага, подскажем, на БД переходи, mysql например
 
Ответить с цитированием

  #3  
Старый 16.08.2009, 18:27
Аватар для NuR
NuR
Участник форума
Регистрация: 11.12.2005
Сообщений: 160
Провел на форуме:
745130

Репутация: 159
Отправить сообщение для NuR с помощью ICQ
По умолчанию

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

  #4  
Старый 16.08.2009, 18:29
Аватар для Sharky
Sharky
Познавший АНТИЧАТ
Регистрация: 01.05.2006
Сообщений: 1,021
Провел на форуме:
3424739

Репутация: 921


Отправить сообщение для Sharky с помощью ICQ
По умолчанию

поддерживаю Pashkela, хотя SQLite заюзал бы
 
Ответить с цитированием

  #5  
Старый 16.08.2009, 18:30
Аватар для +casper+
+casper+
Banned
Регистрация: 27.06.2009
Сообщений: 200
Провел на форуме:
944465

Репутация: 68
Отправить сообщение для +casper+ с помощью ICQ
По умолчанию

Не, я уже все на фалах сделал. Мне небольшую админку надо, а не большой сайт.
Код лагает жутко, ппц
 
Ответить с цитированием

  #6  
Старый 16.08.2009, 19:52
Аватар для FireFenix
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме:
3178262

Репутация: 389
По умолчанию

1) Говнокод в перемешку с html-кодом увечивает его говнистость
2) $textisis = ("$not"); - Брать переменную в кавычки, да ещё в скобки при присвоении - верх говнистости

думаю автор хотел так, но судя по говнокоду это не сильно очевидно :
PHP код:
<?php

$me 
'2.php';

if (isset(
$_POST['pass']))
{
  switch (
$_POST['pass'])
  {
    case 
'123456':
      
$text $_POST['not'];
      
      
$file file('anekdot_mod.txt');
      
file_put_contents('anekdot_mod.txt'array_slice($file1count($file)));
      
file_put_contents('anekdot_post_mod.txt'$textFILE_APPEND);
      echo(
'<h3>Mod Ок</h3>');
    break;
    
    case 
'1478963':
      
$text '<br>Ник: <strong>' $_POST['nick'] . '</strong><br><div class="bash"><pre>Анекдот: ' $_POST['yes'] . '</pre></div><br>';
    
      
$file file('anekdot_post_mod.txt');
      
file_put_contents('anekdot_post_mod.txt'array_slice($file1count($file)));
      
file_put_contents('anekdot.txt'$textFILE_APPEND);
      echo(
'<h3>Post Mod Ок</h3>');
    break;
  }
}

$anek_mod file('anekdot_mod.txt');
$anek_post_mod file('anekdot_post_mod.txt');

echo(
'<html>
        <h1>Модерация</h1>
        <br><br>Анекдоты на модерацию:<br>
        
        <form action="' 
$me '?" method="post">
          <textarea name="not" cols="100" rows="20" wrap="Virtual">' 
$anek_mod[0] . '</textarea>
          <br>Первый пароль:<br>
          <input type="text" name="pass" size="16" maxlength="100"><br>
          <input type="submit" name="ok" value="Сохранить">
          <br><br>
        </form>
        
        <br><br>Промодерированые анекдоты:<br>
        
        <form action="' 
$me '?" method="post">
          <br>Ник автора:<br>
          <input type="text" name="nick" value="" size=16 maxlength=100>
          <br><br>Анекдот<br>
          <textarea name="yes" cols="100" rows="20" wrap="Virtual">' 
$anek_post_mod[0] . '</textarea>
          <br><br>Пароль для сохранения:<br>
          <input type="text" name="pass" size="16" maxlength="100">
          <input type="submit" name="ok" value="Сохранить">
          <br>
        </form>
        
        <br><br>
        Говнокод (c) powered by casper
      </html>'
);
      
?>
Обязательное наличие 3х файлов иначе ошибки!

Суть:

при работе с первой формой, из файла anekdot_mod.txt берётся первая строчка-анекдот и вставляется в текстовое поле.... юзер модериует..... и после модерации она доабвляется в anekdot_post_mod.txt, при этом удаляясь из anekdot_mod.txt

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

p.s. без постобработки черевато завести LFI и RFI
 
Ответить с цитированием

  #7  
Старый 16.08.2009, 21:57
Аватар для +casper+
+casper+
Banned
Регистрация: 27.06.2009
Сообщений: 200
Провел на форуме:
944465

Репутация: 68
Отправить сообщение для +casper+ с помощью ICQ
По умолчанию

FireFenix, я непойму в твоем коде, как сделать запись в начало файла. Что б каждая новая запись писалась в начало, без обнуления.
 
Ответить с цитированием

  #8  
Старый 16.08.2009, 22:40
Аватар для FireFenix
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме:
3178262

Репутация: 389
По умолчанию

Код:
file_put_contents('file.txt', $text . file_get_contents('file_2.txt'));
 
Ответить с цитированием

  #9  
Старый 16.08.2009, 22:58
Аватар для +casper+
+casper+
Banned
Регистрация: 27.06.2009
Сообщений: 200
Провел на форуме:
944465

Репутация: 68
Отправить сообщение для +casper+ с помощью ICQ
По умолчанию

FireFenix, а где заменять?
Замени, если не сложно.
 
Ответить с цитированием

  #10  
Старый 17.08.2009, 00:10
Аватар для b3
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме:
1698585

Репутация: 818


Отправить сообщение для b3 с помощью ICQ
По умолчанию

+casper+
это:
file_put_contents('anekdot.txt', $text, FILE_APPEND);
на:
file_put_contents('file.txt', $text . file_get_contents('file_2.txt'));

Юзани поиск по документу
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ