Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Edytowanie rekordów
nansss
post 7.10.2009, 15:19:15
Post #1





Grupa: Zablokowani
Postów: 79
Pomógł: 0
Dołączył: 1.03.2009

Ostrzeżenie: (20%)
X----


  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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Larges
post 7.10.2009, 16:47:15
Post #2





Grupa: Zarejestrowani
Postów: 333
Pomógł: 16
Dołączył: 13.05.2008
Skąd: Łódź

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


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!

Ten post edytował Larges 7.10.2009, 16:51:14


--------------------
Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
nansss
post 7.10.2009, 17:03:46
Post #3





Grupa: Zablokowani
Postów: 79
Pomógł: 0
Dołączył: 1.03.2009

Ostrzeżenie: (20%)
X----


  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

Ten post edytował nansss 7.10.2009, 17:06:21
Go to the top of the page
+Quote Post
Larges
post 7.10.2009, 17:17:09
Post #4





Grupa: Zarejestrowani
Postów: 333
Pomógł: 16
Dołączył: 13.05.2008
Skąd: Łódź

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


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

Ten post edytował Larges 7.10.2009, 17:19:12


--------------------
Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
nansss
post 7.10.2009, 19:32:14
Post #5





Grupa: Zablokowani
Postów: 79
Pomógł: 0
Dołączył: 1.03.2009

Ostrzeżenie: (20%)
X----


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ę
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: 30.06.2025 - 05:33