Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP] Update formularzu (kilka buttonów), php, mysql, update, formularz, buttony, kilka
PimP517
post
Post #1





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

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


Witam.

Mam problem z aktualizacją rekordów, problem twki w tym że niekiedy się nie aktualizują, niekiedy się aktualizuje nie ten, niekiedy hasło aktualizuje się jedno do wszystkich rekordów.

  1. $query = safe_query("SELECT * FROM `kupione_nicki` WHERE id_uzytkownika = '$userID'");
  2. while($nicki = mysql_fetch_array($query))
  3. {
  4. $nid = $nicki['id'];
  5. $nickg = $nicki['name'];
  6. $haslog = $nicki['pass'];
  7.  
  8. eval ("\$uslugi_nick = \"".gettemplate("uslugi_nick")."\";");
  9. echo $uslugi_nick;
  10.  
  11.  
  12. if(isset($_POST["save"]))
  13. {
  14. $newpass = $_POST["haslonowe"];
  15. $ktoreid = $_POST["nid"];
  16. safe_query("UPDATE kupione_nicki SET pass='".$newpass."' WHERE id='".$ktoreid."' LIMIT 1");
  17. }


  1. <tr>
  2. <input type="hidden" value="$nid" name="nid" />
  3. <td align="center"><b>$nickg</b></td>
  4. <td align="center"><b><input name="haslonowe" type="text" value="$haslog" /></b></td>
  5. <td align="center"><input type="submit" class="button" name="save" value="Zapisz" /> </td>
  6. </tr>


Przykładowy formularz wygląda tak:
(IMG:http://cs-city.eu/uploads/imgs/cscityeu_1315783379__untitled.png)

Ten post edytował PimP517 12.09.2011, 00:25:58
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Przede wszystkim trzeba ten UPDATE haseł wyrzucić z pętli while, bo to jest w ogóle bez sensu. Poza tym za pomocą przycisku typu submit nie rozwiążesz problemu, chyba że dla każdego użytkownika będziesz tworzył formularz. Jednak lepszym rozwiązaniem jest użycie przycisku button:
  1. <tr>
  2. <td align="center"><b>$nickg</b></td>
  3. <td align="center"><b><input name="haslonowe[$nid]" type="text" value="$haslog" /></b></td>
  4. <td align="center"><button type="submit" class="button" name="save" value="$nid;">Zapisz</button></td>
  5. </tr>

Wtedy powyższy fragment formularza możemy obsłużyć tak:
  1. // najpierw sprawdzamy, czy został naciśnięty przycisk zapisz, a jeśli tak, to aktualizujemy hasło
  2. if(isset($_POST['save']) && $_POST['save'] != '' && is_number($_POST['save'])) {
  3. $user_id = $_POST['save'];
  4. $new_password = $_POST['haslonowe'][$user_id];
  5. safe_query("UPDATE kupione_nicki SET pass='".$new_password."' WHERE id='".$user_id."' LIMIT 1");
  6. }
  7. // teraz możemy ponownie wyświetlić listę użytkowników
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 01:52