Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Aktualizacja rekordu
Forum PHP.pl > Forum > Przedszkole
darophp
Możecie mi powiedzieć czemu mi to nie działa ?
  1. if ($zaplacono=="tak") {
  2. echo '<h2>Potwierdzenie wpłaty</h2>';
  3. $wynik = mysql_query("UPDATE wplaty SET paid='$paid' WHERE id='$id'") or die(mysql_error());
  4. if ($wynik) {
  5. echo <<<CODE
  6. <p>Jest ok</p>
  7. <p><a href="index.php?page=home">Powrót na stronę główną</a></p>
  8. <form method="post"><input type="hidden" name="id" value="$id" /><input type="hidden" name="paid" value="1" /></form>
  9. CODE;
  10. } else echo "<p>Wpłata nie została potwierdzona !</p>";
  11. }

link oczywiście <a href="/?zaplacono=tak&id=3"></a> <-- czy jakikolwiek inny numerek ... biggrin.gif
nospor
1) register_globals
2) Temat: Jak poprawnie zada pytanie
zastosuj się do podanych tu wszystkich porad a dowiesz się czemu nie działa.
darophp
W każdym plku na początku mam error_reporting. Mimo to i tak nie wyrzuca. A o co chodzi z tym register_globals ?
nospor
No ale miales zastosowac się do wszystkich porad a nie jednego error_reporting. Poza tym oprócz error_reporting ma byc teź ini_set. tongue.gif Wszystko masz w linku.
Masz sprawdzic czy zmienne zawierają to co myslisz. Sprawdzales? Robiles głupie echo $id? Robiles głupie echo $zaplacono?

O co chodzi z register globals?
http://nospor.pl/php-faq.html#faq-3
darophp
Mimo, że kliknę na ten link to wyświetli mi to:
Cytat
Potwierdzenie wpłaty nr 10 <-- dodane id
tak <-- wartosc zaplacono tez jest
Jest OK
Powrót na stronę główną

Ale nic nie zaktualizuje, choć wszystkie dane są przekazywane.

PS. Póki co Google otwarte a czas jaki tam spędzam to parę godzin dziennie biggrin.gif tongue.gif
nospor
O widzisz, nie mogles od razu podać jakie są objawy? Od razu by było wiadomo ze wszystkie zmiennej się dobrze przesłały i bym ci 4 liter głupotami nie zajmował winksmiley.jpg

Najwidoczniej nie ma w bazie rekordu o ID 4 winksmiley.jpg

ps:
  1. echo "UPDATE wplaty SET paid='$paid' WHERE id='$id'";

Zobacz jak wyglada zapytanie, wklej sobie do PhpMyAdmin i sprawdź czy działa jak powinno.
darophp
Czy ja wiem ... tongue.gif
nospor
spójrz na mojego PS z poprzedniego posta i zrob go smile.gif
darophp
Jasny gwint, moja głupota. Popatrz na $paid ... ona chyba była pusta <glupek_ze_mnie>
Teraz działa:
  1. $wynik = mysql_query("UPDATE orders SET paid='1' WHERE id='$id'") or die(mysql_error());

"Paid" czyli zapłacono musi przyjmować wartość "1" - jeżeli tak to na stronie głównej jest tabela i wyświetla się zapłacono. I jeśli paid=="1" to wyświetla się napis wyślij. Dzięki za rady smile.gif Działa !
nospor
Ech... czyli jednak jakbyś się od razu zastosował do porad co ci w linku dałem, to problem by już dawno był rozwiązany....

Zapoznaj się z tym linkiem dokładnie i stosuj się zawsze do niego zanim napiszesz na forum. Jak zobaczę, że się nie stosujesz, to z prawa nadanego mi przez spółkę forum - zamknę Ci temat smile.gif

ps: tak, wiem, jestem niedobry... ale to naprawdę dla Twojego dobra smile.gif
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.