Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Skrypt nie zmienia wpisów w bazie danych
Zaszczyk
post 25.08.2007, 13:52:22
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 23.08.2007

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


Mam skrypt do obsługi porad, są to krótkie teksty które losowo wyświetlają się na stronie głównej, są one zapisane w bazie danych MySQL. Porady można dodawać i edytować. Niestety jest problem przy edycji. Teoretycznie pokazuje się napis ze Porada została zeedytowana, ale w rzeczywistości tak nie jest. Podejrzewam ze jest jakiś błąd przy zapytaniu które edytuje rekord w bazie.

Plik hintf.php:

  1. <?php
  2. function hintwykaz (){
  3. $result = mysql_query("SELECT * FROM porady")
  4. while ($row = mysql_fetch_array($result)){
  5. ?>
  6. <div align="left"><?php echo "$row[1]";?> | <a href="hint.php?id=<?php echo "$row[0]"; ?>&site=editform">Edytuj</a></div>
  7. <br><br>
  8. <?php
  9. }}
  10.  
  11. function addform(){
  12. ?>
  13. <center>Dodaj porade</center><br>
  14. <form method="post" action="hint.php?site=add">
  15. Porada: <input type="text" name="porada">
  16. <input type="submit" name="Submit" value="Wyślij">
  17. </form>
  18. <?php
  19. }
  20.  
  21. function editform($id){
  22. $result = mysql_query("SELECT * FROM porady WHERE id='$id'")
  23. while ($row = mysql_fetch_array($result)){
  24. ?>
  25. <center>Edytuj porade</center><br>
  26. <form method="post" action="hint.php?site=edit&id=<?php echo "$id"; ?>">
  27. Porada: <input type="text" name="porada" value="<?php echo "$row[1]"; ?>">
  28. <input type="submit" name="Submit" value="Wyślij">
  29. </form>
  30. <?php
  31. }}
  32.  
  33. function addhint($porada){
  34. $result = mysql_query("INSERT INTO porady (porada) VALUES ('$porada')")
  35. $result = mysql_query("UPDATE liczba SET los=los+1")
  36. echo "<center>Porada została dodana</center>";
  37. }
  38.  
  39. function edithint($porada){
  40. $result = mysql_query("UPDATE porady SET porada='$porada' WHERE id='$id'")
  41. echo "<center>Porada została zedytowana</center>";
  42. }


Plik hint.php

  1. <?php
  2. include ("body.php");
  3. include ("hintf.php");
  4. connect();
  5. head();
  6. if ($_GET["site"] == addform){
  7. if ($_SESSION["prawa"] == 2){
  8. addform();}}
  9. elseif ($_GET["site"] == add){
  10. if ($_SESSION["prawa"] == 2){
  11. addhint($_POST["porada"]);}}
  12. elseif ($_GET["site"] == editform){
  13. if ($_SESSION["prawa"] == 2){
  14. editform($_GET["id"]);}}
  15. elseif ($_GET["site"] == edit){
  16. if ($_SESSION["prawa"] == 2){
  17. edithint($_GET["porada"]);}}
  18. elseif ($_GET["site"] == wykaz){
  19. if ($_SESSION["prawa"] == 2){
  20. hintwykaz();}}
  21. else {
  22. echo "<center>Podana strona nie istnieje, skontaktuj się z administracją</center>";}
  23. foot();
  24. ?>
Go to the top of the page
+Quote Post
chemik1982
post 25.08.2007, 14:03:16
Post #2





Grupa: Zarejestrowani
Postów: 91
Pomógł: 13
Dołączył: 20.03.2007
Skąd: Bydgoszcz

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


Witam,


$result = mysql_query("UPDATE porady SET porada="'.$porada.'" WHERE id='.$id.'")

Pozdro.


--------------------
fitmate.pl - aplikacje internetowe
Go to the top of the page
+Quote Post
kriqs
post 25.08.2007, 14:03:23
Post #3





Grupa: Zarejestrowani
Postów: 148
Pomógł: 0
Dołączył: 31.05.2006

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


witam

