Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программируем на PHP - вопросы и ответы. Поля форм в переменные. Такой глюк...


Поля форм в переменные. Такой глюк...

Здравствуйте, php любители и профессионалы!

Сегодня в выпуске.

0.    Приветствие

1.    Статистика php форума «уже 143 сообщения…»

2.    Подробный ответ на php вопрос. Избранное «Ошибка в 65 строчке. Помогите»

3.    Список php вопросов для наших экспертов. «Переменная $var не существует. Как быть?»

4.    Вопрос номера «У кого был подобный глюк?»

5.    Наши модераторы: Seadog (ПРИСОЕДИНИСЬ к команде php форума)

6.    P.S.

 

Приветствие

Вас приветствует очередной выпуск рассылки «Программирование на php в вопросах и ответах».

Сегодня у нас очень интересные php тонкости.

Но перед этих хочу Вам сделать предложение:

Я предлагаю вам стать модератором одного из разделов php форума. Что я могу Вам предложить?

+. Бесплатное размещение вашего материала в рассылке;

+ Бесплатный анонс на первой странице форума;

+ Логотип Вашей фирмы на первой странице форума -"Спонсор раздела";

+ Статус консультанта на моём форуме.

Что жду от вас:

+ Объективные и развёрнутые ответы на вопросы посетителей форума;

+ Регулярное обновление форума путём добавления на него своих авторских топиков в виде вопросов, рассказов, опросов и т.д. по тематике конкретной ветки;

+ Активное участие в жизни форума;

+ Приглашение своих знакомых на форум;

Что скажите?

Если вы хотите стать модератором php форума, пишите мне на e-mail с пометкой «Модератор форума»

 

Статистика php форума

 

 Кто сейчас на форуме

 

Наши пользователи оставили сообщений: 143
Всего зарегистрированных пользователей: 63
Последний зарегистрированный пользователь: Геннадий

Сейчас посетителей на форуме: 5, из них зарегистрированных: 3, скрытых: 0 и гостей: 2   [ Администратор ]   [ Модератор ]
Больше всего посетителей (13) здесь было 23 Сен 2007 03:21 am
Зарегистрированные пользователи: MMS, phper, Seadog

 

 

PHP. Распространённые вопросы и ответы

 

 

Подробный ответ на php вопрос. Избранное

Ошибка в 65 строчке. Помогите

 

Вот текст моей вопроса:

Код:

(form_checker.php3)
<html>
<head>
<title>Contact Info Checker</title>
</head>
<body bgcolor="#FFFFFF">
<?php
/* Declare some functions */
function print_form($f_name, $l_name, $email, $zip, $os) {
?>
<form action="form_checker.php3" method="post">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>First Name</td><td><input type="text" name="f_name"
value="<?php print $f_name ?>"></td>
</tr> <tr>
<td>Last Name <b>*</b></td><td><input type="text" name="l_name"
value="<?php print $l_name ?>"></td>
</tr> <tr>
<td>Email Address <b>*</b></td><td><input type="text" name="email"
value="<?php print $email ?>"></td>
</tr><tr>
<td>ZIP Code <b>*</b></td><td><input type="text" name="zip"
value="<?php print $zip ?>"></td>
</tr> <tr>
<td>Operating System</td><td><input type="text" name="os"
value="<?php print $os ?>"></td>
</tr> </table>
<input type="submit" name="submit" value="Submit!"><input type="Reset">
</form>
<?
}
function check_form($f_name, $l_name, $email, $zip, $os) {
if(!$l_name || !$email || !$zip):
print("<h3>You are missing some required fields!<h3>");
if(!$l_name) {
print("You need to fill in your <b>Last Name</b>.<br>"); }
if(!$email) {
print("You need to fill in your <b>Email</b>.<br>"); }
if(!$zip){
print("You need to fill in your <b>Zip Code</b>.<br>"); }
print_form($f_name, $l_name, $email, $zip, $os);
else:
confirm_form($f_name, $l_name, $email, $zip, $os);
endif;
}
function confirm_form($f_name, $l_name, $email, $zip, $os) {
?><h2>Thanks! Below is the information you sent us.</h2>
<b>Contact Info</b><?
print("<br>$f_name $l_name<br>$email<br>ZIP: $zip<br>OS: $os\n");
}
/* Begin Main Program */
if(!$submit):
?>
<h3>Please enter your information</h3>
Fields with a "<b>*</b>" are required.<p>
<?php
print_form("","","","","","");
else:
check_form($f_name, $l_name, $email, $zip, $os);
endif;
?>
</body>
</html>



