Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Edytowanie rekordów
Forum PHP.pl > Forum > Przedszkole
nansss
  1. <?php
  2. $connect = mysql_connect('localhost', 'root', 'password') or die('Nie można połączyc się z bazą danych. Przepraszamy za kłopoty');
  3. $db = mysql_select_db('db') or die('Nie można połączyc się z bazą danych. Przepraszamy za kłopoty');
  4. $tresc = addslashes($_POST['tresc']);
  5. if($_SESSION['login']!=="login" or $_SESSION['haslo']!=="password")
  6. {
  7. echo '<meta http-equiv="Refresh" content="1; url=index.php?page=paneladmina&wyloguj=1" />';
  8. }
  9. elseif($_POST['tresc']==NULL)
  10. {
  11. echo '<center><form action="index.php?page=edytujkontakt" method="post">
  12. <textarea name="tresc" cols="20" rows="20">Kontakt</textarea>
  13. <br>
  14. <input type="submit" value="Edytuj">
  15. <input type="reset" value="Wyczy&#x15B;&#x107;">
  16. </form><br><a href="java script:history.go(-2);">Wr&#xF3;&#x107; do Panelu Administratora</a></center>';
  17. }
  18. else
  19. {
  20. $zapytanie = "INSERT INTO `kontakt` (`tresc`) VALUES ('".$tresc."')";
  21. $idzapytania = mysql_query($zapytanie);
  22. echo '<center>Zak&#x142;adka kontakt zosta&#x142;a edytowana <meta http-equiv="Refresh" content="1; url=index.php?page=edytujkontakt" /></center>';
  23. }
  24. $zapytanie = "SELECT `tresc` FROM `kontakt WHERE `id`='1'";
  25. $idzapytania = mysql_query($zapytanie);
  26. if($_POST['.$wiersz=[0].'])
  27. {
  28. echo '<center><form action="index.php?page=edytujkontakt" method="post">
  29. <textarea name="tresc" cols="20" rows="20">'.$wiersz[0].'</textarea>
  30. <br>
  31. <input type="submit" value="Edytuj">
  32. <input type="reset" value="Wyczy&#x15B;&#x107;">
  33. </form><br><a href="java script:history.go(-2);">Wr&#xF3;&#x107; do Panelu Administratora</a></center>';
  34. }
  35. else
  36. {
  37. $zapytanie = "UPDATE `kontakt` SET `tresc` WHERE `id`='1'";
  38. $idzapytania = mysql_query($zapytanie);
  39. }
  40. mysql_close($connect);
  41. ?>


Mam pytanie.
Dlaczego nie odczytuje mi zawartości z bazy danych i jeśli by odczytał to nie edytuje podanej treści tylko dodaje nową?
W skrypcie chodzi o to, żeby:
jeśli nie ma żadnej zawartości dodaje nowy rekord, a jeśli jakiś odczyta to pokazuje go i go edytuje.
Co trzeba zmienić. Proszę o naprowadzenie.
Larges
Cytat
  1. "UPDATE `kontakt` SET `tresc` WHERE `id`='1'";


co to za zapytanie? ;] a gdzie jest wartość jaką chcesz zmienić w kolumnie treść w tabeli kontakt dla id = 1? ;]

po co mysql_query(xx) przypisujesz zmiennej? ;>

Inna sprawa - mieszasz kod html z PHP, złe praktyki!
nansss
  1. if($_POST['.$wiersz=[0].'])
  2. {
  3. echo '<center><form action="index.php?page=edytujkontakt" method="post">
  4. <textarea name="tresc" cols="20" rows="20">'.$wiersz[0].'</textarea>
  5. <br>
  6. <input type="submit" value="Edytuj">
  7. <input type="reset" value="Wyczy&#x15B;&#x107;">
  8. </form><br><a href="java script:history.go(-2);">Wr&#xF3;&#x107; do Panelu Administratora</a></center>';
  9. }
  10. else
  11. {
  12. $zapytanie = "UPDATE `kontakt` SET `tresc` WHERE `id`='1'";
  13. $idzapytania = mysql_query($zapytanie);
  14. }
