Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Formularze-aktywacja
Forum PHP.pl > Forum > Przedszkole
molesta
Witam

Oto fragment skryptu:

  1. <?php
  2. $limit = 15;
  3. echo '<br>Ostatnio zarejestrowani <br><form action="'.$_SERVER['PHP_SELF'].'" method="get">';
  4.   $result = mysql_query('SELECT * FROM `Users` ORDER BY `id` DESC LIMIT ' . $limit);
  5.  
  6.  while($rek = mysql_fetch_array($result)){
  7.  
  8.    echo' <font color="red" ><input name="aktyw" type="radio" value="'.$rek[1].'" />'.$rek[1].'</font>  '.$rek[status].'<br> ';
  9. } 
  10. echo '<button name="aktywuj" type="submit">Aktywuj</button></form>';
  11. ?>


Zadaniem skryptu jest wyświetlenie ostatnich piętnastu zarejestrowanych userów i ich status.

Chciałem troszke zmodyfikować kod aby umożliwić sobie ręczną aktywacje statusu użytkownika co odbywa się przez dodanie do pola ststus wartości "tak"



Tak więc zmodyfikowałem kod aby przy kazdym użytkowniku było wyświetlane pole typu "radio" oraz dodałem przecisk"aktywuj"



W zwiazkuy z tym mam pytanie jak zrobić aby wybranie któregoś z pola i klikniecie buttona "aktywuj" powodowało dodanie dla tego użytkownika wartości "tak" w polu status



Będe wdzieczny za wskazówki

Pozdrawiam
Heweliusz
Witam
Na początku powinieneś wstawić kod formularza, dopiero w środku dajesz pętlę.
W całości wygląda to tak:
  1. <?php
  2. echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">';
  3.  
  4. while($rek = mysql_fetch_array($result)){
  5.  
  6. echo' <font color="red" ><input name="aktyw" type="radio" value="'.$rek[1].'" />' .$rek[1]. '</font> '.$rek[status].'<br> ';
  7. } 
  8. echo '<input name="aktywuj" type="submit" value="Aktywuj" />';
  9.  
  10. echo '</form>';
  11. ?>

Potem w pliku wykonującym wstawiasz kod:
  1. <?php
  2. mysql_query("UPDATE Users SET status='tak' WHERE id='" . $_POST['aktyw'] . "'");
  3. ?>

Wnioskuję, że zmienna $rek[1] zawiera id usera z bazy danych.
Kliknięcie przycisku "Aktywuj" spowoduje wykonanie kodu z pliku podanego w znaczniku form.
molesta
No wiec właśnie chciałbym aby wykonywało sie to bez łączenia z osobnym skryptem

Może funkcja isset?
Heweliusz
Wystarczy wstawić ten kod w if i sprawdzać wartość zmiennej.
  1. <?php
  2. if ( $_GET['akcja'] == 'aktywuj' )
  3. {
  4.  $status = @mysql_query("UPDATE Users SET status='tak' WHERE id='" . $_POST['aktyw'] . "'");
  5.  if ( $status == true )
  6. {
  7.  echo 'Tabela została zaktualizowana';
  8. }
  9. else
  10. {
  11.  echo 'Wystąpił błąd podczas realizacji zadania';
  12. }
  13. }
  14.  
  15. echo '<form action="'.$_SERVER['PHP_SELF'].'?akcja=aktywuj" method="post">';
  16.  
  17. while($rek = mysql_fetch_array($result)){
  18.  
  19. echo' <font color="red" ><input name="aktyw" type="radio" value="'.$rek[1].'" />' .$rek[1]. '</font> '.$rek[status].'<br> ';
  20. } 
  21. echo '<input name="aktywuj" type="submit" value="Aktywuj" />';
  22.  
  23. echo '</form>';
  24. ?>
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.