[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не отправляются данные из формы в БД
Alex75
При написании сайта возникли проблемы с отправкой данных из формы при создании новой страницы. При нажатии на кнопку "сохранить" страница перезагружается а данные не уходят. Подскажите пожалуйста.
admin.php

include_once 'config.php';
include_once 'func.php';

//Обработчик POST запросов
if ($_SERVER['REQUEST_METHOD']== 'POST')
{
if(isset($_POST['delete']))
{
delete_article($_POST['id_article']);
header ('Location:'. SITE_URL . 'admin.php');
die;
}
if(isset($_POST['submit']))
{
if ($_POST['id_article']== 'new')
create_article($_POST['title'], $_POST['content'],$_POST['pubdate'],$_POST['author'] );
else
edit_article($_POST['id_article'], $_POST['title'], $_POST['content'],$_POST['pubdate'],$_POST['author']);
header ('Location:'. SITE_URL . 'admin.php');
die;
}
}

//выбор идентификатора
if (isset ($_GET ['article']))
{
if ($_GET['article']== 'new')

$id_article = $article['id_article']='new';

else

$id_article= $_GET ['article'];
}
else
{
$id_article = 1;
}


func.php

//Функция создания новой статьи
function create_article ($title, $content, $pudate, $author)
{
$t= "INSERT INTO articles (title, content, pubdate, author) VALUES ('%s', '%s', '%s', '%s')";
$query= sprintf($t, mysql_real_escape_string('title'),
mysql_real_escape_string('content'),
mysql_real_escape_string('pubdate'),
mysql_real_escape_string('author'));//Защита от sql иньекций

$result= mysql_query($query);//Помещаем результат в переменную $result

if (!$result) die (mysql_error());

return true;
}

admin_temlate.php

<form action="" method="post" >
<input
type="text" size="76" name="title" value="<?= $article['title']?>"/></br>
<input
type="text" name="pubdate" value="<?= $article['pubdate']?>" /></br>
<input
type="text" name="author" value="<?= $article['author']?>" /></br>
<textarea
cols="67" rows="30" name="content"><?= $article['content']?> </textarea>
<input
name="id_article" type="hidden" value="<?= $article['id_article']?>"/>
<input
name="submit" type="submit" value="Сохранить"/>
<?
if($article ['id_article']!= 'new'):?>
<input
name="delete" type="submit" value="Удалить"/>
<?
endif?>
</form>


<li><a
href="<?= SITE_URL ?>admin.php?article=new">Новая страница</a></li>


<?
foreach ($articles as $article):?>
<li><a
href="<?= SITE_URL?>admin.php?article=<?= $article ['id_article']?>"><?= $article ['title']?></a></li>
<?
endforeach?>


Поставил проверку
echo 'POST: <pre>'. print_r($_POST,1). '</pre>'; 

в массиве пусто.
Еще он мне в адресной строке выдает урл вот такого вида "http://localhost/cmsadmin.php?article=new", тоесть cmsadmin пишет слитно вместо cms/admin.php, приходится вручную проставлять.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.