Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wadliwe dzialanie post/formularza
Forum PHP.pl > Forum > Przedszkole
Rudeman
Witam!
Mam formularz w html'u, ktory przesyla dane metoda post. W 90% dane przechodza bez zarzutu, lecz zdarzaja sie przypadki, ze informacje w ogole nie zostaja przeslane. Czy ktos sie orientuje co moze byc tego powodem? Ponizej kod wymienionego formularza:

  1. <form action="<? print $filename;?>"enctype="multipart/form-data" method="POST">
  2. <table border="0">
  3. <tr>
  4. <td><h6>Data aktualizacji</h6></td>
  5. <td><h6><input type="text" name="data" size="20" maxlength="25" value="<? print date("Y-m-d"); ?>"></h6></td>
  6. </tr>
  7. <tr>
  8. <td><h6>Tytuł aktualizacji</h6></td>
  9. <td><h6><input type="text" name="tytul" size="45" maxlength="150"></h6></td>
  10. </tr>
  11. <tr>
  12. <td><h6>Opis aktualizacji:</h6></td>
  13. <td><h6><textarea name="opis" rows="6" cols="50"></textarea></h6></td>
  14. </tr>
  15. <tr>
  16. <td><h6>Plik pełnej wersji</h6></td>
  17. <td><h6><input type="file" name="plik1"></h6></td>
  18. </tr>
  19. <tr>
  20. <td><h6>Opis pliku pełnej wersji</h6></td>
  21. <td><h6><input type="text" name="plik1_opis" size="45" maxlength="300" /></h6></td>
  22. </tr>
  23. <tr>
  24. <td><h6>Plik dokumentacji</h6></td>
  25. <td><h6><input type="file" name="plik3" /></h6></td>
  26. </tr>
  27. <tr>
  28. <td><h6>Opis pliku dokumentacji</h6></td>
  29. <td><h6><input type="text" name="plik3_opis" size="45" maxlength="300" /></h6></td>
  30. </tr>
  31. <tr>
  32. <td colspan="2" align="center">
  33. <h6>
  34. <input type="hidden" name="id" value="<? print $id;?>" />
  35. <input type="hidden" name="dodaj" value="true" />
  36. <input type="submit" value="Dodaj" />
  37. </h6>
  38. </td>
  39. </tr>
  40.  
  41. </form>
wookieb
A zawsze masz odpowiednie $filename? A jak sprawdzasz czy dane zostają przesłane?
Rudeman
formularz odwoluje sie do siebie samego:

  1. <?php
  2. $filename = "nazwa_tej_strony.php";
  3. ?>


potem na poczatku pobierane sa wszystkie zmienne, kazda za pomoca funkcji pobierz:

  1. <?php
  2. function pobierz($pole){
  3.    if(isset($_POST[$pole])){
  4.        $war=$_POST[$pole];
  5.    }elseif(isset($_GET[$pole])){
  6.        $war=$_GET[$pole];
  7.    }else{
  8.        $war=null;
  9.    }
  10.    return $war;
  11. }
  12. ?>


np. $dodaj = pobierz('dodaj');
wookieb
Jak wysyłasz jedna metoda to sprawdzaj tylko ta jedna metoda. Podaj cały kod php do obsługi formularza to zobaczymy co sie dzieje,.
Rudeman
Nie chcialem wczesniej wklejac kodu calego pliku, bo jest bardzo niechlujnie napisany (dodam ze nie przeze mnie).
Podam co robia wykorzystywane klasy: "conn" odpowiada za polaczenie z baza, "oferta_o" odpowiada za zapytania do bazy, zas "zdjecia" tutaj jedynie modyfikuje nazwy plikow.

