Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как передать $_POST переменную при имитации директорий
 
 автор: RESPONSOR   (08.10.2008 в 19:52)   письмо автору
 
 

если используется файл следующего вида который подключает различные модули в зависимости от адресной строки, для этого использовал



файл .htaccess с таким содержанием:

ErrorDocument 404 /this.php
ErrorDocument 403 /this.php
ErrorDocument 401 /this.php


все файлы которые участвуют в обмене данными вот:


1) файл который ловит данные из адресной строки - this.php

<?
header 
("HTTP/1.0 200 Ok");

$t_arr explode ("/"$_SERVER['REQUEST_URI']);

if(
$t_arr[1] == '1'){  // если адрес сайта site1.ru/1/
include"1.php"// тут подключаем 1 файл
}
if (
$t_arr[1] == '2') { // если адрес сайта site1.ru/2/
include"2.php"// тут подключаем 2 файл
}
?>



файл который подключается в 1 случае - 1.php



<?
echo "<br>Values submitted via POST method:<br>";
while ( list( 
$key$val ) = each$HTTP_POST_VARS ) ) {
   echo 
"$key => $val<br>";
}
echo 
"<br>Values submitted via GET method:<br>";
while ( list( 
$key$val ) = each$HTTP_GET_VARS ) ) {
   echo 
"$key => $val<br>";
}
?>
<html>
<form method="post" action="">
<input type="text" name="name">
<input type="submit" value="Отправить">
</form>
</html>


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

В чем может быть ошибка или как можно эти переменные передать? Спасибо за ответ.

немного изменил описание чтобы было легче понять что я пытаюсь сделать.

  Ответить  
 
 автор: sim5   (08.10.2008 в 19:56)   письмо автору
 
   для: RESPONSOR   (08.10.2008 в 19:52)
 

И куда она должна передать данные, вернее в каком файле вы их пытаетесь обнаружить?

  Ответить  
 
 автор: RESPONSOR   (08.10.2008 в 20:03)   письмо автору
 
   для: sim5   (08.10.2008 в 19:56)
 

передавать она должна сама себе допустим этот файл который подлючается содержит код:


<? 
echo "<br>Values submitted via POST method:<br>"
while ( list( 
$key$val ) = each$HTTP_POST_VARS ) ) { 
   echo 
"$key => $val<br>"

echo 
"<br>Values submitted via GET method:<br>"
while ( list( 
$key$val ) = each$HTTP_GET_VARS ) ) { 
   echo 
"$key => $val<br>"

?>


<html> 
<form method="post" action=""> 
<input type="text" name="name"> 
<input type="submit" value="Отправить"> 
</form> 
</html>



если все ок то после нажатия на Отправить выводится

Values submitted via POST method:
name => fsdfsdfsd

Values submitted via GET method:

а у меня выводится только

Values submitted via POST method:

Values submitted via GET method:

тоесть нет никаких переданных данных.

На сервере нет никаких папок, просто в .htaccess указано:

ErrorDocument 404 /this.php
ErrorDocument 403 /this.php
ErrorDocument 401 /this.php

  Ответить  
 
 автор: RESPONSOR   (08.10.2008 в 20:33)   письмо автору
 
   для: RESPONSOR   (08.10.2008 в 20:03)
 

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

  Ответить  
 
 автор: sim5   (08.10.2008 в 20:33)   письмо автору
 
   для: RESPONSOR   (08.10.2008 в 20:03)
 

Даже сама себе?! У формы есть атрибут action, и если он пуст (как у вас), то форма будет передана скрипту породившему ее. Если вы пытаетесь обнаружить эти данные в файле, например, myscript.php, то укажите это в атрибуте формы: action="myscript.php".

  Ответить  
 
 автор: RESPONSOR   (08.10.2008 в 21:03)   письмо автору
 
   для: sim5   (08.10.2008 в 20:33)
 

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

<?  
echo "<br>Values submitted via POST method:<br>";  
while ( list( 
$key$val ) = each$HTTP_POST_VARS ) ) {  
   echo 
"$key => $val<br>";  
}  
echo 
"<br>Values submitted via GET method:<br>";  
while ( list( 
$key$val ) = each$HTTP_GET_VARS ) ) {  
   echo 
"$key => $val<br>";  
}  
?> 


<html>  
<form method="post" action="">  
<input type="text" name="name">  
<input type="submit" value="Отправить">  
</form>  
</html>

  Ответить  
 
 автор: sim5   (09.10.2008 в 05:09)   письмо автору
 
   для: RESPONSOR   (08.10.2008 в 21:03)
 

А зачем GET параметры еще проверяете? Выбросить все, и записать для проверки так:
<?
print_r
($_POST);   
?>  
<html>   
<form method="post" action="">   
<input type="text" name="name">   
<input type="submit" value="Отправить">   
</form>   
</html>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования