Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Połączenie zostało zresetowane- wysyłanie formularza
Forum PHP.pl > Forum > Przedszkole
Nazir
Witam. Nie potrafię sobie poradzić z pewną sytuacją. A mianowicie: Mam na stronie prosty formularz. Naciskam przycisk i wszystko gra. Nie byłoby problemu gdyby co jakiś czas nie wyskakiwał komunikat "Połączenie z serwerem zostało zresetowane podczas wczytywania strony". Czasami jest to od razu a czasami dopiero po np 20 wysłaniach danych z formularza. Używam FF. Na innych przeglądarkach problemu nie zauważyłem. Zawirusowanie komputera chyba też nie wchodzi w grę ponieważ próbę przeprowadziłem na kilku komputerach. Z góry dziękuję za wszystkie sugestie

pozdrawiam
com
gdzieś masz wyciek pamieć, kod poprosimy wink.gif
Nazir
  1. <?php
  2. if(!isset($_SESSION['uzyt']))
  3. {
  4. header("Location:../start");
  5. }
  6. $db=mysql_connect('localhost', 'nazir78_uzyt3', 'benek');
  7. mysql_query("SET CHARSET utf8");
  8. mysql_query("SET NAMES `utf8` COLLATE `utf8_polish_ci`");
  9. mysql_select_db("nazir78_baza", $db);
  10. @$login=$_SESSION['uzyt'];
  11. @$zapytanie2="select id_mecz, gosp, gosc, dzien, miesiac, blok from meczew ORDER BY id_mecz";
  12. $wynik2=mysql_query($zapytanie2);
  13. @$ile=mysql_num_rows($wynik2);
  14. if($ile){
  15. while($mecz=mysql_fetch_assoc($wynik2))
  16. {
  17. if(isset($_SESSION['uzyt']))
  18. {
  19. $zapytanie="select gosc from obstawka where login like '$login' and id_mecz like '$mecz[id_mecz]'";
  20. $wynik=mysql_query($zapytanie);
  21. @$blok=mysql_fetch_assoc($wynik);
  22.  
  23. if($mecz['blok']<2)
  24. {
  25. if(!isset($blok['gosc']))
  26. {
  27. echo '<table style="background:#1d411a;">';
  28. echo '<tr>';
  29. echo '<td width="100px">';
  30. echo '<p style="text-align:right;">'.$mecz['gosp'].'</p>';
  31. echo '</td>';
  32. echo '<td width="40px">';
  33. echo '<p style="text-align:center;">:</p>';
  34. echo '</td>';
  35. echo '<td width="100px">';
  36. echo '<p style="text-align:left; margin-left:10px;">'.$mecz['gosc'].'</p>';
  37. echo '</td>';
  38. echo '<td width="35px">';
  39. echo '<p style="text-align:right;color:white">'.$mecz['dzien'].'</p>';
  40. echo '</td>';
  41. echo '<td width="60px">';
  42. echo '<p style="text-align:left; margin-left:8px; color:white">'.$mecz['miesiac'].'</p>';
  43. echo '</td>';
  44.  
  45. echo '<td width="130px" style="text-align:center;">';
  46. echo '<form action="wpisz?login='.@$login.'&id_mecz='.$mecz['id_mecz'].'" method="post">';
  47. echo '<select name="gospodarz">';
  48. echo '<option>0</option>';
  49. echo '<option>1</option>';
  50. echo '<option>2</option>';
  51. echo '<option>3</option>';
  52. echo '<option>4</option>';
  53. echo '<option>5</option>';
  54. echo '<option>6</option>';
  55. echo '<option>7</option>';
  56. echo '<option>8</option>';
  57. echo '<option>9</option>';
  58. echo '</select> &nbsp &nbsp';
  59. echo '<select name="gosc">';
  60. echo '<option>0</option>';
  61. echo '<option>1</option>';
  62. echo '<option>2</option>';
  63. echo '<option>3</option>';
  64. echo '<option>4</option>';
  65. echo '<option>5</option>';
  66. echo '<option>6</option>';
  67. echo '<option>7</option>';
  68. echo '<option>8</option>';
  69. echo '<option>9</option>';
  70. echo '</select> &nbsp &nbsp';
  71. echo '<input type="submit" value="Obstaw" onclick="this.disabled=true,this.form.submit();" />';
  72. echo '</form>';
  73. echo '</td>';
  74. echo '</tr>';
  75. echo '</table>';
  76. }
  77. }
  78. }
  79. }
  80. }
  81.  
  82. ?>