Wspomniana funkcja pobierz znajduje sie rowniez w klasie conn. Zastanawia mnie dlaczego te funkcje moge wywolywac tak po prostu (a nie $connObj->pobierz), a do innych juz wylacznie przez obiekty odpowiednych klas? Nie ma przeciez zdefiniowanego zadnego namespace'a a nic w tym stylu, a w klasie conn implementacja tej funkcji jest taka sama jak w kazdej innej klasie.


  1. <html>
  2. <head>
  3.    
  4.    <link href="firma.css" rel="styleSheet" type="text/css">
  5. <script language="javascript">
  6. function del(filename, id, del)
  7.  {
  8.   if(confirm("Jesteś pewien, że chcesz skasować te aktualizacje?\nPliki tego wpisu zostaną skasowane!!!"))
  9.   {
  10.     window.location.replace(filename + '?id=' + id + '&del=' +del);
  11.   }
  12.  }
  13.  
  14.  
  15. </script>
  16.  
  17.  
  18. </head>
  19. <?
  20. include "conn.class.php";
  21. include "oferta_o.class.php";
  22. include "zdjecia.class.php";
  23. $path = "../files";
  24. $connObj = new conn("progman");
  25. $ofertaObj = new oferta_o($connObj->conn);
  26. $zdjeciaObj = new zdjecia($path);
  27.  
  28. $filename = "oferta_o_aktualizacje.php";
  29.  
  30. $dodaj=pobierz('dodaj');
  31. $del=pobierz('del');
  32. $tytul=pobierz('tytul');
  33. $opis=pobierz('opis');
  34. $plik1=pobierz('plik1');
  35. $plik2=pobierz('plik2');
  36. $plik3=pobierz('plik3');
  37. $plik1_opis=pobierz('plik1_opis');
  38. $plik2_opis=pobierz('plik2_opis');
  39. $plik3_opis=pobierz('plik3_opis');
  40. $plik1_=pobierz('plik1_');
  41. $plik2_=pobierz('plik2_');
  42. $plik3_=pobierz('plik3_');
  43. $plik1_oryg=pobierz('plik1_oryg');
  44. $plik2_oryg=pobierz('plik2_oryg');
  45. $plik3_oryg=pobierz('plik3_oryg');
  46. $data=pobierz('data');
  47.  
  48. $czyAktualizowac1 = true;
  49. $czyAktualizowac3 = true;
  50.  
  51.  
  52.  
  53. //echo "<pre>FILES\n", var_dump($_FILES), "</pre>";
  54.  
  55.  
  56. if(isset($_POST['id']))
  57.    {
  58.        $id=$_POST['id'];
  59.    }
  60.    elseif(isset($_GET['id']))
  61.    {
  62.        $id=$_GET['id'];
  63.    }
  64.    else
  65.    {
  66.        $id=0;
  67.    }
  68. echo "proba raz <br/>";
  69. if($dodaj && $tytul)
  70.    {
  71.     echo "proba dwa <br/>";
  72.     if($_FILES['plik1']['name'] && $_FILES['plik1']['error'] == 0)
  73.         {
  74.            $plik1_ = $zdjeciaObj->nazwa_pliku($_FILES['plik1']['name']);
  75.            $plik1_oryg = ereg_replace(" ", "_",$_FILES['plik1']['name']);
  76.            if( $plik1_ == NULL )
  77.            {
  78.                //echo "<body onLoad=\"alert('Dzis juz nie mozna dodac wiecej aktualizacji pliku!')\"></body>";
  79.                $plik1_oryg = NULL;
  80.                $czyAktualizowac1 = false;
  81.            }
  82.            else
  83.            {
  84.                copy ($_FILES['plik1']['tmp_name'], $path. "/" .$plik1_);
  85.            }
  86.        }
  87.        else echo "Cos nie halo!";
  88.  
  89.    /* if($_FILES['plik2']['name'] && $_FILES['plik2']['error'] == 0)
  90.          {
  91.             $plik2_ = $zdjeciaObj->nazwa_pliku($_FILES['plik2']['name']);
  92.             $plik2_oryg = ereg_replace(" ", "_",$_FILES['plik2']['name']);
  93.              if( $plik2_ == NULL )
  94.             {
  95.                 echo "<body onLoad=\"alert('Dzis juz nie mozna dodac wiecej aktualizacji!')\"></body>";
  96.                 $czyAktualizowac = false;
  97.             }
  98.             else copy ($_FILES['plik2']['tmp_name'], $path. "/" .$plik2_);
  99.         }*/
  100.        
  101.     if($_FILES['plik3']['name'] && $_FILES['plik3']['error'] == 0)
  102.         {
  103.            $plik3_ = $zdjeciaObj->nazwa_pliku($_FILES['plik3']['name']);
  104.            $plik3_oryg = ereg_replace(" ", "_",$_FILES['plik3']['name']);
  105.             if( $plik3_ == NULL )
  106.             {
  107.                 //echo "<body onLoad=\"alert('Dzis juz nie mozna dodac wiecej aktualizacji pliku!')\"></body>";
  108.                 $plik3_oryg = NULL;
  109.                 $czyAktualizowac3 = false;
  110.             }
  111.            else
  112.            {
  113.                copy ($_FILES['plik3']['tmp_name'], $path. "/" .$plik3_);
  114.            }
  115.        }
  116.  
  117.     if($czyAktualizowac1 || $czyAktualizowac3)
  118.     {
  119.         $ofertaObj->addAktualizacje($id, $tytul, $opis, $plik1_, $plik1_oryg, $plik2_, $plik2_oryg, $plik3_, $plik3_oryg, $plik1_opis, $plik2_opis, $plik3_opis, $data);
  120.         echo "byla aktualka <br/>";
  121.     }
  122.    
  123.    }
  124. else if($dodaj)
  125.    {
  126.        echo "<body onLoad=\"alert('Nie ma tytulu!')\"></body>";
  127.    }
  128. echo "proba trzy <br/>";
  129. if(!$dodaj) echo "Nie dziala dodaj <br/>";
  130. if(!$tytul) echo "Nie ma tytulu!";
  131. else echo "Jest tytul!";
  132. echo "<br/>";
  133.  
  134. if ($del)
  135. {
  136.    $ofertaObj->delAktualizacje($del);
  137. }
  138.  
  139. $lista = $ofertaObj->getAktualizacjeFromOferta($id);
  140.  
  141. ?>
  142. <body bgcolor="white" text="#000000" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
  143.  
  144. <table border="0" cellpadding="0" cellspacing="0" width="100%">
  145. <tr>
  146.    <td colspan="3" align="right" valign="bottom" bgcolor="#6487d">
  147.    <h6>
  148.        <br/><br/><br/><br/>
  149.        &nbsp;&nbsp;&nbsp;
  150.        <a href="http://www.progman.com.pl" target="_blank"><font color="#ffffff"><b>Strona główna ProgMan</b></a>
  151.        &nbsp;&nbsp;<br/>
  152.        <img src="images/spacer.gif" width="1" height="4">
  153.    </h6><br/>
  154.    </td>
  155. </tr>
  156.  
  157. <tr>
  158.    <td width="160" align="left" valign="top" bgcolor="#F1F1F1">
  159.    <table border="0" cellpadding="0" cellspacing="0" width="160" bgcolor="#6487d">
  160.        <tr>
  161.             <td width="4" align="left" bgcolor="#6487d"><img src="images/spacer.gif" width="4" height="1"></td>
  162.             <td width="152" bgcolor="#6487d"><img src="images/spacer.gif" width="152" height="1"><br/><br/></td>
  163.             <td width="4" bgcolor="#6487d"><img src="images/spacer.gif" width="4" height="1"></td>
  164.        </tr>
  165.    </table>
  166.  
  167.    <? include "nawigator.elab"; ?>
  168.    </td>
  169.    <td align="left" valign="top" width="100%" >
  170.    <? include "kategoria_oo.elab"; ?>
  171.  
  172.        <table border="0" cellpadding="0" cellspacing="0">
  173.        <tr>
  174.            <td width="4" align="left"><img src="images/spacer.gif" width="4" height="1"></td>
  175.            <td align="left" valign="top"><h6><br/><br/>
  176.            <font size="+0"><b>Oferta oprogramowania:</b> Aktualizacje oraz dolumentacja.</font><br/><img src="images/spacer.gif" width="1" height="8" /><br/>
  177. <?
  178. if ($dodaj && $tytul)
  179.    {
  180.     print "<br>Komunikaty systemowe dot. przesłanych plików:<br/><br/>";
  181.  
  182.     $upload_errors = array('File successfully uploaded', 'Uploaded file exceeds the allowed size', 'Uploaded file exceeds the allowed size','File was only partially uploaded, please try again', 'No file was received. Upload again.');
  183.  
  184.     if($czyAktualizowac1) echo "<b>Plik pełnej wersji:</b> ", $upload_errors[$_FILES['plik1']['error']], "<br/>";
  185.     else echo "<b>Plik pełnej wersji:</b> Current file was uploaded today too many times! Try tomorrow. <br/>";
  186.     //echo "<b>Plik patch:</b> ", $upload_errors[$_FILES['plik2']['error']], "<br/>";
  187.     if($czyAktualizowac3) echo "<b>Plik dokumentacji:</b> ", $upload_errors[$_FILES['plik3']['error']], "<br/><br/>";
  188.     else echo "<b>Plik dokumentacji:</b> Current file was uploaded today too many times! Try tomorrow. <br/><br/>";
  189.  
  190.  
  191.    }
  192. ?>
  193.  
  194.            <table border="1" cellpadding="4" cellspacing="0" bordercolor="#8385E7">
  195.            <tr>
  196.                <td><h6><strong>Kasuj</strong></h6></td>
  197.                <td><h6><b>Pliki&nbsp;pełnej&nbsp;wersji</b></h6></td>
  198.                <!--  <td><h6><b>Pliki&nbsp;patch</b></td>-->
  199.                <td><h6><b>Pliki&nbsp;dokumentacji</b></h6></td>
  200.            
  201.            </tr>
  202. <?
  203.  
  204. echo "Rozmiar listy: ",count($lista), "<br/>";
  205. for($i = 0; count($lista) > $i; $i++)
  206. {
  207. print "<tr>";
  208.  print "<td colspan=\"4\"><h6>";
  209.    echo "<a href=\"oferta_o_aktualizacje_edycja.php?id=$id&ida=", $lista[$i]['id'], "\">", ($lista[$i]['tytul']) ? ($lista[$i]['tytul']) : "<b>Brak tytułu!!!</b>", "</a> - ", $lista[$i]['data'];
  210.  print "</h6></td>";
  211. print "</tr>";
  212.  
  213.  
  214. print "<tr>";
  215.  
  216.   print "<td align=\"center\"><h6>";
  217.     echo "<a href=\"java script:del('$filename', $id, ", $lista[$i]['id'], ")\"><img src=\"images/x.gif\" border=\"0\"></a>";
  218.   print "</h6></td>";
  219.  
  220.   print "<td align=\"center\"><h6>";
  221.    if($lista[$i]['plik1'])
  222.       {
  223.        echo "<a href=\"../files/", $lista[$i]['plik1'], "\">", $lista[$i]['plik1'], "</a> ";
  224.    echo "[", sprintf("%.2f", filesize("../files/". $lista[$i]['plik1'])/1024),"&nbsp;kb]";
  225.       } else {
  226.        echo "&nbsp;";
  227.       }
  228.   print "</h6></td>";
  229.   /*print "<td align=\"center\"><h6>";
  230.     if($lista[$i]['plik2'])
  231.        {
  232.         echo "<a href=\"../files/", $lista[$i]['plik2'], "\">", $lista[$i]['plik2'], "</a> ";
  233.     echo "[", sprintf("%.2f", filesize("../files/". $lista[$i]['plik2'])/1024),"&nbsp;kb]";
  234.        } else {
  235.         echo "&nbsp;";
  236.        }
  237.    print "</td>";*/
  238.   print "<td align=\"center\"><h6>";
  239.    if($lista[$i]['plik3'])
  240.       {
  241.        echo "<a href=\"../files/", $lista[$i]['plik3'], "\">", $lista[$i]['plik3'], "</a> ";
  242.    echo "[", sprintf("%.2f", filesize("../files/". $lista[$i]['plik3'])/1024),"&nbsp;kb]";
  243.       } else {
  244.        echo "&nbsp;";
  245.       }
  246.   print "</h6></td>";
  247.  
  248. print "</tr>";
  249. }




