|
|
|
| Ребята, помогите пожалуйста, у меня не обрабатываются формы, т.е. не могу считать инфу из полей,тем более вывести, даже самые элементарные формы не могут обрабатываться.До сих пор не могу понять в чем проблема? | |
|
|
|
|
|
|
|
для: user_dk
(25.05.2005 в 00:09)
| | Вы бы хоть код привели в пример, какие формы конкретно и т.д.? | |
|
|
|
|
|
|
|
для: user_dk
(25.05.2005 в 00:09)
| | Хорошо.
Вот регистрационная форма:
<html>
<head>
<title> Регистрационная форма</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body text = "#000000" >
<h2 align = CENTER> Регистрация пользователей </h2>
Поля, обязятельные для заполнения, обозначены значком <font color = red>*</font>
<hr>
<form name = "register" method = "POST" action = "php_reg.php">
<table width = "450" border = "0" cellpadding = "0" cellspacing = "0" cols = 2>
<p align = "left"><Font face = "Times New Roman" size = 4 > Выберите свой логин и пароль </font></p>
<tr>
<td> <font color = red>*</font>Логин:</td>
<td align = "right"><input type = "text" name = "name" size = "30"></td>
</tr>
<tr>
<td><font color = red>*</font>Пароль:</td>
<td align = "right"><input type = "password" name = "password" size = "30"></td>
</tr>
<tr>
<td><font color = red>*</font>Подтверждение пароля:</td>
<td align = "right" ><input type = "password" name = "confpassword" size = "30"></td>
</tr>
</table>
<br>
<table width = "450" border = "0" cellpading = "0" cellspacing = "0" cols = "2">
<p align = "left"><Font face = "Times New Roman" size = 4 > Дополнительная информация о пользователе </font></p>
<tr>
<td><font color = red>*</font>ФИО:</td>
<td align = "right"><input type = "text" name = "fio" size = "30"></td>
</tr>
<tr>
<td>Телефон:</td>
<td align = "right"><input type = "text" name = "phone" size = "30"></td>
</tr>
<tr>
<td><font color = red>*</font>E-mail:</td>
<td align = "right"><input type = "text" name = "mail" size = "30"></td>
</table>
<p align = center><input type="submit" name="Submit" value="Зарегистрироваться"></p>
</form>
<hr>
</body>
</html>
Вот php скрипт:
<?php
echo "Content-Type: text/html\n\n";
if ($_SERVER['REQUEST_METHOD']=='POST')
{
//обрабатываем полученные переменные.
foreach($_POST as $key => $value)
{
//сначала делаем обработку, которая не испортит данные,
//если их придется выводить в форму снова, при ошибке
$value=trim($value); // убираем пробелы в начале и в конце переменной.
if (get_magic_quotes_gpc()) $value = stripslashes($value); //убираем слеши, если надо
$value=htmlspecialchars($value,ENT_QUOTES); //заменяем служебные символы HTML на эквиваленты
$_POST[$key]=$value; //все изменения записываем в массив $_POST
//дальше делаем изменения, которые пойдут только в файл,
//а в форму их выводить не нужно.
$value=str_replace("\r","",$value); // заменяем все переводы строк
$value=str_replace("\n","<br>",$value) ; //на <br>
$msg[$key]=$value; //и присваиваем новые значения элементам массива $msg. //
}
}
$str = $_POST['name']."|".$_POST['password']."\n";
$file = fopen("dat.db","r+");
if (!$file)
echo ("Ошибка открытия файла");
fputs($file, $str);
fclose($file);
?> | |
|
|
|
|
|
|
|
для: user_dk
(25.05.2005 в 00:24)
| | Нет,здесь всё работает,только ,например,на сервере создайте файл : dat.db
В этот файл только сохраняется логин и пароль,если хотите чтобы сохранялось всё что вводит пользователь нужно исправлять скрипт.
Вот например, уже и телефон сохраняется:
измените код:
$str = $_POST['name']."|".$_POST['password']."\n";
|
на:
$str = $_POST['name']."|".$_POST['password']."|".$_POST['phone']."\n";
|
Вообщем,разбирайтесь,ничего сложно здесь пока нет 8-) | |
|
|
|
|
|
|
|
для: user_dk
(25.05.2005 в 00:24)
| | Да, так и есть, только в файле dat.db сохраняется не имя пользователя и пароль, а непонятный символ, причем один...
По-моему что-то не так с методом POST, во всех остальных тестируемых примерах происходит аналогичное, в смысле сохранения данных из формы в файл. | |
|
|
|
|
|
|
|
для: user_dk
(25.05.2005 в 01:07)
| | У меня всё работает.
И с методом POST здесь всё в порядке.
Подождите , может кто нибудь из знатоков на форуме 8-) вам поможет. | |
|
|
|
|
|
|
|
для: user_dk
(25.05.2005 в 01:07)
| | Могут ли быть неправильными какие-нибудь настройки сервера или может необходимо что-нибудь изменить в php.ini? Просто у меня сервер IIS ?? Не смог нормально настроить Apache, поэтому пришлось пользоваться тем, что есть... | |
|
|
|
|
|
|
|
для: user_dk
(25.05.2005 в 01:23)
| | Разобрался.Поставил прогу Denver.Все заработало кроме некоторых функций php.
Не работает filesize() | |
|
|
|
|
|
|
|
для: user_dk
(25.05.2005 в 01:07)
| | Хм... у меня тоже всё нормально, выведе в обработчике содержимое массива $_POST
<?php
print_r($_POST);
?>
|
Что в нём? | |
|
|
|