Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/sql] banalny błąd zapis do bazy
Forum PHP.pl > Forum > Przedszkole
wojtekwro
  1. <?php
  2. if ($_SESSION['LOGGED'] != TRUE) {
  3.  echo 'nie masz uprawnień';
  4.  exit;
  5. }
  6. if ($_SESSION['pelno'] != 1) {}
  7. else {
  8. if(is_numeric($_GET['id'])){
  9. $id=$_GET['id'];
  10. } else {
  11. $id = 1;
  12. }
  13.  
  14. //-------------------------------------------------------------------
  15. $connection = @mysql_connect('localhost', 'root', '')
  16. or die('brak polaczenia z BD');
  17. $db = @mysql_select_db("reklamacja")
  18. or die('Nie mogę połączyć się z bazą danych');
  19. /* zapytanie do konkretnej tabeli */
  20. $zapytanie = "SELECT MAX(id) FROM spis";
  21. $wykonaj = mysql_query ($zapytanie);
  22. $maxid=mysql_fetch_row($wykonaj);
  23.  
  24. $poprzedni=$id-1;
  25. $kolejny=$id+1;
  26.  
  27. echo "<br />";
  28. [...]
  29. <P STYLE="margin-bottom: 0cm; font-weight: medium">Jeżeli
  30. wymieniony lub przeceniony
  31. <big><span style="color: rgb(0, 0, 153);">'.$r['przec'].'</span></big></P>
  32. <P STYLE="margin-bottom: 0cm; font-weight: medium">Dokument stworzył: <big><span style="color: rgb(0, 0, 153);">'.$r['dodal'].'</span></big></P>
  33. <P STYLE="margin-bottom: 0cm; font-weight: medium">
  34. </P>
  35.  
  36. <P STYLE="margin-bottom: 0cm; border-top: none; border-bottom: 1px solid #000000; border-left: none; border-right: none; padding-top: 0cm; padding-bottom: 0.07cm; padding-left: 0cm; padding-right: 0cm; font-weight: medium">
  37. <BR>
  38. </P>
  39. <P STYLE="margin-bottom: 0cm; font-weight: medium"><BR>
  40. </P>
  41. ';
  42. }
  43. if($r['cz1'] != 1) {
  44. echo '<form action="dupa.php">Wpisz informacja jaka została przekazana do klienta.<br>
  45. <input type="text" name="test" /><input type="hidden" name="id" value="'; print $id; echo'">
  46. <input value="dodaj" type="submit">
  47. </form><hr>';} else {}
  48. if($r['cz1'] != 2)
  49. echo 'podsumowanie;
  50. }
  51. ?>


tutaj dodaje 2 wartości tylko

  1. <?php
  2. if ($_SESSION['LOGGED'] != TRUE) {
  3.  echo 'nie masz uprawnień';
  4.  exit;
  5. }
  6.  
  7. // odbieramy dane z formularza
  8. $id = $_POST['id'];
  9. $info = $_POST['test'];
  10. $cz1="2";
  11. if($info) {
  12. //laczenie z bd
  13. $connection = @mysql_connect('localhost', 'root', '')
  14. or die('brak polaczenia z BD');
  15. $db = @mysql_select_db("reklamacja")
  16. or die('Nie mogę połączyć się z bazą danych');
  17. //echo 'dodajemy rekordy';
  18. $zapytanie=("INSERT INTO spis data='$data' WHERE id=$id");
  19. $sql = mysql_query($zapytanie) or die("nie udało się: " . mysql_error());
  20. if($ins) {
  21. $zapytanie1 = "UPDATE spis SET cz1 = '$cz1' WHERE id=$id";
  22. $sql1 = mysql_query($zapytanie1) or die("nie udało się: " . mysql_error());
  23. echo "Rekord został dodany poprawnie "; }
  24. else 
  25. {echo "Błąd nie udało się dodać nowego rekordu";}
  26.  
  27. mysql_close($connection);
  28. }
  29. else
  30. { echo 'sprobuj ponownie, pamiętaj by wypełnic wszystkie pola';
  31. }
  32. ?>


w czym polega problem, mam stronkę na której wyświetlam sobie zawartość tabeli z BD później na tej samej stronie mam jedno pole textowe które chce zapisać w tej samej tabeli. Mam skrypcik który ma dodać wartośc pola test do tabeli spis, a jeżeli się to uda UPDATE wartości cz1. Sypie cały czas ostatnim echem gdzie popełniam błąd questionmark.gif
kossa
Ten Twój kod ma wiele do życzenia ale to co innego...

tak gdzie robisz update masz:

Cytat
if($ins) {
$zapytanie1 = "UPDATE spis SET cz1 = '$cz1' WHERE id=$id";

co $ins - nie wiadomos skad sie bierze, ja nie znalazlem ale moglem przeoczyc

Łukasz
wojtekwro
pozatym pomieszałem postem pobieram $info a do bazy zapisuje $data w polu data ale nawet jak poprawiłem tego ins na sql i te zmienne i pola to tez nei działa ;/
  1. <?php
  2. $ins = @mysql_query("INSERT INTO spis info='$info' WHERE id=$id");
  3. if($ins) {
  4. $zapytanie1 = "UPDATE spis SET cz1 = '$cz1' WHERE id=$id";
  5. $sql1 = mysql_query($zapytanie1) or die("nie udało się: " . mysql_error());
  6. echo "Rekord został dodany poprawnie "; }
  7. else 
  8. {echo "Błąd nie udało się dodać nowego rekordu";}
  9.  
  10. mysql_close($connection);
  11. }
  12. else
  13. { echo 'sprobuj ponownie, pamiętaj by wypełnic wszystkie pola';
  14. }
  15. ?>
uli
Linia nr 45 pierwszego pliku

Domyślną metodą wysyłania danych formularza jest GET. Zmień ją na:


  1. <?php
  2. echo <form action="dupa.php" method="POST">Wpisz informacja jaka została przekazana do klienta.<br>
  3. ?>
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.