|
|
|
| Не могу найти ошибку.
Выходит запись: Вы ввели не всю информацию, поэтому рубрика не может быть добавлена в базу
<?php
if (isset($_POST['title'])) {$title = $_POST['title']; if ($title == '') {unset ($title);} }
if (isset($_POST['clear_description'])) {$clear_description = $_POST['clear_description'];
if ($clear_description == '') {unset ($clear_description);} }
if (isset($_POST['zagolovok'])) {$zagolovok = $_POST['zagolovok']; if ($zagolovok == '')
{unset ($zagolovok);} }
if (isset($_POST['meta_d'])) {$meta_d = $_POST['meta_d']; if ($meta_d == '') {unset ($meta_d);}}
if (isset($_POST['meta_k'])) {$meta_k = $_POST['meta_k']; if ($meta_k == '') {unset ($meta_k);}}
if (isset($_POST['date'])) {$date = $_POST['date']; if ($date == '') {unset ($date);}}
if (isset($_POST['description'])) {$description = $_POST['description'];
if ($description == '') {unset ($description);}}
if (isset($_POST['descript'])) {$descript = $_POST['descript']; if ($descript == '')
{unset ($descript);}}
if (isset($_POST['text'])) {$text = $_POST['text']; if ($text == '') {unset ($text);}}
if (isset($_POST['author'])) {$author = $_POST['author']; if ($author == '')
{unset ($author);}}
if (isset($_POST['id'])) {$id = $_POST['id'];}
if (isset($_POST['cat'])) {$cat = $_POST['cat']; if ($cat == '') {unset ($cat);}}
if (isset($_POST['mini_img'])) {$mini_img = $_POST['mini_img']; if ($mini_img == '')
{unset ($mini_img);}}
?>
|
<?php
if (isset($title) && isset($meta_d) && isset($meta_k) && isset($date) && isset($description)
&&isset($descript) && isset($text) && isset($author) && isset($cat) && isset($mini_img)
&& isset($zagolovok) && isset($clear_description))
{
/*Здесь мы пишем, что можно заносить информацию в базу*/
$result = mysql_query ("UPDATE data SET title='$title', zagolovok='$zagolovok', meta_d='$meta_d',
meta_k='$meta_k', date='$date', description='$description', descript='$descript',
clear_description='$clear_description', text='$text', author='$author', cat='$cat',
mini_img='$mini_img' WHERE id='$id'");
if ($result == 'true') {echo "<p>Ваша рубрика обновлена!</p>";}
else {echo "<p>Ваша рубрика не обновлена!</p>";}
}
else
{
echo "<p>Вы ввели не всю информацию, поэтому рубрика не может быть добавлена в базу</p>";
}
?>
|
| |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 18:30)
| | Каша. ) Все эти поля обязательны для заполнения? | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 18:33)
| | да все поля | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 18:35)
| | Тогда не дейлайте так. Не буду описывать ваши (замечу только, что логика у вас скажем так, хромает в обработке полей), а покажу на простом примере. Если полей много, то выгоднее поступать так:
<?
//это описание полей формы обязательных для заполнения
$full = array('a'=>'Имя','b'=>'Фамилие','c'=>'Отчество','d'=>'Пол');
//это пусть будет массив POST полученный от формы
$post = array('a'=>'Иван','b'=>' ','c'=>'Петрович','d'=>'','e'=>'','f'=>'');
//получаем только поля обязательные для заполнения,
//и проверяем все ли они заполнены
if($empty = array_intersect(array_map('trim',array_intersect_key($post, $full)), array(null))) {
//есть пустые поля обязательные для заполнения
$empty = array_intersect_key($full, $empty);
//вывод ошибок
foreach($empty as $v) echo 'Поле "'.$v.'" не может быть пустым<br>';
}
| Вот в таком ключе | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 18:39)
| | спасибо. но это для сложно.
лучше уж оставить прежний вариант.
буду признателен, если укажите на ошибку | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 18:41)
| | И что в этом сложного? Это намного проще чем писать длинную и запутанную портянку, собственно в которой вы сами и запутались. )
А ошибку сможете увидеть, просмотрев дампы своих переменных. | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 18:46)
| | а как можно посмотреть такие дампы? | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 18:56)
| | var_dump(var)
Коли вам нравится длинное и некчемное, ну пишите хотя бы так (более логичнее и читабельнее):
<?
$title = isset($_POST['title']) ? trim($_POST['title']) : null;
//и т.д.
| unset у вас совсем ни к чему. И проверяйте в итоге не установку переменной (она установлена может быть), а пуста они или нет, то есть просто:
<?
if($a && $b && ...) {}
|
| |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 18:59)
| | var_dump(var)
это и выводится var_dump(var)
а как сам дам вывести? | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 19:02)
| |
<?
$a = 'text';
$b = false;
$c = '';
var_dump($a, $b, $c);
|
| |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 19:04)
| | вот что у меня получилось
<?php
var_dump($title,$meta_d,$meta_k,$date,$description,$descript,$text,$author,$cat,$mini_img,
$zagolovok,$clear_description,$ling);
?>
|
и ответ
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
в чем проблема? | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 19:17)
| | Дамп выводите уже после создания этих переменных, если не сложно выведите дамп массива $_POST - он у вас заполнен? | |
|
|
|
|
|
|
|
для: cheops
(29.03.2012 в 19:21)
| | праильно ли я написал?
<?php
var_dump($_POST);
?>
|
ответ:
array(0) { } | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 19:27)
| | Да, но 0 означает, что массива $_POST не получено. | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 19:17)
| | Во-первых - так как вы обрабатываете поля, мало того, что это не логично, но к тому же еще, не отвечает вашим условиям. Что вы делаете (это я беру момент проверки вашей):
<?
if ($title == '')...
//но ведь пользователь может нажать клавишу пробела,
//и ваша проверка пропустит пустое поле
//а далее у вас
{unset ($title);
//если ранее эта переменная не объявлялась, то к чему это?
|
Такие значения (все равны NULL) вы получите, например, при первой загрузке страницы, если у вас она и выдает форму, и обрабатывает ее. Иначе поля не заполнены или не отправлены. Если все эти поля это текстовые поля формы, то не отправлены они могут быть только в том случае, если их насильно удалили из формы, иначе они будут всегда установлены (почему и не стоит проверять на isset). | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 19:28)
| | поменял
<?php
$title = isset($_POST['title']) ? trim($_POST['title']) : null;
$clear_description = isset($_POST['clear_description']) ? trim($_POST['clear_description']) : null;
$zagolovok = isset($_POST['zagolovok']) ? trim($_POST['zagolovok']) : null;
$meta_d = isset($_POST['meta_d']) ? trim($_POST['meta_d']) : null;
$meta_k = isset($_POST['meta_k']) ? trim($_POST['meta_k']) : null;
$date = isset($_POST['date']) ? trim($_POST['date']) : null;
$description = isset($_POST['description']) ? trim($_POST['description']) : null;
$descript = isset($_POST['descript']) ? trim($_POST['descript']) : null;
$text = isset($_POST['text']) ? trim($_POST['text']) : null;
$author = isset($_POST['author']) ? trim($_POST['author']) : null;
$cat = isset($_POST['cat']) ? trim($_POST['cat']) : null;
$mini_img = isset($_POST['mini_img']) ? trim($_POST['mini_img']) : null;
$ling = isset($_POST['ling']) ? trim($_POST['ling']) : null;
if (isset($_POST['id'])) {$id = $_POST['id'];}
?>
|
теперь вижу дамп
string(57) "Отечественная война с...
..." string(4367) "Документ без названия
...
" ["id"]=> string(3) "242" ["submit"]=> string(19) "Сохранить изменения" }
Что дальше делать?
и что это за цифры:
" NULL string(1) "3" string(36) "img/rubrics/school_life/242_mini.jpg" string(57) "Отечественная война с Наполеоном: вопрос длиной в 200 лет" string(14) "Школьная жизнь" string(601) " | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 19:44)
| | Не знаю, если все ОК, в базу. Но только не if(isset($title) && isset($clear_description)...), а if($title && $clear_description ...). А чего вам надо? Стоит только сказать, что после этой проверки, если поля не все заполнены, то просто выводить сообщение, что поля не заполнены и не будет добавлено, это не правильно. Ошибки надо исправлять, а значит возвращать форму пользователю, и не просто возвращать, а с данными, которые он уже заполнил, то есть определенные ранее переменные $title, $clear_description и т.д., должны быть вставлены в атрибуты value соответствующих полей формы, пропустив их через htmlspecialchars(). При первичной выдаче страницы они будут пусты, а при возврате формы пользователю иметь значения. | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 19:44)
| | Цифры - это длина переменной. | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 19:52)
| | исправил
<?php
if ($title && $meta_d && $meta_k && $date && $description
&& $descript && $text && $author && $cat && $mini_img
&& $zagolovok && $clear_description && $ling)
{
/*Здесь мы пишем, что можно заносить информацию в базу*/
$result = mysql_query ("UPDATE data SET title='$title',.............
|
и все равно
Вы ввели не всю информацию, поэтому рубрика не может быть добавлена в | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 19:44)
| | А $mini_img это что такое? Какой тип поля? | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 19:55)
| | mini_img varchar(255) | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 19:57)
| | Не в такблице базы, а тип поля формы? | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 19:58)
| | вот это?
echo "<form name='form1' method='post' action='update_rubric.php'>
<label>Путь к миниатюре<br>
<input value="$myrow[mini_img]" type="text" name="mini_img" size="115" id="mini_img">
</label> | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 20:03)
| | Погодите. Если это путь (а речь у вас идет о добалении сообщения), то откуда он может взяться, если сообщение не добавлено еще? | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 20:05)
| | ok. есть два файла
edit_rubric.php?id=242
в этом выводятся данные для корректировки
нажимаю "Сохранить изменения"
Новый файл
update_rubric.php
в котором и выводится сообщение "Вы ввели не всю информацию, поэтому рубрика не может быть добавлена в базу" | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 20:10)
| | Ясно. Просто я подумал, что речь идет о загрузке файла, а значит в массиве POST его не будет.
Ну коли у вас выдает что не все заполнено, значит какие-то поля не заполнены.
Еще одно очень важно замечание:
<?
//это из вашего запроса к базе
" ' WHERE id='$id'"
//первое - числовые значения обрамлять кавычками нет нужды,
//но это не ошибка, а вот как вы это значение получаете,
//это уже опасность взлома
if (isset($_POST['id'])) {$id = $_POST['id'];}
//то есть, вы не обработав это значение, подставляете его в запрос - 100% для взлома
//а нужно так:
$id = isset($_POST['id']) ? (int)$_POST['id'] : null;
//и если равно null, то и запрос делать нет смысла
//иначе безопасно подставлять в запрос
|
| |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 20:17)
| | Ну коли у вас выдает что не все заполнено, значит какие-то поля не заполнены.
а как узнать какие поля пустые? визуально все в порядке | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 20:29)
| | Я не буду писать так как у вас, это слишком утомительно, напишу проще, а вы обратите внимание не на то как именно я проверяю (коли вам это кажется сложным), а на структуру страницы - объявления, проверка, вывод... То есть на логику. Если у вас при отправке формы поля заполнены гарантировано, а вы попадаете не туда куда следует, значит у вас страдает логика всей структуры страницы от и до.
Узнаете вы все ли поля заполнены в условии - if(ваши поля) {запись в базу}
Если вы редатируете существующее, значит изначально все поля заполнены. Вот пример:
<html>
<head>
<style>
.err {
border-color: red;
}
</style>
</head>
<body>
<?
//пусть это массив имитирующий поля таблицы базы,
//по которым вы строите форму
$frm = array('title'=>'title', 'clear_description'=>'clear_description',
'zagolovok'=>'zagolovok', 'meta_d'=>'meta_d', 'meta_k'=>'meta_k',
'date'=>'date', 'description'=>'description', 'descript'=>'descript',
'text'=>'text', 'author'=>'author', 'cat'=>'cat', 'mini_img'=>'mini_img',
'ling'=>'ling', 'id'=>10
);
//проверяем поля формы, если она пришла
$err = array_keys(array_intersect(array_map('trim',array_intersect_key($_POST, $frm)), array(null)));
if($_POST && !$err) { //если все поля заполнены
echo 'Сохранение в базе';
exit;
}
if(!$_POST || $err) { //первичный вывод формы и вывод при ошибках
$f = ($err ? 'Ошибка - не все поля заполнены' : null).'<form method="post">';
foreach($frm as $k=>$v) $f .= '<input name="'.$k.'" '.($err && in_array($k, $err) ? 'class=err' : null).
' type="'.($k=='id' ? 'hidden' : 'text').'" value="'.
htmlspecialchars($err && in_array($k, $err) ? null : $v).'" /><br />';
echo $f.'<input type="submit" value="Сохранить изменения" /></form>';
}
?>
</body>
</html>
| Попробуйте любое из полей (или несколько, или все) сделать пустым, а потом отправьте все поля заполненными. Работает?
У вас должно быть тоже самое, только объявления у вас посредством условной записи, и иное условие проверки. | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 21:26)
| | это не на мой уровень
сейчас при нажати "Сохранить изменеия" ничего не грузится.
Пустой файл. Белый экран | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 22:05)
| | Так вы свой код (на своем уровне) проверьте, структуру, те есть последовательность, логику. Так как, если ваша форма заполнена, а записи не происходит, значит не верна структура.
А уж как написать, на моем уровне, или на вашем, это роли не играет. | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 22:08)
| | как решить вопрос пустого экрана?
вот раньше выходило сообщение об ошибке. | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 22:20)
| | Еще раз повторяю - у вас логика (структура страницы) неверна, иначе причины не вижу (в том, что вы ранее показали и изменили так, как я советовал, ошибок нет). А что именно является причиной, сказать не могу, я ведь не знаю всего кода страницы вашей (только упаси бог высталять его сюда, если он большой, мало кому интересно будет с ним разбираться). | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 22:25)
| | код совсем небольшой
<?php
$title = isset($_POST['title']) ? trim($_POST['title']) : null;
$clear_description = isset($_POST['clear_description']) ? trim($_POST['clear_description']) : null;
$zagolovok = isset($_POST['zagolovok']) ? trim($_POST['zagolovok']) : null;
$meta_d = isset($_POST['meta_d']) ? trim($_POST['meta_d']) : null;
$meta_k = isset($_POST['meta_k']) ? trim($_POST['meta_k']) : null;
$date = isset($_POST['date']) ? trim($_POST['date']) : null;
$description = isset($_POST['description']) ? trim($_POST['description']) : null;
$descript = isset($_POST['descript']) ? trim($_POST['descript']) : null;
$text = isset($_POST['text']) ? trim($_POST['text']) : null;
$author = isset($_POST['author']) ? trim($_POST['author']) : null;
$cat = isset($_POST['cat']) ? trim($_POST['cat']) : null;
$mini_img = isset($_POST['mini_img']) ? trim($_POST['mini_img']) : null;
$ling = isset($_POST['ling']) ? trim($_POST['ling']) : null;
$id = isset($_POST['id']) ? (int)$_POST['id'] : null;
?>
<!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="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="maind">
<table border="0" cellspacing="0" cellpadding="0" class="tableafterheader">
<tr>
<td colspan="3" valign="top"><div id="supermain">
<?php include ("blocks/nav.php"); ?> </td>
</tr>
<tr>
<td width="160" valign="top" class="leftt">
<div id="menu2">
<?php include ("blocks/lefttd.php"); ?>
</div> </td>
<td valign="top" class="mtd">
<?php
if ($title && $meta_d && $meta_k && $date && $description
&& $descript && $text && $author && $cat && $mini_img
&& $zagolovok && $clear_description && $ling)
{
/*Здесь мы пишем, что можно заносить информацию в базу*/
$result = mysql_query ("UPDATE data SET title='$title', zagolovok='$zagolovok', meta_d='$meta_d',
meta_k='$meta_k', date='$date', description='$description', descript='$descript',
clear_description='$clear_description', text='$text', author='$author', cat='$cat',
mini_img='$mini_img' , ling='$ling' WHERE id='$id'");
if ($result == 'true') {echo "<p>Ваша рубрика обновлена!</p>";}
else {echo "<p>Ваша рубрика не обновлена!</p>";}
}
else
{
echo "<p>Вы ввели не всю информацию, поэтому рубрика не может быть добавлена в базу</p>";
}
?>
</td>
</tr>
</table>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 22:40)
| | Это обработчик формы, к которому она обращается, а форма выводится другим кодом? | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 22:43)
| | да. вот обработчик
<?php
if (!isset($id))
{
$result = mysql_query ("SELECT title,id, date FROM data ORDER by id DESC");
$myrow = mysql_fetch_array($result);
do
{
printf ("<p><strong>%s </strong><a href='edit_rubric.php?id=%s'>%s</a></p>",$myrow["id"], $myrow["id"], $myrow["title"]);
}
while ($myrow = mysql_fetch_array ($result));
}
else
{
$result = mysql_query ("SELECT * FROM data where id=$id");
$myrow = mysql_fetch_array($result);
$result2 = mysql_query ("SELECT * FROM art_news");
$myrow2 = mysql_fetch_array($result2);
echo "<form name='form1' method='post' action='update_rubric.php'>
<p><select name='cat'>";
do
{
if ($myrow['cat'] == $myrow2['id'])
{
printf ("<option value='%s' selected>%s</option>",$myrow2["id"],$myrow2["meta_k"]);
}
else
{
printf ("<option value='%s'>%s</option>",$myrow2["id"],$myrow2["meta_k"]);
}
}
while ($myrow2 = mysql_fetch_array ($result2));
echo "</select></p>";
print <<<HERE
<font color="#FF0000">
<br><p>
<label>Title<br>
<input value="$myrow[title]" type="text" name="title" size="115" id="title">
</label>
</p><br>
<br><p>
<label>Заголовок<br>
<input value="$myrow[zagolovok]" type="text" name="zagolovok" size="115" id="zagolovok">
</label>
</p><br>
<br>
<p>
<label>clear_description (впечатай название рубрики)<br>
<input value="$myrow[clear_description]" type="text" name="clear_description" size="115" id="clear_description">
</label>
</p><br>
<p>
<label>Краткое описание статьи<br>
<input value="$myrow[meta_d]" type="text" name="meta_d" size="115" id="meta_d">
</label>
</p><br>
<p>
<label>Ключевые слова статьи (через запятую)<br>
<textarea name="meta_k" id="meta_k" cols="120" rows="5">$myrow[meta_k]</textarea>
</label>
</p><br>
<p>
<label>Дата<br>
<input value="$myrow[date]" name="date" type="text" id="date" value="2010-01-27">
</label>
</p><br>
<p><label>ЛИД<br>
<textarea name="description" id="description" cols="120" rows="5">$myrow[description]</textarea>
</label></p>
<br>
<label>Блог фотографий<br>
<textarea name="descript" id="descript" cols="120" rows="40">$myrow[descript]</textarea>
</label>
<br>
<p>
<label>Полный текст статьи<br>
<textarea name="text" id="text" cols="120" rows="50">$myrow[text]</textarea>
</label>
</p><br>
<p>
<label>Автор статьи<br>
<input value="$myrow[author]" type="text" name="author" size="115" id="author">
</label>
</p><br>
<p>
<label>Путь к миниатюре<br>
<input value="$myrow[mini_img]" type="text" name="mini_img" size="115" id="mini_img">
</label>
</p>
<br>
<p>
<label>Блог ссылок<br>
<textarea name="ling" id="ling" cols="120" rows="15">$myrow[ling]</textarea>
</label>
</p>
</font>
<input name="id" type="hidden" value="$myrow[id]">
<p>
<label>
<input type="submit" name="submit" id="submit" value="Сохранить изменения">
</label>
</p>
</form>
HERE;
}
?>
|
| |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 22:49)
| | Это как раз форма, а не обработчик.
Вопрос 1 - как вы думаете, скажет ли вам спасибо клиент за то, что вы не возвращаете ему форму при ошибках, что означет, что его труды по редактированию пропадают?
Вопрос 2 - от куда у вас может взяться переменная $meta_k, если это не имя поля формы, а значение опшена списка, который имеет имя cat?
print <<<HERE... выбросить, а просто вывести html-код.
do...while - выбросить и использовать while.
Вместо mysql_fetch_array использовать mysql_fetch_assoc - никчему зря получать то, что вам вообще не нужно.
Где опять фильтрация $id, откуда эта переменная здесь появляется?
PS. А нет, вижу в форме meta_k поле, а зачем тогда оно в списке еще? | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 23:12)
| | вот про это не понял
Вопрос 2 - от куда у вас может взяться переменная $meta_k, если это не имя поля формы, а значение опшена списка, который имеет имя cat?
поясните пожалуйста | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 23:55)
| | Да я сразу увидел, что вы в опшены списка подставляете $meta_k, а в самой форме у вас еще и поле таковое имеется (это только потом заметил).
Прикрепите (не вставляйте) результрующий html-код страницы формы, тогда можно будет воспроизвести ситуацию в режиме реальности. Я ведь не буду создавать ради этого таблицу реальную вашей, для проверки. | |
|
|
|
|
 9.1 Кб |