//dalsza czesc kodu

  1. ?>
  2. </table>
  3.        <br/><br/>
  4. <font size="+0" /><b>Dodaj nowe aktualizacje:</b>
  5. <form action="<? print $filename;?>"enctype="multipart/form-data" method="POST">
  6. <table border="0">
  7.    <tr>
  8.    <td><h6>Data aktualizacji</h6></td>
  9.    <td><h6><input type="text" name="data" size="20" maxlength="25" value="<? print date("Y-m-d"); ?>"></h6></td>
  10.    </tr>
  11.    <tr>
  12.    <td><h6>Tytuł aktualizacji</h6></td>
  13.    <td><h6><input type="text" name="tytul" size="45" maxlength="150"></h6></td>
  14.    </tr>
  15.    <tr>
  16.    <td><h6>Opis aktualizacji:</h6></td>
  17.    <td><h6><textarea name="opis" rows="6" cols="50"></textarea></h6></td>
  18.    </tr>
  19.    <tr>
  20.    <td><h6>Plik pełnej wersji</h6></td>
  21.    <td><h6><input type="file" name="plik1"></h6></td>
  22.    </tr>
  23.    <tr>
  24.    <td><h6>Opis pliku pełnej wersji</h6></td>
  25.    <td><h6><input type="text" name="plik1_opis" size="45" maxlength="300" /></h6></td>
  26.    </tr>
  27.    <!--<tr>
  28.    <td><h6>Plik patch</td>
  29.    <td><h6><input type="file" name="plik2"></td>
  30.    </tr>
  31.    <tr>
  32.    <td><h6>Opis pliku patch</td>
  33.    <td><h6><input type="text" name="plik2_opis" size="45" maxlength="300"></td>
  34.    </tr>-->
  35.    <tr>
  36.    <td><h6>Plik dokumentacji</h6></td>
  37.    <td><h6><input type="file" name="plik3" /></h6></td>
  38.    </tr>
  39.    <tr>
  40.        <td><h6>Opis pliku dokumentacji</h6></td>
  41.        <td><h6><input type="text" name="plik3_opis" size="45" maxlength="300" /></h6></td>
  42.    </tr>
  43.    <tr>
  44.        <td colspan="2" align="center">
  45.        <h6>
  46.        <input type="hidden" name="id" value="<? print $id;?>" />
  47.        <input type="hidden" name="dodaj" value="true" />
  48.        <input type="hidden" name="dodaj2" value="true" />
  49.        <input type="submit" value="Dodaj" />
  50.        </h6>
  51.        </td>
  52.    </tr>
  53.  
  54. </table>
  55. </form>
  56.        </font></h6></td>
  57.        <td width="4" align="left"><img src="images/spacer.gif" width="4" height="1"></td>
  58.    </tr>
  59.    </table>
  60.  
  61.    </td>
  62. </tr>
  63. </table>
  64.  
  65. <? include "stopka.elab";?>
  66. <!--  </div> -->
  67. </body>
  68. </html>
  69. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.