|
|
|
| Здарова, народ
Есть форма add.php которы получаеть перемену cat_les
<form action="add.php" method="POST" enctype="multipart/form-data">
<label>Ном: <br /><input type="text" name="title" size="65" /></label><br />
<label>Мант: <br /><textarea name="lesson" cols="50" rows="20"></textarea></label><br />
Аудио: <br /><input type="file" name="file" />
<input type="hidden" name="cat_les" value="<? echo $_GET["id"]; // переммена которы получил через GET ?>" />
<br /><br /><input type="image" src="../img/ok.png" width="48" height="48" />
</form>
|
Когда отправляеть перемен $cat_les ищезаеть.
Что не так? | |
|
|
|
|
|
|
|
для: Jovidon
(11.08.2012 в 20:24)
| | Так у вас не только это "ищезаеть", у вас и буквы в словах пропадают. У вас что, клавиатура неполноценная, или клавиши не все?
А вы проверяли, содержит ли атрибут value этого поля значение?
И так нельзя вставлять значения в форму, их надо обрабатывать:
<? echo htmlspecialchars($_GET["id"]); ?>
|
| |
|
|
|
|
|
|
|
для: confirm
(11.08.2012 в 20:31)
| | Это форма для админа.
Если админ добовляеть что та их тоже надо праверить? | |
|
|
|
|
|
|
|
для: Jovidon
(11.08.2012 в 20:37)
| | Надо пропускать чрез указанную функцию то, что приходит извне, не важно кому и от кого.
А проверить, это значит убедиться есть ли на странице, где эта форма у вас, это значение, которое "пропадет". А это нужно сделать в браузере - просмотреть исходный код страницы.
Если бы оно там существовало, то никуда бы оно не делось, то есть, его там нет попросту, потому и не получаете вы его, либо вообще форма "разбита", что вполне может быть, так как вы необработанные данные вываливаете в форму. | |
|
|
|
|
|
|
|
для: confirm
(11.08.2012 в 20:46)
| | Этот способ тоже не работает
Форма и обработчик
<form action="add.php" method="POST" enctype="multipart/form-data">
<label>Ном: <br /><input type="text" name="title" size="65" /></label><br />
<label>Мант: <br /><textarea name="lesson" cols="50" rows="20"></textarea></label><br />
Аудио: <br /><input type="file" name="file" />
<input type="hidden" name="cat_les" value="<? echo htmlspecialchars($_GET["id"]); ?>" />
<br /><br /><input type="image" src="../img/ok.png" width="48" height="48" />
</form>
<?php
if(!empty($_POST))
{
$err = array();
if(empty($_POST["title"])) $err[] = "Номашро нанавиштед!";
if(empty($_POST["lesson"])) $err[] = "Матнро нанавиштед!";
if($_FILES["file"]["name"]["error"] > 0) $err[] = "Аудиоро нагузоштед!";
$cat = $_POST["cat_les"];
$title = $_POST["title"];
$lesson = $_POST["lesson"];
$mp3_name = $_FILES["file"]["name"];
$date = date("Y-m_d");
if(empty($err))
{
copy($_FILES['file']['tmp_name'],"../../files/mp3_lesson/".$_FILES['file']['name']);
$tbl_name = 'system_lesson';
$query = "INSERT INTO ".$tbl_name."
VALUES(0,'$cat','$title','$lesson','$mp3_name','1','$date')";
$result = mysql_query($query) or die(mysql_error() . "<strong class='error'>Ворид карда нашуд! :(</strong>");
if($result) echo "<span class='true'>Бо муваффак ворид карда шуд! :)</span>";
}
if(!empty($err))
{
foreach($err as $error)
{
echo "<span class='error'>".$error."</span><br />";
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: Jovidon
(11.08.2012 в 20:53)
| | Это не способ, это ваша ОБЯЗАННОСТЬ пропускать через эту функцию выводимые на страницу данные! Как и нельзя так вносить данные в базу!
Вы знаете как просмотреть исходный код html-страницы? Вот сделайте это и посмотрите код своей формы ПРЕД ОТПРАВКОЙ ее. Есть ли в ней значение у cat_les? | |
|
|
|
|
|
|
|
для: confirm
(11.08.2012 в 20:59)
| | а а
ощибка
<b>Notice</b>: Undefined index: id in <b>D:\xampp\htdocs\sitei.mo\admin\lesson\add.php</b> on line <b>33</b> | |
|
|
|
|
|
|
|
для: Jovidon
(11.08.2012 в 21:02)
| | У вас эта переменная вообще не приходит на данную страницу, а вы ее в форму вставляете, а потом пытаетесь получить. | |
|
|
|
|
|
|
|
для: confirm
(11.08.2012 в 20:59)
| | >это ваша ОБЯЗАННОСТЬ пропускать через эту функцию выводимые на страницу данные!
Дайте ссылку как зашитить сайть
5 месяц ищу книгу головолмки для хакера ни где нет.
Я знаю что нечего не знаю. | |
|
|
|
|
|
|
|
для: Jovidon
(11.08.2012 в 21:09)
| | Нет, такой ссылки я вам дать не могу, потому, что не знаю сетевого ресурса, где бы было описано все касающееся безопасности. Безопасность веб-приложений, это серьезный и обширный вопрос, что-то касающееся баз данных можно прочесть на одних ресурсах, что-то касающееся серверных скриптов на других, о html еще где-то... В общем искать надо, есть в сети много информации по данным вопросам.
Что касается htmlspecialchars(), то это не обязательно вопрос безопасности. Вот код:
<?
if($_POST) {
echo$_POST['txt'];
}
?>
<form method="post">
<textarea name="txt"><? echo "Текстовая область начинается с открывающего тега <textarea>,
и заканчивается закрывающим тегом </textarea>"; ?></textarea>
<input type="submit" value="Send" />
</form>
| Что наблюдается на странице, какова форма? И что получается после ее отправки?
А теперь так:
<?
if($_POST) {
echo htmlspecialchars($_POST['txt']);
}
?>
<form method="post">
<textarea name="txt"><? echo htmlspecialchars("Текстовая область начинается с открывающего тега <textarea>,
и заканчивается закрывающим тегом </textarea>"); ?></textarea>
<input type="submit" value="Send" />
</form>
| А теперь как?
Если так выводить данные, не обработав их, то можно и вторгнуться в компьютер вашего пользователя, украв у него кое что ценное. Этот пример ничего не ворует, он просто демонстрирует, что произойдет на странице пользователя, если вы необработанные данные пришедшие из формы выведите на страницу:
<?
$_POST['text'] = '<script>alert("Я готов похитить cookies пользователя!")</script>';
echo '<p>Пользователь Jovidon прислал следующее сообщение'.$_POST['text'].'</p>';
|
А если их обработать то ничего страшного для пользователя уже не произойдет:
<?
$_POST['text'] = '<script>alert("Я готов похитить cookies пользователя!")</script>';
echo '<p>Пользователь Jovidon прислал следующее сообщение'.htmlspecialchars($_POST['text']).'</p>';
|
Открывайте руководство РНР и прочтите об этой функции, что она делает. | |
|
|
|
|
|
|
|
для: Jovidon
(11.08.2012 в 20:53)
| | Это на каком-то языке или просто бессмыслица? | |
|
|
|
|
|
|
|
для: Киналь
(11.08.2012 в 21:28)
| | не понял ваш вопрос? | |
|
|
|
|
|
|
|
для: Jovidon
(11.08.2012 в 21:39)
| | > Бо муваффак ворид карда шуд!
Это просто набор букв? | |
|
|
|
|
|
|
|
для: Киналь
(11.08.2012 в 21:48)
| | :)))
Это на Таджикском языке. | |
|
|
|
|
|
|
|
для: Jovidon
(11.08.2012 в 20:24)
| | Напишите в add.php строчки:
echo '<pre>';
print_r($_POST);
echo ''</pre>'';
|
Результат давайте сюда. | |
|
|
|
|
|
|
|
для: Киналь
(11.08.2012 в 20:48)
| |
Array
(
[title] => title
[lesson] => lesson
[cat_les] =>
Notice: Undefined index: id in D:\xampp\htdocs\sitei.mo\admin\lesson\add.php on line 33
[x] => 25
[y] => 30
)
|
| |
|
|
|