Jump to content
  • 0

Проблема со скриптом


Pavel_html
 Share

Question

Взбрело в голову написать скрипт для блога. Он работает с деректориями не так хотелось бы. Он должен извлекать названия всех файлов и и первые 250 символов этих файлов, на основе их делать таблицу, с этими первыми 250 символами, с названием файла, и с со ссылками "Удалить" и "Редактировать". Причем при нажатии на эти ссылки, передаются название файла (для удаления) и все содержание (для редактирование). Вот код:

 
<?php
switch($_GET['action']){
case "loginform":
login_form();
break;
case "login":
login();
break;
case "edit":
edit();
break;
case "del":
del();
break;
case "new":
post();
break;
case "bloglist":
bloglist();
break;
default:login_form();
}
function login()
{
if ( !isset( $_POST['login'] ) or !isset( $_POST['pass'] ) ) {
header( 'Location: '.$_SERVER['PHP_SELF'].'?action=loginform' );
die();
}
if ( $_POST['login']=="admin" and $_POST['pass']=="pass") {
$_SESSION['auth'] = true;
}
header( 'Location: '.$_SERVER['PHP_SELF'].'?action=bloglist' );
die();
}
function bloglist(){
if( !isset( $_SESSION['auth'] ))
{
echo '<a href="?action=new">Добавить пост</a>';
echo '<table border="2">';
if($dir = @opendir("blog")){
while(($file_post=readdir($dir)!==false)){
$fp = fopen($file_post, "a+");
$rezult = fgets($fp, 250);
echo '<tr>';
echo '<td>';
echo $file_post;
echo '</td>';
echo '<td>';
echo $rezult;
echo '</td>';
echo '<td>';
echo '<a href="?action=edit&fname=$file_post&sod=$rezult">Ред.</a>';
echo '</td><td>';
echo '<a href="?action=del&fname=$file_post">Удалить.</a>';
echo '</td></tr>';
}
}
}else{
die('Вы ввели неправильный логин и пароль!!!!!!!');
}
}
function login_form(){
echo '<form action="?action=login" method="post">';
echo 'Логин<input type="text" name="login">';
echo 'Пароль<input type="password" name="pass">';
echo '<input type="submit">';
}
?>

Проблема в том, что таблица отображается не так как я хотел.

http://www.clubunnatov.spb.ru/blog.php Логин - admin. Пароль - pass

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

Дело в том, что у меня блог находится в папке другого сайта (http://clubunnatov.spb.ru/pavel/). Но я собираюсь перенести его на другой хостинг, а как тогда из MySQL все данные перенести?? Файлы в директории есть.

Link to comment
Share on other sites

  • 0
Взбрело в голову написать скрипт для блога. Он работает с деректориями не так хотелось бы. Он должен извлекать названия всех файлов и и первые 250 символов этих файлов, на основе их делать таблицу, с этими первыми 250 символами, с названием файла, и с со ссылками "Удалить" и "Редактировать". Причем при нажатии на эти ссылки, передаются название файла (для удаления) и все содержание (для редактирование). Вот код:

 
<?php
function bloglist(){
if( !isset( $_SESSION['auth'] ))
{
echo '<a href="?action=new">Добавить пост</a>';
echo '<table border="2">';
if($dir = @opendir("blog")){
while(($file_post=readdir($dir)!==false)){
$fp = fopen($file_post, "a+");
$rezult = fgets($fp, 250);
echo '<tr>';
echo '<td>';
echo $file_post;
echo '</td>';
echo '<td>';
echo $rezult;
echo '</td>';
echo '<td>';
echo '<a href="?action=edit&fname=$file_post&sod=$rezult">Ред.</a>';
echo '</td><td>';
echo '<a href="?action=del&fname=$file_post">Удалить.</a>';
echo '</td></tr>';
}
}
}else{
die('Вы ввели неправильный логин и пароль!!!!!!!');
}
}
?>

Может не совсем по теме, но: не является ли такой код безопасным? Получаеся что любой юзер введет в ссылку

 '<a href="?action=del&fname=$file_post"- >Удалить.</a>'

имя любого существующего в пвпке файла и он удалится? Или предполагается повторная проверка правильности логина непосредственно в скрипте который будет удалять этот файл?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy