Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Poprawiaine wartości. Usuwa zamiast poprawiać.
k2mil
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 8.12.2006

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


Witam! To moja pierwsza styczność z tym formu. Szukam odpowiedzi na temat tego fragmentu skryptu. Powinien on poprawiać dane z księgi. Url wygląda tak index.php/?cmd=edit&co=ksiega&id=$id. Zamiast poprawiać to usuwa posty. Czemu tak jest. Zapytanie wydaje mi się być dobrze więc może coś z formularzem. Aha jest tam jeszcze funckja info która sobie sam zdeklarowałem i tak jak powiedziałem to tylko fragment kodu.
Bardzo proszę o pomoc gdzie jest błąd

  1. <?php case 'ksiega': 
  2.  $id=$_GET['id'];
  3.  $zrodlo='SELECT * FROM ksiega WHERE id='.$id.'';
  4.  $rezultat=mysql_query($zrodlo);
  5.  $wiersz=mysql_fetch_array($rezultat);
  6.  
  7. ?>
  8. <form method="POST" action="index.php?cmd=edit&co=ksiega&id=<?php echo $wiersz['id'] ?>">
  9. <input type="hidden" name="cmd" value="edit" />
  10. <input type="hidden" name="co" value="ksiega" />
  11. <input type="hidden" name="id" value="<?php echo $wiersz['id'] ?>" />
  12. <table border="0" width="424">
  13. <tr><td>Nick</td><td><input type="text" maxlength="10" name="ud_nick" size="20" value="<?php echo($wiersz['nick']) ?>"/></td></tr>
  14. <tr><td>Opinia</td><td><textarea rows="4" name="ud_opinia" cols="40"><?php echo($wiersz['opinia']) ?></textarea></td></tr>
  15. <tr><td colspan="2"><input type="submit" name="wyslij" value="Wyslij" /></td></tr></table></form>
  16.  
  17. <?php
  18. if ($_POST['wyslij']){ //jesli guzik został włączony, to:
  19. $id=$_GET['id'];
  20. $ud_nick=$_POST['ud_nick'];
  21. $ud_opinia=$_POST['ud_opinia'];
  22. $zrodlo="UPDATE ksiega SET nick='$ud_nick', opinia='$ud_opinia' WHERE id='$id'";
  23.  $rezultat=mysql_query($zrodlo) or mysql_error();
  24. info('Wpis został poprawiony',ok);
  25. return;
  26. }


Ten post edytował k2mil 27.01.2007, 15:13:51
Go to the top of the page
+Quote Post
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


wartość $id pobierasz z $_GET a $nick i $opinia z $_POST .. może tutaj coś nie tak questionmark.gif


--------------------
404
Go to the top of the page
+Quote Post
gebp
post
Post #3





Grupa: Zarejestrowani
Postów: 180
Pomógł: 6
Dołączył: 10.04.2006

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


Moim zdaniem masz bląd tu:
  1. <?php
  2. $id=$_GET['id'];
  3. ?>


powino być:
  1. <?php
  2. $id=$_POST['id'];
  3. ?>

ponieważ formularz przesyłasz za pomocą post, więc wszystkie dane z formularza musisz odbierać za pomoacą tablicy $_POST[]
Go to the top of the page
+Quote Post
k2mil
post
Post #4





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 8.12.2006

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


chodzi tu o to że jak wyrzuce wpis

  1. <?php
  2. if ($_POST['wyslij']){
  3. ?>


to wszystko działa tak jak powinno. Jednak wyświetla mi napis
'Wpis został poprawiony' nawet jeśli nie było żadnej akcji.

Może zapytam inaczej. Jak sprawdzić czy urzytkownik kliknął na 'submit' innym sposobem niż ja zaprezentowałem.
Go to the top of the page
+Quote Post
Cienki1980
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


a jaką wartość musi mieć $_POST['wyslij'] żeby wykonała się akcja questionmark.gif Jaką wartość otrzymuje z formularza ?


--------------------
404
Go to the top of the page
+Quote Post
k2mil
post
Post #6





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 8.12.2006

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


<input type="submit" name="wyslij" value="Wyslij" />

no i jak będzie kliknięta tzn że będie miała true. No i napisałem że name to 'wyslij' no i zrobiłem instrukcje if ($_POST['wyslij'])
Go to the top of the page
+Quote Post
Cienki1980
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Teraz to ja nie wiem jaki jest błąd .. czy usuwa czy wogóle nie działa. Piszesz, że jak wywalisz warunek to cały czas pojawia się napis "wpis poprawiono". A co się dzieje jak jest teraz ? Usuwa wpis? AKtualizuje go ? Nic nie robie ?

I takie dziwne pytanie ... po co masz w
  1. <form action="index.php?co=edit& ......

skoro też wysyłasz te same dane za pomocą hiddenów questionmark.gif Zdecyduj się na coś.


--------------------
404
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 Aktualny czas: 20.08.2025 - 04:31