I jeszcze skrypt wpisz.php

  1. <?php
  2. error_reporting(E_ALL ^ E_DEPRECATED);
  3. $db=mysql_connect('localhost', 'nazir78_uzyt3', 'benek');
  4. mysql_query("SET CHARSET utf8");
  5. mysql_query("SET NAMES `utf8` COLLATE `utf8_polish_ci`");
  6. mysql_select_db("nazir78_baza", $db);
  7. $zapytanie1="insert into obstawka values(NULL,'".$_GET['id_mecz']."','".$_GET['login']."','".$_POST['gospodarz']."','".$_POST['gosc']."')";
  8. $wynik1=mysql_query($zapytanie1);
  9. header("Location:obstawiaj");
  10. ?>



Ma ktoś może jakiś pomysł na rozwiązanie mojego problemu? ;(
Arcioch
Wywal wszystkie @ to zobaczysz wtedy gdzie masz błędy smile.gif
Dodatkowo zabezpiecz te Inserty.
Sprawdź logi z serwera powinno być napisane gdzie dokładnie jest luka.
Nazir
Likwidacja @ niestety nic mi nie podpowiedziało.
W którym miejscu szukać tych logów. Bo jak patrzę Log błędu Apache'a to nic tam nie widzę.
Arcioch
Klika błędów na szybko smile.gif
ad 1) Gdzie na początku pliku jest session_start()?
ad 2) Po co wszędzie tłumisz błędy?
ad 3) Skoro na początku sprawdzasz, że jeżeli nie istnieje sesja z użytkownikiem to redirect to po co jeszcze w while sprawdzasz?
ad 3) mysql_query nie jest już wspierane użyj pdo lub mysqli
ad 4) Czemu w zapytaniach używasz like a nie znaku równa się?
ad 5) Gdzie jest rzutowanie wartości na odpowiednie typy
ad 6) Wrzuć sobie raportowanie błędów w oba pliki a nie tłum noticów smile.gif to też błąd
  1. ini_set('display_errors', 1);
  2. ini_set('display_startup_errors', 1);

ad 7) Tworzysz adres do wysyłki podając nick jak masz go w sesji wpisz?login='.@$login.'&id_mecz='.$mecz['id_mecz'].' dzięki temu bardzo łatwo się pod każdego podszyć
ad 8) W pliku wpisz.php nie sprawdzasz już czy istnieje sesja i czy dane są poprawne smile.gif pierwsza osoba która umie się posługiwać firegugiem albo postmane w przeglądarce rozwali całą Twoją bazę
To tak na szybko smile.gif

Sprawdź w pliku vhost gdzie zapisywane są logi do Twojej strony
Nazir
Dziękuję za odpowiedź. Zabieram się za poprawianie.
Mam jeszcze jedno pytanie. Czy dozwolone jest używanie Mysqli mając stronę pisaną w kodzie strukturalnym?

Pozdrawiam
Arcioch
Oczywiście, że dozwolone smile.gif
Jeszcze jedna propozycja. Zamiast za każdym razem wklejać dane do bazy z palca może require_once('moje_polaczenie_z_baza.php'); Wtedy będziesz miał to w jednym miejscu.
Druga propozycja. Nie zamykaj znaczników do <?php czyli nie pisz na końcu ?>
Nazir
Po zresetowaniu się strony napisałem do administratora by sprawdził co działo się na serwerze. Tak mi odpowiedział:

Notice: Undefined variable: db in /public_html/podstrony/admin.php on line 182 Warning: mysql_close() expects parameter 1 to be resource, null given in /home/nazir78/domains/nasztyp.net.pl/public_html/podstrony/admin.php on line 182
nic więcej nie zauważył
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.