Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Проблема с PHP(не передаются переменные из формы в PHP- скрипт)

Ответить
Настройки темы
Проблема с PHP(не передаются переменные из формы в PHP- скрипт)

Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Подскажите пож-та в чем проблема:

Поставил себе Апач 2.2, PHP5, MySql итд и столкнулся с такой проблемой: форма, находящаяся в HTML- файле не передает значения переменных в пхп скрипт, находящийся в отдельном файле. Приведу пример на основе исходника калькулятора, выложенного в этой теме . Так вот результатом сего у меня выдает:

"Первое число = Второе число = Действие = Результат:"

То есть ни одна переменная не была проинициализированна. Пробовал создавать форму, в которой бы только создавалась и инициализировалась бы переменная и передавалась бы в пхп скрипт, который выводил ее на экран - как результат - чистый экран.. Сразу скажу что сменил несколько сборок и php и апача - результат один и тот же...

Отправлено: 13:29, 25-07-2009

 

Новый участник


Сообщения: 30
Благодарности: 4

Профиль | Отправить PM | Цитировать


Согласен. Я хотел применение mysql_error() посоветовать...
Строка
PHP код: Выделить весь код

if(!$link) echo "Какая-то фигня с соединением..."

действительно лишняя потому как die завершит все это безобразие...

Отправлено: 23:13, 26-07-2009 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Guffer

Пользователь


Сообщения: 82
Благодарности: 22

Профиль | Отправить PM | Цитировать


Всем привет. у меня возникла проблема с передачей данных из формы в переменные, а затем из переменных в базу данных. если форме указать метод get то видно что данные заносятся в переменные, но в базе ничего не происходит. Если ф переменную записать данные ручками (например: $N_POLL="какойнить бред") то запись запишется в базу как положено. В чем может быть дело???? код прилагаю.
PHP код: Выделить весь код

<html>
<body>
<?php

$db 
mysql_connect("localhost""root");
mysql_select_db("golosovalka",$db);
if (
$submit) {
// Если такого нет то добавить если есть то редактировать
if ($K_POLL) {
$sql "UPDATE b_poll SET N_POLL='$N_POLL',TM_BEGIN='$TM_BEGIN',F_LOGGING='$F_LOGGING',TM_END='$TM_END',F_ENG''$F_ENG',F_MULTI''$F_MULTI') WHERE K_POLL=$K_POLL";
} else {
$sql "INSERT INTO b_poll (N_POLL,TM_BEGIN,F_LOGGING,TM_END,F_ENG,F_MULTI) VALUES ('$N_POLL','$TM_BEGIN','$F_LOGGING','$TM_END','$F_ENG','$F_MULTI')";
}
// применить запрос к базе
$result mysql_query($sql);
echo 
"Запись изменена";
} elseif (
$delete) {
// Удаление записи
$sql "DELETE FROM b_poll WHERE K_POLL=$K_POLL";
$result mysql_query($sql);
echo 
"$sql Запись удалена";
} else {
// Если мы не нажимали кнопку
if (!$K_POLL) {
// Вывести список
$result mysql_query("SELECT * FROM b_poll",$db);
?>
<div style="overflow:scroll; height: 200px; border: 1px solid #000000"><table><tr><td>
<?php
while ($myrow mysql_fetch_array($result)) {
printf("<a href=\"%s?K_POLL=%s\">%s %s</a> \n"$PHP_SELF$myrow["K_POLL"], $myrow["N_POLL"], $myrow["TM_BEGIN"]);
?>
</td><td>
<?php
printf
("<a href=\"%s?K_POLL=%s&delete=yes\">(DELETE)</a><br>"$PHP_SELF$myrow["K_POLL"]);
?>
</td></tr><tr><td>
<?php
}
?>
</td></tr></table></div>
<?php
}
?>
<P>
<INPUT TYPE="button" VALUE="Добавить запись" ONCLICK="<?php echo $PHP_SELF?>">
</P>
<form method="post" action="<?php echo $PHP_SELF?>">
<?php
if ($K_POLL)
{
// editing so select a record
$sql "SELECT * FROM b_poll WHERE K_POLL=$K_POLL";
$result mysql_query($sql);
$myrow mysql_fetch_array($result);
$K_POLL $myrow["K_POLL"];
$N_POLL $myrow["N_POLL"];
$F_LOGGING $myrow["F_LOGGING"];
$F_MULTI $myrow["F_MULTI"];
$F_ENG $myrow["F_ENG"];
$TM_BEGIN $myrow["TM_BEGIN"];
$TM_END $myrow["TM_END"];
// Записать данные записи для редактирования
?>
<input type=hidden name="K_POLL" value="<?php echo $K_POLL ?>">
<?php
}
?>
Введите название голосования: <input type="Text" name="N_POLL"><br/>
Логировать? <INPUT TYPE="checkbox" NAME="F_LOGGING"><br/>
Возможно несколько ответов? <INPUT TYPE="checkbox" NAME="F_MULTI"><br/>
Англоязычное голосование? <INPUT TYPE="checkbox" NAME="F_ENG"><br/>
Время начала: <INPUT TYPE="text" NAME="TM_BEGIN" value="" >   Время окончания: <INPUT TYPE="text" NAME="TM_END"><br/>
<br/>
Варианты ответов: <br/>
<INPUT TYPE="text" NAME="ans_1"><br/><br/>
<INPUT TYPE="text" NAME="ans_2"><br/><br/>
<INPUT TYPE="text" NAME="ans_3"><br/><br/>
<INPUT TYPE="text" NAME="ans_4"><br/><br/>
<INPUT TYPE="text" NAME="ans_5"><br/><br/>
<INPUT TYPE="text" NAME="ans_6"><br/><br/>
<INPUT TYPE="text" NAME="ans_7"><br/><br/>
<INPUT TYPE="text" NAME="ans_8"><br/><br/>
<INPUT TYPE="text" NAME="ans_9"><br/><br/>
<INPUT TYPE="text" NAME="ans_10"><br/><br/>
<br/>
<input type="Submit" name="submit" value="Создать голосование"> <INPUT TYPE="reset" value="Сброс">
</form>
<?php
}
?>
</body>
</html>

