 |
 |
Форум сетевых администраторов » Программирование » PHP » провлема
| Автор |
| Тема |
 |
|
 |
|
|
|
Участник


Зарегистрирован: May 2002
Место проживания: Hell
Публикаций: 61
Статус:  |
Проблема иакая, при нажатие на копку,почемуто вводяца все данные кро admin_id хотя его значенме естьвезде. помогитн...
PHP:
<?
function print_form() {
print("Enter Your Interview into the Datebase:<br><br>\n");
$db = mysql_connect("localhost", "root");
mysql_select_db("esrael", $db);
$sql = "select * from admins limit 1";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
echo "You Name: $row[admin_name]<br>\n";
echo "ID: $row[admin_id]\n";
$admin_id=$row[admin_id];
?>
<form action="intvpost.php?<?$admin_id?>" method="post">
Who Was Interviewed:<input type="text" name="topic"><p>
<textarea cols=40 rows=20 name="body"></textarea><p>
<input type="submit" name="submit" value="Submit Interview">
</form>
<?
}
if(isset($submit)):
if(!$topic || !$body):
print("<b>You forgot to fill some of the required fields</b>");
else:
$db2 = mysql_connect("localhost", "root");
mysql_select_db("esrael", $db2);
$sql2 = "INSERT INTO interview VALUES('$admin_id','$topic','$body', NOW())";
echo $sql2;
$result2 = mysql_query($sql2);
echo "Все OK";
endif;
else:
print_form();
endif;
?>
Проблема иакая, при нажатие на копку,почемуто вводяца все данные кро admin_id хотя его значенме естьвезде. помогитн..
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
27-07-2002 16:44 |
|
|
STFW
|
<form action="intvpost.php?<?$admin_id?>" method="post">
самое... |
[сооб. #17554]
27-07-2002 17:28 |
|
STFW


Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус:  |
<form action="intvpost.php?<?$admin_id?>" method="post">
самое простое вместо post написать get
а лучше добавить скрытое поле с <?$admin_id?> и убрать id из action
__________________
FAQ OFF
Сообщение было отредактировано SCHIZO 27-07-2002 в 17:30
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
27-07-2002 17:28 |
|
|
Участник
|
| да проблема не в этом. он не определяет значение... |
[сооб. #17559]
27-07-2002 19:03 |
|
|
STFW
|
=)
ну что еще сказать?..
жди, щас распишу в чем... |
[сооб. #17561]
27-07-2002 19:19 |
|
|
STFW
|
итак, что мы видим?
[quote]<form action="intvpost.php?<?$admin_id?>"... |
[сооб. #17565]
27-07-2002 19:55 |
|
STFW


Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус:  |
итак, что мы видим?
quote: <form action="intvpost.php?<?$admin_id?>" method="post">
----------------------------
подробности:
----------------------------
1. <?$admin_id?> непонятно какое действие производить над этой переменной?(чтобы что-то сделать с переменной, требуется указать еще и оператор)
2. action="intvpost.php?<?$admin_id?>" method="post" методом POST переменная $admin_id прикрученая таким образом к форме передаваться не будет.
-----------------------------
лекарство:
-----------------------------
1. написать хотя бы <?=$admin_id?> или <? echo $admin_id; ?> (для сведения: в целях совместимости с XML не следует использовать короткие теги <? ?>, правильно будет <?php ?> см.также PHP Coding Standart)
2. вместо запихивания параметра в REQUEST_STRING, который кстати передается только при запросе методом GET(а у тебя какой метод написан?), следует в форму добавить скрытое поле с этим параметром <input type="hidden" name="admin_id" value="<?php echo $admin_id; ?>">
P.S.
хоть бы книжку какую по CGI почитал...
__________________
FAQ OFF
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
27-07-2002 19:55 |
|
|
Участник
|
[php]
<?
function print_form() {
print("Enter Your Interview into the Datebase:<br><br>\n");
$db... |
[сооб. #17588]
27-07-2002 22:18 |
|
Участник


Зарегистрирован: May 2002
Место проживания: Hell
Публикаций: 61
Статус:  |
PHP:
<?
function print_form() {
print("Enter Your Interview into the Datebase:<br><br>\n");
$db = mysql_connect("localhost", "root");
mysql_select_db("esrael", $db);
$sql = "select * from admins limit 1";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
echo "You Name: $row[admin_name]<br>\n";
echo "ID: $row[admin_id]\n";
?>
<form action="intvpost.php<?php echo $admin_id; ?>" method="post">
Who Was Interviewed:<input type="text" name="topic"><p>
<textarea cols=40 rows=20 name="body"></textarea><p>
<input type="hidden" name="admin_id" value="<?php echo $admin_id; ?>">
<input type="submit" name="submit" value="Submit Interview">
</form>
<?
}
if(isset($submit)):
if(!$topic || !$body):
print("<b>You forgot to fill some of the required fields</b>");
else:
$admin_id=$row[admin_id];
$date = date("H:i,d/M/y");
$db2 = mysql_connect("localhost", "root");
mysql_select_db("esrael", $db2);
$sql2 = "INSERT INTO interview VALUES('$admin_id','$topic','$body', $date)";
echo $sql2;
$result2 = mysql_query($sql2);
echo "Все OK";
endif;
else:
print_form();
endif;
?>
чо теперь не так?
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
27-07-2002 22:18 |
|
|
STFW
|
action="intvpost.php<?php echo $admin_id; ?>"
- убери кусок... |
[сооб. #17593]
27-07-2002 22:40 |
|
STFW


Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус:  |
action="intvpost.php<?php echo $admin_id; ?>"
- убери кусок выделеный жирным(он вообще никакой роли не играет)
- в начале скрипта напиши error_reporting(E_ALL); (все что вывалит после этого изменения будет ошибками)
- хотелось бы взглянуть на дамп структуры таблицы
SCHIZO добавил 27-07-2002 в 22:53:56:
чем больше изучаю этот код тем больше удивляюсь тому как же я далек от такого стиля программирования, ну ладно хватит лирики, перейдем к делу (сам таким был.. =)
у тебя там функция которая выводит форму, так?
и в этой функции я не увидел место где определяется значение переменной $admin_id после выборки из базы...
echo "ID: $row[admin_id]\n";
вместо этого попробуй так:
$admin_id = $row[admin_id];
echo "ID: ".$admin_id."\n";
__________________
FAQ OFF
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
27-07-2002 22:40 |
|
|


Участник
|
| Warning: Use of undefined constant admin_id - assumed 'admin_id' in c:\program... |
[сооб. #17595]
27-07-2002 23:02 |
|
Участник


Зарегистрирован: May 2002
Место проживания: Hell
Публикаций: 61
Статус:  |
Warning: Use of undefined constant admin_id - assumed 'admin_id' in c:\program files\apache group\apache\htdocs\esrael\admsec\intvpost.php on line 85
Warning: Undefined variable: row in c:\program files\apache group\apache\htdocs\esrael\admsec\intvpost.php on line 85
вот ошыбка которую он выдает. вот зип с самим скриптом и дампом.
Файл: admsec.zip
Был скачан 3 раз(а).
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
27-07-2002 23:02 |
|
|
STFW
|
ты не в то место изменения добавил....
в функцию... |
[сооб. #17596]
27-07-2002 23:26 |
|
STFW


Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус:  |
ты не в то место изменения добавил....
в функцию надо, где то строка 70-я, он не вносится потому что не отправляется, глянь исходник HTML и посмотри что у тебя скрипт в поле которое hidden написал
SCHIZO добавил 27-07-2002 в 23:29:03:
...и заимей на будущее полезную привычку заключать элемент массива в кавычки.
вот так будет правильно: $array['element']
а вот так неправильно $array[element]
P.S.
это вроде просто, но позволяет значительно упростить жизнь
__________________
FAQ OFF
Сообщение было отредактировано SCHIZO 27-07-2002 в 23:31
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
27-07-2002 23:26 |
|
|
Участник
|
[php]
<?
function print_form() {
print("Enter Your Interview into the Datebase:<br><br>\n");
$db... |
[сооб. #17603]
27-07-2002 23:55 |
|
Участник


Зарегистрирован: May 2002
Место проживания: Hell
Публикаций: 61
Статус:  |
PHP:
<?
function print_form() {
print("Enter Your Interview into the Datebase:<br><br>\n");
$db = mysql_connect("localhost", "root");
mysql_select_db("esrael", $db);
$sql = "select * from admins limit 1";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
echo "You Name: $row[admin_name]<br>\n";
$admin_id = $row[admin_id];
echo "ID: ".$admin_id."\n";
?>
<form action="intvpost.php" method="post">
Who Was Interviewed:<input type="text" name="topic"><p>
<textarea cols=40 rows=20 name="body"></textarea><p>
<input type="hidden" name="admin_id" value="<?php echo "$admin_id"; ?>">
<input type="submit" name="submit" value="Submit Interview">
</form>
<?
}
if(isset($submit)):
if(!$topic || !$body):
print("<b>You forgot to fill some of the required fields</b>");
else:
$date = date("H:i,d/M/y");
$db2 = mysql_connect("localhost", "root");
mysql_select_db("esrael", $db2);
$sql2 = "INSERT INTO interview VALUES('$admin_id','$topic','$body', $date)";
echo $sql2;
$result2 = mysql_query($sql2);
echo "Все OK";
endif;
else:
print_form();
endif;
?>
врпервых я птолько начел это дело учить. А ВО ВТОÐ_ЫХ ТЕПЕÐ_Ь ВСЕ ОК НО НЕ вводит даные в базу.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
27-07-2002 23:55 |
|
|
STFW
|
главное спокойствие =)
обрати внимание на... |
[сооб. #17611]
28-07-2002 00:24 |
|
STFW


Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус:  |
главное спокойствие =)
обрати внимание на строчку кода формы в коде скрипта:
<input type="hidden" name="admin_id" value="<?php echo "$admin_id"; ?>">
теперь перейди в броузере к скрипту и посмотри страницу в виде HTML....
скажи что ты видишь в этой строчке вместо <?php echo "$admin_id"; ?> ???
дополнение.
посмотрел дамп базы, и сравнил его с запросом который ты пытаешься выполнить.
Сделал вывод что порядок следования полей в таблице и запросе не совпадает. Т.е.
в таблице поля идут в следующем порядке:
code:
а запрос на вставку значений ты делаешь в таком порядке:
code:
а надо в таком порядке (не копируй строчку, подумай головой и сделай вручную как надо!)
code:
P.S.
если получиться, сообщи
__________________
FAQ OFF
Сообщение было отредактировано SCHIZO 28-07-2002 в 01:15
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
28-07-2002 00:24 |
|
|
Участник
|
<?
function print_form() {
print("Enter Your Interview into the Datebase:<br><br>\n");
$db... |
[сооб. #17758]
29-07-2002 16:14 |
|
Участник


Зарегистрирован: May 2002
Место проживания: Hell
Публикаций: 61
Статус:  |
<?
function print_form() {
print("Enter Your Interview into the Datebase:<br><br>\n");
$db = mysql_connect("localhost", "root");
mysql_select_db("esrael", $db);
$sql = "select * from admins limit 1";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
echo "You Name: $row[admin_name]<br>\n";
$admin_id = $row[admin_id];
echo "ID: ".$admin_id."\n";
?>
<form action="intvpost.php" method="post">
Who Was Interviewed:<input type="text" name="topic"><p>
<textarea cols=40 rows=20 name="body"></textarea><p>
<input type="hidden" name="admin_id" value="<?php echo "$admin_id"; ?>">
<input type="submit" name="submit" value="Submit Interview">
</form>
<?
}
if(isset($submit)):
if(!$topic || !$body):
print("<b>You forgot to fill some of the required fields</b>");
else:
$date = date("H:i,d/M/y");
$db2 = mysql_connect("localhost", "root");
mysql_select_db("esrael", $db2);
$sql2 = "INSERT INTO interview VALUES('0','$topic','$body', '$date','$admin_id')";
echo $sql2;
$result2 = mysql_query($sql2);
echo "Все OK";
endif;
else:
print_form();
endif;
?>
лол, а теперь дату не находит.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
29-07-2002 16:14 |
|
|
STFW
|
что ты пытаешься туда вставить?
- приблизительно... |
[сооб. #17765]
29-07-2002 17:22 |
|
STFW


Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус:  |
что ты пытаешься туда вставить?
- приблизительно следующее 19:13,29/Jul/02
каков тип поля?
- date
какие данные способно хранить это поле?
- дата представленная в формате YYYY-MM-DD
P.S.
если тебе необходимо вставить текущюю дату используй функцию MySQL - CURDATE() вместо переменной
__________________
FAQ OFF
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
29-07-2002 17:22 |
|
|
Участник
|
что ты пытаешься туда вставить?
- приблизительно... |
[сооб. #17771]
29-07-2002 18:33 |
|
Участник


Зарегистрирован: May 2002
Место проживания: Hell
Публикаций: 61
Статус:  |
что ты пытаешься туда вставить?
- приблизительно следующее 19:13,29/Jul/02
da
каков тип поля?
- date
da
какие данные способно хранить это поле?
- дата представленная в формате YYYY-MM-DD
ne znau, ya ne ispolzival standart
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
29-07-2002 18:33 |
|
|
STFW
|
вместо этого -> 19:13,29/Jul/02
попробуй это -> 2002-07-29
если... |
[сооб. #17772]
29-07-2002 18:39 |
|
STFW


Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус:  |
вместо этого -> 19:13,29/Jul/02
попробуй это -> 2002-07-29
если надо еще и время измени формат поля и храни в нем UNIX TIMESTAMP и запихивай как UNIX TIMESTAMP
P.S.
поле не способно хранить данные которые ты ему передаешь
__________________
FAQ OFF
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
29-07-2002 18:39 |
|
|
|
Формат времени GMT. Текущее время 03:57.
|
Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения. |
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
|
|
|
|
| |
Page generated in 0.97425294 seconds (99.29% PHP - 0.71% MySQL) with 26 queries.
|
 |