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

Форум PHP

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

 

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

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

тема: НЕ выполняется копирование, почему?
 
 автор: DoKeRaToR   (21.03.2012 в 13:55)   письмо автору
 
 

всем привет
имеется такой код:

<?php 
if($_POST['submit']=== true){ 
if (isset(
$_GET['i'])){ 
if(
file_exists('icon/'.$_GET['i'].'.png')){ 
copy('icon'.$_GET['i'].'.png','data/icon.png'); 
}
}
?> 
<form action="/agent/index.php?<?=rand(10000,999999)?>" method="post"> 
<br/><input type="radio" name="i" value="1" checked/>1<img src="icon/1.png" alt="" /> 
<br/><input type="radio" name="i" value="2" />2<img src="icon/2.png" alt="" /> 
<br/><input type="radio" name="i" value="3" />3<img src="icon/3.png" alt="" /><br/> 
<input type="radio" name="i" value="4" />4<img src="icon/4.png" alt="" /><br/> 
<input type="radio" name="i" value="5" />5<img src="icon/5.png" alt="" /><br/> 
<input type="radio" name="i" value="6" />6<img src="icon/6.png" alt="" /><br/> 
<input type="submit" name="submit" value="Дальше" /> 
</form> 

по идее, выбранная картинка в радиокнопке должна копировать себя в директорию data/ с именем icon.png, но увы, этого не происходит. например, если выбрать четвёртую радиокнопку, то должна копироваться картинка 4.png..
значение value соответствует названию картинки.
____________________________________________
а если брать такой код:

<?php 
print "<b>"."выберите картинку"."</b>\n"
print 
"<form style = \"margin-bottom:5px;\" action = \"./?\">\n"
print 
"1.<input type = \"radio\" name = \"ic\" value = \"1\" checked = \"checked\">1<br>\n"
print 
"<img src = \"./icon/1.png\" alt=\"\"><br>\n"
print 
"2.<input type = \"radio\" name = \"ic\" value = \"2\">2<br>\n"
print 
"<img src = \"./icon/2.png\" alt=\"\"><br>\n"
print 
"3.<input type = \"radio\" name = \"ic\" value = \"3\">3<br>\n"
print 
"<img src = \"./icon/3.png\" alt=\"\"><br>\n"
print 
"4.<input type = \"radio\" name = \"ic\" value = \"4\">4<br>\n"
print 
"<img src = \"./icon/4.png\" alt=\"\"><br>\n"
print 
"5.<input type = \"radio\" name = \"ic\" value = \"5\">5<br>\n"
print 
"<img src = \"./icon/5.png\" alt=\"\"><br>\n"
print 
"<input style = \"margin-top:5px;\" type = \"submit\" value = \"далее\">\n"
print 
"</form>\n"
if (isset(
$_GET['ic'])){ 
if(
file_exists('icon/'.$_GET['ic'].'.png')){ 
copy('icon/'.$_GET['ic'].'.png','data/icon.png'); 
}
}
?> 

то всё работает, а мне так не надо, просто это кусок скрипта, который я ранее писал. у меня в полном скрипте есть уже форма, а эта на php ещё одна будет, так некрасиво((
есть ли какой-нибудь выход, чтобы на форме одна кнопка далее была, а то в этом в этой части скрипта форма с кнопкой и в другой части тоже форма с кнопкой?
помогите, плиз!
перепробовал всё, на что способен, но толку нету.
мне нужно, чтобы было что-то типо такого

<?php 
if($_POST['submit']=== true){ 
if (isset(
$_GET['i'])){ 
if(
file_exists('icon/'.$_GET['i'].'.png')){ 
copy('icon'.$_GET['i'].'.png','data/icon.png'); 
}

?> 
<form action="/agent/index.php?<?=rand(10000,999999)?>" method="post"> 
<br/><input type="radio" name="i" value="1" checked/>1<img src="icon/1.png" alt="" /> 
<br/><input type="radio" name="i" value="2" />2<img src="icon/2.png" alt="" /> 
<br/><input type="radio" name="i" value="3" />3<img src="icon/3.png" alt="" /><br/> 
<input type="radio" name="i" value="4" />4<img src="icon/4.png" alt="" /><br/> 
<input type="radio" name="i" value="5" />5<img src="icon/5.png" alt="" /><br/> 
<input type="radio" name="i" value="6" />6<img src="icon/6.png" alt="" /><br/> 
<input type="submit" name="submit" value="Дальше" /> 
</form> 

но, что бы копировалась картинка отсюда icon/название.png сюда data/icon.png
заранее спасибо за помощь!

  Ответить  
 
 автор: task   (21.03.2012 в 13:58)   письмо автору
 
   для: DoKeRaToR   (21.03.2012 в 13:55)
 

И что не видите причины? В первом случае форма отправляется методом POST, откуда могут взяться GET?

  Ответить  
 
 автор: DoKeRaToR   (21.03.2012 в 14:02)   письмо автору
 
   для: task   (21.03.2012 в 13:58)
 

я пробовал и так

<?php 
if($_POST['submit']=== true){ 
if (isset(
$_POST['i'])){ 
if(
file_exists('icon/'.$_POST['i'].'.png')){ 
copy('icon'.$_POST.'.png','data/icon.png'); 
}

?> 

  Ответить  
 
 автор: task   (21.03.2012 в 14:09)   письмо автору
 
   для: DoKeRaToR   (21.03.2012 в 14:02)
 

Вы не пробуйте, а проверяйте то, что должно прийти, а придет либо POST, если форма этим методом отправлена, либо GET в ином случае. Не может быть, чтобы половина формы была отправлена методом POST, а другая GET. GET данные при отправке мотодом POST вы можете получить, если добавите их в url action формы.

$_POST['submit']=== true - это излишне, как и формирование случайного числа в action формы.

Проверяйте, что приходит:
<?
if(isset($_POST['submit'])){  
  
print_r($_POST); 
}

  Ответить  
 
 автор: DoKeRaToR   (21.03.2012 в 14:14)   письмо автору
 
   для: task   (21.03.2012 в 14:09)
 

всё, спасибо, проблема решилась :)
вместо if($_POST['submit']=== true){ вставил
if(isset($_POST['submit'])){
помогло :)

  Ответить  
 
 автор: task   (21.03.2012 в 14:36)   письмо автору
 
   для: DoKeRaToR   (21.03.2012 в 14:14)
 

Придется писать подробно
<?
if(isset($_POST['submit'])){  
  
var_dump($_POST); 
}

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

[поправлено модератором]

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

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