-------
windows xp WOOD


Отправлено: 11:04, 02-08-2009 | #12


Новый участник


Сообщения: 30
Благодарности: 4

Профиль | Отправить PM | Цитировать


Используй $_POST
PHP код: Выделить весь код

if(isset($_POST['submit']))
{
    
$N_POLL              $_POST['N_POLL'];
    
$F_LOGGING         $_POST['F_LOGGING'];
    
$F_MULTI            $_POST['F_MULTI'];



Отправлено: 12:40, 02-08-2009 | #13


Аватара для Guffer

Пользователь


Сообщения: 82
Благодарности: 22

Профиль | Отправить PM | Цитировать


Цитата EGORR_TOO:
Используй $_POST »
уже пробовал, не помогает.

-------
windows xp WOOD


Отправлено: 13:12, 02-08-2009 | #14


Deadooshka


Сообщения: 2562
Благодарности: 697

Профиль | Отправить PM | Цитировать


Цитата Guffer:
UPDATE b_poll SET N_POLL='$N_POLL',TM_BEGIN='$TM_BEGIN',F_LOGGING='$F_LOGGING',TM_END='$TM_END',F_ENG''$F_ENG',F_MULTI ''$F_MULTI') WHERE K_POLL=$K_POLL »
кое где пропущен знак "="
Цитата Guffer:
<INPUT*TYPE="button"*VALUE="Добавить*запись"*ONCLICK="<?php*echo*$PHP_SELF?>"> »
вот это непонятно что такое
Цитата Guffer:
if*($submit)*{//*Если*такого*нет*то*добавить*если*есть*то*редактироватьif*($K_POLL)*{ »
непонятно, откуда переменные берутся...

!все строковые переменные перед вставкой в запрос обязательно должны быть обработаны mysql_real_escape_string (кроме редких случаев, нпр полнотекстового поиска)...

Отправлено: 18:31, 02-08-2009 | #15


Аватара для Guffer

Пользователь


Сообщения: 82
Благодарности: 22

Профиль | Отправить PM | Цитировать


Sham, можешь пояснить
Цитата Sham:
!все строковые переменные перед вставкой в запрос обязательно должны быть обработаны mysql_real_escape_string »
когда я пытался ее вставить получил вот что:
Код: Выделить весь код
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in Z:\home\localhost\www\index.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in Z:\home\localhost\www\index.php on line 6
а переменные берется из формы (например: name="N_POLL")

-------
windows xp WOOD


Последний раз редактировалось Guffer, 02-08-2009 в 20:46. Причина: дополнил


Отправлено: 20:44, 02-08-2009 | #16


Новый участник


Сообщения: 30
Благодарности: 4

Профиль | Отправить PM | Цитировать


Guffer, ты mysql_real_escape_string() не в MySql запрос ли поставил?

Отправлено: 21:02, 02-08-2009 | #17


Аватара для Guffer

Пользователь


Сообщения: 82
Благодарности: 22

Профиль | Отправить PM | Цитировать


EGORR_TOO, нет конечно. в самом начале php кода.

-------
windows xp WOOD


Отправлено: 21:16, 02-08-2009 | #18


Deadooshka


Сообщения: 2562
Благодарности: 697

Профиль | Отправить PM | Цитировать


Цитата Guffer:
нет конечно. в самом начале php кода. »
эта функция должна использоваться после коннекта с базой (тк юзает его в параметре)... rtm

Отправлено: 21:29, 02-08-2009 | #19


Аватара для Guffer

Пользователь


Сообщения: 82
Благодарности: 22

Профиль | Отправить PM | Цитировать


Sham, поставил после коннекта, ошибок не выдает. но данные по прежнему не вносит. на сколько я понял переменную $submit оно тоже не понимает. т.е name="N_POLL" не соответствует $N_POLL. как это можно поправить???

-------
windows xp WOOD


Отправлено: 00:10, 03-08-2009 | #20



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Проблема с PHP(не передаются переменные из формы в PHP- скрипт)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как передать данные с HTML формы в PHP скрипт? .ExeRun Вебмастеру 7 19-04-2010 02:31
Разное - [PHP] Переменные CXREF Программирование и базы данных 2 16-06-2009 08:15
[решено] глобальные переменные в php bruder Вебмастеру 17 19-04-2008 21:45
Переменные в PHP Guest Программирование и базы данных 6 11-09-2003 04:28
Переменные в PHP Guest Вебмастеру 1 10-01-2003 13:48




 
Переход