Значит выполняю у себя этот скрипт и мне выводит, что ошибка в 65 строчке: Warning: Undefined variable: submit in c:\board\form_checker.php3 on line 65 то есть в if (!$submit):
попробовал залить его на свой хостинг - там все нормально работает... как я понял это у меня проблема в настройках апача или php... может мне что-то надо изменить в конфигах? у меня апача for windows98

Жду ответа

Федя

 

=================================================
Насколько я знаю, предупреждения можно отключать, что похоже и сделано на твоем хостинге.

Для того, чтобы избавиться от этого предупреждения можно вызывать скрипт так: http://host_name/form_checker.php3?submit=, а если он вызывается из формы, можно создать скрытое поле:

Код:

<input type=hidden name="submit" value="">

Амунд

 

=================================================

Во первых - Warning - это НЕ ОШИБКА. Это ПРЕДУПРЕЖДЕНИЕ о том, что эта переменная до использования не была явно определена. По умолчанию РНР настроен так, что показывает все, что выше или равно WARNING. Поэтому в PHP.ini надо найти место, где определяется уровень сообщений и установить его в E_ERROR. После этого будут выводиться сообщения только об ОШИБКАХ. Секция Error handling and logging: error_reporting = E_ERROR Шабанов Василий

 

 

 

Добавить свой ответ: http://phper.ru/viewtopic.php?t=62



Задать свой вопрос вы можете на php форуме

 

Список php вопросов для наших экспертов

Как изменить запись в MySQL таблице? (Вопрос задал: Croum)

Как контролировать кодировку письма? (Вопрос задал: Vik)

Как избавиться от повторной посылки данных скрипту (Вопрос задал: Tnig)

Поля форм в переменные. Такой глюк... (Вопрос задал: Moiseev)

Переменная $var не существует. Как быть? (Вопрос задал: Timur)

В чем тут дело? (Вопрос задал: Геннадий)

Про библиотеку GD (Вопрос задал: Геннадий)

Ошибка в 65 строчке. Помогите (Вопрос задала: Федя)

Ответить на них вы можете в соответствующих топиках. (кликните мышкой на вопрос)

 

Вопрос номера

Поля форм в переменные. Такой глюк... (Вопрос задал: Moiseev)

Не сталкивались ли Вы со следующим глюком PHP ?

Как известно в PHP очень удобно транслировать поля форм в переменные. Однако я применил такой прием: форму пишу не в HTML, а формирую динамически с помощью document.writeln():

Код:

o=wform.document;
o.writeln("<form name=\"invoice\" action=\"zakaz.php\" ");
for (var i=1; i<=n; i++) {
if (basket[i].name) {
itemstr = " | " + basket[i].code + " | " + basket[i].name + " | " +
basket[i].price + " | " + basket[i].unit + " | " + basket[i].quantity + " |
" ;
o.writeln("<p>" + " " + "</p>");
o.writeln("<input type=\"hidden\" name=\"item" + i + "\" value=\"" +
itemstr +"\">");
}
}
o.writeln("<input type=\"submit\" value=\"
Оформить заказ\"
NAME=\"dosubmit\" class=\"button\" >");



С латинскими буквами все без проблем, а русский текст отправляется в UNICODE. PHP пытается раскодировать как WIN-1251 и выводит полную абракадабру.

Если Вы с этим сталкивались, то подскажите путь решения проблемы.

http://phper.ru/viewtopic.php?t=58 Помочь

 

Наши модераторы

Seadog. Стал модератором – 12 октября 2007 года.

О Себе:

Имею опыт программирования на PHP
http://imtc.com.ua
http://seadog.com.ua
http://maribase.com.ua в разработке
http://seadog.e2e.ru в разработке

Найти все сообщения модератора Seadog

 

P.S.

На этом сегодняшний выпуск заканчиваю. До связи.

Напоминаю, что я приглашаю вас стать модератором php форума.

==========

Phper.ru - PHP. Распространённые вопросы и ответы


В избранное