|
|
для: task
(29.03.2012 в 23:58)
| | прикрепляю | |
|
|
|
|
|
|
|
для: qwert
(30.03.2012 в 00:02)
| | Ваша результирующая страница имеет массу ошибок:
1 - array(14) {
["cat"]=>
string(1) "3"
["title"]=>...
Если это в коде где-то для теста вывод массива, то удалите.
2 - <table class=\"alignleft\" cellspacing=\"0\" cellpadding=\"0\">
src=\"img/rubrics/school_life/242_4.jpg\"
<a href=\'http://11klassniki.ru/view_post_new.php?id=242\'>
в общем везде слеши перд кавычками
и в конце опять
["id"]=>
string(3) "242"
["submit"]=>
string(19) "Сохранить изменения"
}
Разберитесь сначала с этим. | |
|
|
|
|
|
|
|
для: task
(30.03.2012 в 00:08)
| | да там просто
<?php
var_dump($_POST);
?>
|
поэтому так. | |
|
|
|
|
 1.4 Кб |
|
|
для: qwert
(30.03.2012 в 00:12)
| | прикрепляю новый код | |
|
|
|
|
|
|
|
для: qwert
(30.03.2012 в 00:14)
| | Это не эта страница. | |
|
|
|
|
|
|
|
для: task
(30.03.2012 в 00:16)
| | такая же стhаница html | |
|
|
|
|
|
|
|
для: qwert
(30.03.2012 в 00:33)
| | Я прошу страницу не обработчика формы, а ту на которой сама форма. | |
|
|
|
|
 11.7 Кб |