Wiem że tutaj jest problem, a kokretnie w if
Larges
Cytat(nansss @ 7.10.2009, 18:03:46 ) *
  1. [list=1][*]if($_POST['.$wiersz=[0].'])[/list]Wiem że tutaj jest problem, a kokretnie w if<!--QuoteEnd--></div><!--QuoteEEnd-->
  2.  
  3. lol co to za obliczenia? ;>
  4. chyba o to Tobie chodziło:
  5.  
  6. [php]
  7. if($_POST['nazwa_zmiennej_post'] == "tresc")
  8. {
  9. //wykonujemy kod
  10. }
  11.  
  12. lub dla liczby (w miejsce 123999):
  13.  
  14. if($_POST['nazwa_zmiennej_post'] == 123999)
  15. {
  16. //wykonujemy kod
  17. }


jak chcesz w ustalić nazwę zmiennej $_POST za pomocą innej zmiennej to wklep:

$_POST[$zmienna] - bez apostrofu
nansss
Skrypt wygląda tak:

  1. <?php
  2. $connect = mysql_connect('localhost', 'root', 'lpassword') or die('Nie można połączyc się z bazą danych. Przepraszamy za kłopoty');
  3. $db = mysql_select_db('db') or die('Nie można połączyc się z bazą danych. Przepraszamy za kłopoty');
  4. $tresc = addslashes($_POST['tresc']);
  5. if($_SESSION['login']!=="admin" or $_SESSION['haslo']!=="haslo")
  6. {
  7. echo '<meta http-equiv="Refresh" content="1; url=index.php?page=paneladmina&wyloguj=1" />';
  8. }
  9. elseif($_POST['tresc']==NULL)
  10. {
  11. echo '<center><form action="index.php?page=edytujkontakt" method="post">
  12. <textarea name="tresc" cols="20" rows="20">Kontakt</textarea>
  13. <br>
  14. <input type="submit" value="Edytuj">
  15. <input type="reset" value="Wyczy&#x15B;&#x107;">
  16. </form><br><FORM><INPUT TYPE="button" VALUE="Wr&#xF3;&#x107; do Panelu Administratora" onclick="history.go(-1)"></FORM></center>';
  17. }
  18. else
  19. {
  20. $zapytanie = "INSERT INTO `kontakt` (`tresc`) VALUES ('".$tresc."')";
  21. $idzapytania = mysql_query($zapytanie);
  22. echo '<center>Zak&#x142;adka kontakt zosta&#x142;a edytowana <meta http-equiv="Refresh" content="1; url=index.php?page=edytujkontakt" /></center>';
  23. }
  24. $zapytanie = "SELECT `tresc` FROM `kontakt WHERE `id`='1'";
  25. $idzapytania = mysql_query($zapytanie);
  26. if($zapytanie!=NULL)
  27. {
  28. echo '<center><form action="index.php?page=edytujkontakt" method="post">
  29. <textarea name="tresc" cols="20" rows="20">'.$wiersz[0].'</textarea>
  30. <br>
  31. <input type="submit" value="Edytuj">
  32. <input type="reset" value="Wyczy&#x15B;&#x107;">
  33. </form><br><FORM><INPUT TYPE="button" VALUE="Wr&#xF3;&#x107; do Panelu Administratora" onclick="history.go(-2)"></FORM></center>';
  34. }
  35. else
  36. {
  37. $zapytanie = "UPDATE `kontakt` SET `tresc` WHERE `id`='1'";
  38. $idzapytania = mysql_query($zapytanie);
  39. }
  40. mysql_close($connect);
  41. ?>


Sądzę iż bład występuje w tej części:

  1. if($zapytanie!=NULL)
  2. {
  3. echo '<center><form action="index.php?page=edytujkontakt" method="post">
  4. <textarea name="tresc" cols="20" rows="20">'.$wiersz[0].'</textarea>
  5. <br>
  6. <input type="submit" value="Edytuj">
  7. <input type="reset" value="Wyczy&#x15B;&#x107;">
  8. </form><br><FORM><INPUT TYPE="button" VALUE="Wr&#xF3;&#x107; do Panelu Administratora" onclick="history.go(-2)"></FORM></center>';
  9. }
  10. else
  11. {
  12. $zapytanie = "UPDATE `kontakt` SET `tresc` WHERE `id`='1'";
  13. $idzapytania = mysql_query($zapytanie);
  14. }
  15. mysql_close($connect);
  16. ?>


A najprawdopodobniej tutaj:

  1. if($zapytanie!=NULL)
  2.  


Nie wiem co mam tutaj dać. Ma działać na zasadzie: jeżeli coś znajduje się w tabeli która ma id 1 to pokazuje zawartość i gdy ją pokaże i administrator ją edytuje to w bazie danych zostanie edytowana(poprawiona).

Proszę o pomoc.
Z góry dziękuję
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.