nakieruje cie smile.gif: pokaz mi jak przekazujesz $id do edithint.


--------------------
Pozdrawiam
kriqs

mam nadzieje ze pomoglem :)
Go to the top of the page
+Quote Post
Zaszczyk
post 25.08.2007, 14:10:50
Post #4





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 23.08.2007

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


Cytat(chemik1982 @ 25.08.2007, 15:03:16 ) *
Witam,


$result = mysql_query("UPDATE porady SET porada="'.$porada.'" WHERE id='.$id.'")

Pozdro.


Niestety nie działa
Go to the top of the page
+Quote Post
chemik1982
post 25.08.2007, 15:56:46
Post #5





Grupa: Zarejestrowani
Postów: 91
Pomógł: 13
Dołączył: 20.03.2007
Skąd: Bydgoszcz

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


plus dodatkowo podpowiedz kolegi o przekazaniu $id jako parametru do twojej funkcji updatujacej.

function edithint($porada,$id)


--------------------
fitmate.pl - aplikacje internetowe
Go to the top of the page
+Quote Post
Zaszczyk
post 26.08.2007, 10:41:36
Post #6





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 23.08.2007

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


Plik hintf.php wygląda tak:

  1. <?php
  2. function hintwykaz (){
  3. $result = mysql_query("SELECT * FROM porady")
  4. while ($row = mysql_fetch_array($result)){
  5. ?>
  6. <div align="left"><?php echo "$row[1]";?> | <a href="hint.php?id=<?php echo "$row[0]"; ?>&site=editform">Edytuj</a></div>
  7. <br><br>
  8. <?php
  9. }}
  10.  
  11. function addform(){
  12. ?>
  13. <center>Dodaj porade</center><br>
  14. <form method="post" action="hint.php?site=add">
  15. Porada: <input type="text" name="porada">
  16. <input type="submit" name="Submit" value="Wyślij">
  17. </form>
  18. <?php
  19. }
  20.  
  21. function editform($id){
  22. $result = mysql_query("SELECT * FROM porady WHERE id='$id'")
  23. while ($row = mysql_fetch_array($result)){
  24. ?>
  25. <center>Edytuj porade</center><br>
  26. <form method="post" action="hint.php?site=edit&id=<?php echo "$id"; ?>">
  27. Porada: <input type="text" name="porada" value="<?php echo "$row[1]"; ?>">
  28. <input type="submit" name="Submit" value="Wyślij">
  29. </form>
  30. <?php
  31. }}
  32.  
  33. function addhint($porada){
  34. $result = mysql_query("INSERT INTO porady (porada) VALUES ('$porada')")
  35. $result = mysql_query("UPDATE liczba SET los=los+1")
  36. echo "<center>Porada została dodana</center>";
  37. }
  38.  
  39. function edithint($porada,$id){
  40. $result = mysql_query("UPDATE porady SET porada="'.$porada.'" WHERE id='.$id.'")
  41. echo "<center>Porada została zedytowana</center>";
  42. }


I wyskakuje taki błąd:

Kod
Parse error:  syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\Program Files\wamp\www\cms\hintf.php on line 44


PS. To nie ja pisałem ten skrypt.
Go to the top of the page
+Quote Post
phpion
post 26.08.2007, 12:11:34
Post #7





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




  1. <?php
  2. $result = mysql_query('UPDATE porady SET porada="'.$porada.'" WHERE id='.$id)
  3. ?>
Go to the top of the page
+Quote Post
Zaszczyk
post 26.08.2007, 18:47:16
Post #8





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 23.08.2007

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


Teraz po edycji porady wyskakuje coś takiego:

Kod
Warning:  Missing argument 2 for edithint(), called in C:\Program Files\wamp\www\cms\hint.php on line 18 and defined in C:\Program Files\wamp\www\cms\hintf.php on line 43
    You have an error in your SQL syntax; check the manual that corresponds  to your MySQL server version for the right syntax to use near '' at  line 1


Ten post edytował Zaszczyk 26.08.2007, 19:34:57
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: 21.06.2025 - 08:26