За последние 24 часа нас посетили 74670 программистов и 2950 роботов. Сейчас ищут 1403 программиста ...

почему не работает метод POST?

Тема в разделе "Вопросы от блондинок", создана пользователем kay05, 7 окт 2008.

  1. kay05

    kay05 Активный пользователь

    С нами с:
    30 сен 2008
    Сообщения:
    19
    Симпатии:
    0
    на сервере стоит еще IIS на 80 порту, Апач на 8081
     
  2. kay05

    kay05 Активный пользователь

    С нами с:
    30 сен 2008
    Сообщения:
    19
    Симпатии:
    0
    еще раз:

    test_upload_form.php
    PHP:
    1. <html>
    2. <body>
    3. <form enctype="multipart/form-data" method=post action="test_upload.php">
    4. <input type=file name="file1">
    5. <input type=submit>
    6. </form>
    7. </body>
    8. </html>
    test_upload.php
    PHP:
    1. <?php
    2. echo '<pre>';
    3. var_dump($_FILES);
    4. echo '</pre>';
    5. ?>
    работает, все загружает
    теперь код который не работает:

    form_upload.inc
    PHP:
    1. <?php
    2.  if(empty($_GET['c'])){
    3. ?>
    4. <form action=? method=get>
    5. <input type=hidden name=action value="<?php echo $_GET['action'];?>" >
    6. <input type=hidden name=sid value="<?php echo $_GET['sid'];?>" >Категория:<br>
    7. <select name=c>
    8. <?php
    9. if($phuser==@$_SESSION['login'] && $phpass==@$_SESSION['password'] && $_GET['sid']==@$_SESSION['id'])
    10. {
    11. $query_c=@mysql_query("select * from ".$separator."categories;");
    12. }
    13. else
    14. {
    15. $query_c=@mysql_query("select * from ".$separator."categories where locked=0;");
    16. }
    17. while($c=@mysql_fetch_array($query_c))
    18. {
    19.  echo "<option value=".$c['id_cat'].">".$c['name']."\n";
    20.         }
    21. ?>
    22. </select>
    23. <input type=submit value="Выбрать">
    24. </form>
    25. <?php
    26. }
    27. else if(isset($_GET['c'])){
    28.  
    29.  
    30.  
    31.  
    32. ?>
    33.  
    34.  
    35.  
    36. <form action='files/upload.php' method='post' enctype="multipart/form-data">
    37. <input type=hidden name=action value="<?php echo $_GET['action'];?>" >
    38. <input type=hidden name=sid value="<?php echo $_GET['sid'];?>" >
    39. <input type=hidden name=c value="<?php echo $_GET['c'];?>" >
    40. <?php
    41. $query_c=@mysql_query("select * from ".$separator."categories where id_cat=".$_GET['c'].";");
    42. $c['name']=@mysql_result($query_c,0,'name');
    43. echo "<table cellspacing=0 cellpadding=0>
    44. <tr><td>Категория:</td><td width='3px'></td><td width='1px' bgcolor=black></td><td width='3px'></td><td>Подкатегория:</td></tr><tr><td>
    45. ".$c['name']."</td><td width='3px'></td><td width='1px' bgcolor=black></td><td width='3px'></td><td><select name=pc>";
    46. if($phuser==@$_SESSION['login'] && $phpass==@$_SESSION['password'] && $_GET['sid']==@$_SESSION['id'])
    47. {
    48. $query_pc=@mysql_query("select * from ".$separator."pod_categories where id_cat=".$_GET['c'].";");
    49. }
    50. else
    51. {
    52. $query_pc=mysql_query("select * from ".$separator."pod_categories where locked=0 and id_cat=".$_GET['c']." ;");
    53. }
    54.  
    55. echo "<option value='0'>Отсутствует";
    56. while($pc=@mysql_fetch_array($query_pc))
    57. {
    58. echo "<option ";  if(isset($_GET['pc']) && $_GET['pc']==$pc['id_podcat']){echo " selected";} echo" value=".$pc['id_podcat'].">".$pc['name']."\n";
    59.         }
    60.  
    61.  
    62.  ?>
    63.  </select>
    64. </td></tr></table>
    65. <br><br><br>
    66. <table width="40%">
    67. <tr><td width="50%">
    68. Путь к файлу:
    69. </td>
    70. <td align=right>
    71. Путь к файлу:
    72. </td>
    73. </tr>
    74. <tr><td>
    75. <input type=file name=file1>
    76. </td>
    77. <td align=right>
    78. <input type=file name=file2>
    79. </td>
    80. </tr>
    81. <tr><td>
    82. <i><font size=-1 color=red>Размер файла не должен<br> превышать <?php echo $max_file_size; ?>кб
    83. </td>
    84. <td align=right>
    85. <i><font size=-1 color=red>Размер файла не должен<br> превышать <?php echo $max_file_size; ?>кб
    86. </td>
    87. </tr>
    88. <tr><td width="50%">
    89. Название:
    90. </td>
    91. <td align=right>
    92. Название:
    93. </td>
    94. </tr>
    95. <tr><td>
    96. <input type=text name=name1>
    97. </td>
    98. <td align=right>
    99. <input type=text name=name2>
    100. </td>
    101. </tr>
    102. <tr><td>
    103. Краткое описание:
    104. </td>
    105. <td align=right>
    106. Краткое описание:
    107. </td>
    108. </tr>
    109. <tr><td>
    110. <textarea rows=10 cols=15 name=com1></textarea>
    111. </td>
    112. <td align=right>
    113. <textarea name=com2 rows=10 cols=15></textarea>
    114. </td>
    115. </tr>
    116. <tr><td align=center colspan=2>
    117. <input type=submit value="Загрузить">
    118. </td>
    119. </tr>
    120. </table>
    121. </select>
    122. </form>
    123. <?php
    124. }
    125. ?>
    upload.php
    PHP:
    1. <?php
    2. function filerename($separator)
    3. {
    4. $max_id=mysql_result(mysql_query("select id_im from ".$separator."images order by id_im desc;"),'0');
    5. if ($max_id<10) $string = "00000".$max_id;
    6. if ($max_id>=10 && $max_id<100) $string = "0000".$max_id;
    7. if ($max_id>=100 && $max_id<1000) $string = "000".$max_id;
    8. if ($max_id>=1000 && $max_id<10000) $string = "00".$max_id;
    9. if ($max_id>=10000 && $max_id<100000) $string = "0".$max_id;
    10. $str2 = substr($string, 5 , 2);
    11. $str1 = substr($string, 0 , 5);
    12. $result = $str1."x".$str2;
    13. return $result;
    14. }
    15. function _strtolower($str)
    16. {
    17. $str = strtr($str, "QWERTYUIOPASDFGHJKLZXCVBNM",
    18. "qwertyuiopasdfghjklzxcvbnm");
    19. return $str;
    20. }
    21. include "../../functions.php";
    22. include "../../config.php";
    23. include "resize.php";
    24. include "copyright.inc";
    25. $size_file=$max_file_size*1024;
    26. $c=0;
    27. $c2=1;
    28. echo '<pre>';
    29. var_dump($_FILES);
    30. echo '</pre>';
    31. if(!$_FILES["file1"]["size"] && !$_FILES["file2"]["size"])
    32. {
    33.  show_error("Вы не выбрали файл для загрузки");
    34. }
    35. for(;$c<2;$c++)
    36. {
    37.  
    38.  
    39. if($_FILES["file".$c2]["size"])
    40. {
    41. $file_info=pathinfo($_FILES["file".$c2]["name"]);
    42. if(_strtolower($file_info['extension'])!='jpg' && _strtolower($file_info['extension'])!='gif')
    43. {
    44. show_error('Не правильное расширение файла, поддерживаются:<br>*.jpg и *.gif<br>расширение вашего файла *.'._strtolower($file_info['extension']));
    45. }
    46.  
    47.  
    48.    if($_FILES["file".$c2]["size"] >$size_file)
    49.    {
    50.      show_error("<br>Размер файла превышает ".(int)($size_file/1024)."кб<br>");
    51.    }
    52. $filename=filerename($separator).'.'._strtolower($file_info['extension']);
    53. $filename_w_p="../../picture/large/".$filename;
    54.      if(!copy($_FILES["file".$c2]["tmp_name"],
    55.      $filename_w_p))
    56.      {
    57.            show_error("<br>".$c2." файл не загружен, возможные причины:<li>Произошла ошибка при загрузке<li>Отказано в доступе к данной директории");
    58.              }
    59.  
    60.     if($copyright==1)
    61.     {
    62.      copyright($filename_w_p);
    63.     }$name=$_POST['name'.$c2];
    64.      if($_POST['name'.$c2]==''){$name='Без названия';}
    65.      $query_f=@mysql_query("insert into ".$separator."images values('',".$_SESSION['id_user'].",".$_POST['c'].",".$_POST['pc'].",'".$name."','".$filename."',NOW(),'');");
    66.      if($_POST['com'.$c2]!='')
    67.      {
    68.      $query_id_f=@mysql_result(@mysql_query("select * from ".$separator."images where path='".$filename."';"),'0','id_im');
    69.      $query_com=@mysql_query("insert into ".$separator."comment values('',".$query_id_f.",'".$_SESSION['login']."','".$_SESSION['email']."','".htmlspecialchars($_POST['com'.$c2])."',NOW(),'');");;
    70.      }
    71.      if(!$query_f){show_error("Ошибка при заполнении базы данных");}
    72.      echo("<i>Файл успешно загружен <br>");
    73.      echo("<br>Размер файла: ");
    74.      echo((int)($_FILES["file".$c2]["size"]/1024)."кб<br><br>");
    75.  
    76.      $size_img = getimagesize($filename_w_p);
    77.      $x = $y*$size_img[0]/$size_img[1];
    78.      resizeimg($filename, $x, $y);
    79.  
    80.  
    81.   $c2++;
    82.  }
    83. }
    84. echo "<META HTTP-EQUIV='Refresh' CONTENT='3; URL=../?action=UploadFiles&sid=".$_POST['sid']."&c=".$_POST['c']."&pc=".$_POST['pc']."'>";
    85.  
    86. ?>
     
  3. kay05

    kay05 Активный пользователь

    С нами с:
    30 сен 2008
    Сообщения:
    19
    Симпатии:
    0
    возвращает пустой массив $_FILES
     
  4. decoder

    decoder Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    469
    Симпатии:
    0
    kay05
    В курсе про bb-коды? Это прямо над полем для ввода сообщения. Вот там есть такой -
    PHP:
    1.  
     
  5. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    kay05
    Во-первых, несколько замечаний по коду:
    А чем strtolower() не подходит?

    Почему $c не запихиваете в итератор


    В самое начала файла form_upload.inc попробуйте вставить print_r($_FILES). В апаче точно стоит, что inc файлы обрабатываются php?
     
  6. kay05

    kay05 Активный пользователь

    С нами с:
    30 сен 2008
    Сообщения:
    19
    Симпатии:
    0
    как правильно должно быть в Апаче настроено?
     
  7. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    AddType application/x-httpd-php .php
    И для inc
    AddType application/x-httpd-php .inc