Форум → Программирование → PHP для идиотов → Проблема с GET & POST
Проблема с GET & POST
Страницы: ← Следующая страница →
-
Привет всем!
Ребята, у меня проблема возникла с GET массивом. Я написал админку по добавлению, редактированию, удалению статей. Использовал метод передачи данных ГЕТ. Когда статья добавлена нужно перейти в раздел "редактирование" и попробовать отредактировать статью. Если в статье мало текста, то все норм. А если его много то не все норм. При нажатии на кн. Сохранить (ГЕТ) выдается ошибка типа, слишком длинный урл.
Я решил исп. метод ПОСТ. При этом методе не передаются переменные из формы в пост-обработчик. Что делать?
Вот админка: http://bookarticle.jino.ru/gklgjdg=dg-045poyjl4--0d-fpogkdkg90e4p/
Вот сайт: можете посмотреть как все работает: http://bookarticle.jino.ru/ -
-
2 июля 2009 г. 15:51, спустя 9 минут 2 секунды
При этом методе не передаются переменные из формы в пост-обработчик. Что делать?
пиздежСапожник без сапог -
2 июля 2009 г. 15:52, спустя 33 секунды
Уроки по PHP?
Сам то знаешь его?
Я тоже лет 7-8 назад прочитал 1 книжку по html и тоже сайт создавать начал "Уроки HTML".
:D -
2 июля 2009 г. 15:58, спустя 5 минут 37 секунд
Форма файла edit.php
<?php
$adm_resultmysql = mysql_query("SELECT * FROM article WHERE id='$id_edit'", $connect);
$adm_edit = mysql_fetch_array($adm_resultmysql);
// Выводим форму добавления уроков
if($adm_resultmysql)
{
printf ("<br>
<div style='padding-left:10px; font-family:Verdana; font-size:12px;'>
<div align='center'>Редактирование: <strong>%s</strong></div>
<br>
<form action='edit_post.php' method='get' name='add'>
<label>
<p>Введите название урока:</p>
<input name='title' type='text' size='50' maxlength='255' value='%s'>
</label>
<br><br>
<label>
<p>Введите краткое описание урока:</p>
<textarea name='short_news' cols='37' rows='5'>%s</textarea>
</label>
<br><br>
<label>
<p>Введите полное описание урока:</p>
<textarea name='full_news' cols='37' rows='7'>%s</textarea>
</label>
<br><br>
<label>
<p>Введите автора урока:</p>
<input name='author' type='text' size='30' maxlength='255' value='%s'>
</label>
<br><br>
<label>
<p>Укажите сложность урока (Сложный, Средняя, Легкий):</p>
<input name='camplicated' type='text' size='30' maxlength='255' value='%s'>
</label>
<br><br>
<label>
<p>Адрес до картинки-миниатюры:</p>
<input name='img' type='text' size='30' maxlength='255' value='%s'>
</label>
<br><br>
<label>
<p>Введите ключевые слова урока для поисковых сервисов:</p>
<textarea name='meta_k' cols='37' rows='4'>%s</textarea>
</label>
<br><br>
<label>
<p>Введите описание урока для поисковых сервисов:</p>
<textarea name='meta_d' cols='37' rows='4'>%s</textarea>
</label>
<input name='id_cat' type='hidden' value='%s'>
<br><br>
<input name='submit' type='submit' value='Обновить данные' style='border:1px solid #cccccc; background-color:#f6f6f6;'>
</form>
</div>
<br>", $adm_edit['title'], $adm_edit['title'], $adm_edit['short_news'], $adm_edit['full_news'], $adm_edit['author'], $adm_edit['camplicated'],$adm_edit['img'], $adm_edit['meta_k'], $adm_edit['meta_d'], $adm_edit['id']);
}
?>
Форма обработчика:
<?php include('config.php');
// Проверка существования id_cat
if(isset($_GET['id_cat']))
{
$id_cat = $_GET['id_cat'];
}
if($id_cat == '')
{
unset($id_cat);
}
// Проверка существования title
if(isset($_GET['title']))
{
$title = $_GET['title'];
}
if($title == '')
{
unset($title);
}
// Проверка существования short_news
if(isset($_GET['short_news']))
{
$short_news = $_GET['short_news'];
}
if($short_news == '')
{
unset($short_news);
}
// Проверка существования full_news
if(isset($_GET['full_news']))
{
$full_news = $_GET['full_news'];
}
if($full_news == '')
{
unset($full_news);
}
// Проверка существования author
if(isset($_GET['author']))
{
$author = $_GET['author'];
}
if($author == '')
{
unset($author);
}
// Проверка существования camplicated
if(isset($_GET['camplicated']))
{
$camplicated = $_GET['camplicated'];
}
if($camplicated == '')
{
unset($camplicated);
}
// Проверка существования img
if(isset($_GET['img']))
{
$img = $_GET['img'];
}
if($img == '')
{
unset($img);
}
// Проверка существования meta_k
if(isset($_GET['meta_k']))
{
$meta_k = $_GET['meta_k'];
}
if($meta_k == '')
{
unset($meta_k);
}
// Проверка существования meta_d
if(isset($_GET['meta_d']))
{
$meta_d = $_GET['meta_d'];
}
if($meta_d == '')
{
unset($meta_d);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<link href="css/css.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center">
<table class="table_adm">
<?php include('include/header.php'); ?>
<tr>
<td width="218" align="left" valign="top">
<table width="220" >
<?php include('include/menuleft.php'); ?>
</table>
<br>
</td>
<td width="478" align="left" valign="top" class="content_adm">
<?php
if(isset($title) && isset($short_news) && isset($full_news) && isset($author) && isset($camplicated) && isset($img) && isset($meta_k) && isset($meta_d))
{
$adm_update = mysql_query("UPDATE article SET title='$title', short_news='$short_news', full_news='$full_news', author='$author', camplicated='$camplicated', img='$img', meta_k='$meta_k', meta_d='$meta_d' WHERE id='$id_cat'", $connect);
if($adm_update = 'true')
{
echo "<div style='padding:10px;'>Обновлено!</div>";
}
else
{
echo "<div style='padding:10px;'>Обновление не произошло!</div>";
echo mysql_error();
}
}
else
{
echo "<div style='padding:10px;'>Вы заполнили не все поля! Пожалуйста, вернитесь назад и заполните пустые поля.<br><br> <input name='back' type='button' value='Вернуться' onclick='javascript:self.back();' style='border:1px solid #cccccc; background-color:#f6f6f6;'> </div>";
}
?>
</td>
</tr>
<?php include('include/footer.php'); ?>
</table>
</div>
</body>
</html>Спустя 98 сек.
Уроки по PHP?
Сам то знаешь его?
Я тоже лет 7-8 назад прочитал 1 книжку по html и тоже сайт создавать начал "Уроки HTML".
:D
Я там буду размещать статьи других людей. Давать адрес источника и имя автора. Ну можь и сам что выложу… но это будет смертельный номер ))Спустя 88 сек.А вот и сама проблема в видео:
http://bookarticle.jino.ru/php.swf сохраниете и гланьте -
2 июля 2009 г. 16:02, спустя 4 минуты 33 секунды
Тут же все GET
Ты покажи как POST у тебя не работает! -
-
2 июля 2009 г. 16:08, спустя 2 минуты 5 секунд
if(isset($_GET['meta_d']))
{
$meta_d = $_GET['meta_d'];
}
if($meta_d == '')
{
unset($meta_d);
}
жесть =)
Как минимум так делай =)if(isset($_GET['meta_d'])&&$_GET['meta_d']!="")
{
$meta_d = $_GET['meta_d'];
}
-
-
2 июля 2009 г. 16:15, спустя 6 минут 19 секунд
// Проверка существования id_cat
if(isset($_POST['id_cat']) && $_POST['id_cat'] != "")
{
$id_cat = $_POST['id_cat'];
}
else
{
unset($id_cat);
}
Вот так делаю -
2 июля 2009 г. 16:16, спустя 1 минуту 1 секунду
Это пиздец…// Проверка существования id_cat
if(isset($_POST['id_cat']) && $_POST['id_cat'] != "")
{
$id_cat = $_POST['id_cat'];
}
else
{
unset($id_cat);
}
Вот так делаю -
-
2 июля 2009 г. 16:20, спустя 3 минуты 20 секунд
if(!isset($_POST['some']) || !isset($_POST['some1']) || !isset($_POST['some2']) || !isset($_POST['some3']))
{
echo "Введи все данные во все формы!!!\n";
}
else
{
//тут делаем че надо…
} -
2 июля 2009 г. 16:22, спустя 2 минуты 14 секунд
else
{
unset($id_cat);
}
Это зачем?
Там ниже идет проверка перед внесением в базу -
2 июля 2009 г. 16:25, спустя 2 минуты 37 секунд
Вообще назуя ты 2 раза одно и тоже проверяешь?
во тебе решение$error=0;
<?if($_POST['id_cat'] == ""||$_POST['meta_d']==""…)
{
$error=1;
}
?>if($error==1)
{
$adm_update = mysql_query("UPDATE article SET title='$title', short_news='$short_news', full_news='$full_news', author='$author', camplicated='$camplicated', img='$img', meta_k='$meta_k', meta_d='$meta_d' WHERE id='$id_cat'", $connect);
if($adm_update = 'true')
{
echo "<div style='padding:10px;'>Обновлено!</div>";
}
else
{
echo "<div style='padding:10px;'>Обновление не произошло!</div>";
echo mysql_error();
}
}Спустя 131 сек.
if(!isset($_POST['some']) || !isset($_POST['some1']) || !isset($_POST['some2']) || !isset($_POST['some3']))
{
echo "Введи все данные во все формы!!!\n";
}
else
{
//тут делаем че надо…
}
Не правильно. Переменные могут существовать но быть пустыми.
Еще, обязательно перед все нужно сделать
$_POST=array_map("trim",$_POST);
А то пробелов нахватаешь =)
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!