|
|
для: task
(30.03.2012 в 00:34)
| | понял . выслаю | |
|
|
|
|
 11.7 Кб |
|
|
для: task
(30.03.2012 в 00:34)
| | понял . выслаю | |
|
|
|
|
|
|
|
для: qwert
(29.03.2012 в 18:30)
| | Мой товарищ уехал, и не известно будет ли он еще тут вообще, а я исключительно по его просьбе.
Что я могу сказать, наверно главное то, что зря он вам все это писал, так как вы все его замечания и рекомендации просто проигнорировали, или не стараетесь понять, вникнуть, почему вам это советуют и рекомендуют.
Весь ваш код ужасен и полон дыр, скопирован с какого-то ветхого поганого учебника или пособия. Но даже этот код вы не стараетесь понять.
Программирование не игра, в нем нет уровней, программирование, это серьезная работа базирующая на знаниях и опыте. А знания и опыт придут только в том случае, если вы будете изучать код, анализировать его, что дает понимание его работы.
А для того, чтобы изучать, анализировать и в итоге понимать код, нужно как минимум изучать конструкции и функции языка на котором вы программируете. А вы даже в описание функций вряд ли заглянули.
У вас может никогда и не выполнится ваше условие проверки, так как вы делаете грубочайшую ошибку - выдаете на страницу необработанный html-код, там где он должен быть текстом. А вам об этом говорили дважды:
Вот первый - Ошибки надо исправлять, а значит возвращать форму пользователю, и не просто возвращать, а с данными, которые он уже заполнил, то есть определенные ранее переменные $title, $clear_description и т.д., должны быть вставлены в атрибуты value соответствующих полей формы, пропустив их через htmlspecialchars().
А вот второй (в примере) - value="'. htmlspecialchars($err && in_array($k, $err) ? null : $v).'"
А вы как поступаете? Посмотртите внимательно на свою страницу, которая выдает форму. Разве визуально не видно, что форма уже разбита html вставками в ее полях? Так писать код, не думая, это значит разрешать xss-атаки на своих страницах.
Список cat у вас не имеет выбранного по умолчанию опшена, а значит переменная $cat всегда будет равна null, если пользователь не сделает выбора в списке. Следовательно и не происходит обновление.
Можно было бы пояснить еще, почему не стоит так выдавать и обрабатывать форму, где каждый блок живет своей жизнью, никак не связанной между собой, но думаю не стоит, вам и об этом говорили, но вы даже не стали вникать в это, а зря. Значит я и не буду говорить. Вы говорили о своем уровне - так вы и зависните на первом уровне банальной стрелялки, и никогда не научитесь играть в стратегию, если не будете изучать предмета. | |
|
|
|
|
|
|
|
для: Курсор
(30.03.2012 в 11:01)
| | а я исключительно по его просьбе
присмотритесь к форуму, вдруг у вас появится желание помогать людям от себя лично
на мой взгляд это действительно самый лучший форум по данной тематике
хотя согласен может быть отношение предвзятое, но желания искать что-то лучше уж точно не возникает
да и форум возник не на пустом месте, а как поддержка книг авторов форума, соответственно и авторов этих книг
и на мой взгляд уже давно вырос в нечто большее, чем обычная "тех поддержка" | |
|
|
|
|