Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wadliwe dzialanie post/formularza
Rudeman
post 6.08.2009, 09:24:41
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 6.08.2009

Ostrzeżenie: (0%)
-----


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>
Powód edycji: [Spawnm] Przeniosłem.
Go to the top of the page
+Quote Post
wookieb
post 6.08.2009, 09:26:18
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A zawsze masz odpowiednie $filename? A jak sprawdzasz czy dane zostają przesłane?


--------------------
Go to the top of the page
+Quote Post
Rudeman
post 6.08.2009, 09:48:10
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 6.08.2009

Ostrzeżenie: (0%)
-----


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');
Go to the top of the page
+Quote Post
wookieb
post 6.08.2009, 10:05:15
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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,.

Ten post edytował wookieb 6.08.2009, 10:06:32


--------------------
Go to the top of the page
+Quote Post
Rudeman
post 6.08.2009, 10:29:39
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 6.08.2009

Ostrzeżenie: (0%)
-----


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. ?>


Ten post edytował Rudeman 6.08.2009, 10:28:51
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.06.2025 - 08:35