Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Pobieranie Id użytkownika
dakorta
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 10.03.2012

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


Mam tabele uzytkownicy, programy oraz test(zawiera użytkowników z przypisanymi im programami).
Pobieram id_użytkownika ale nie wiem jak to pobrane Id przypisać do formularza.
Program ma działac tak:
Wchodzę w użytkownika, klikam dodaj program i w następnym oknie chce mieć tylko liste programów i button dodaj. Wynikiem ma być dodanie programu do uzytkownika, w którym sie aktualnie znajduje.

Kod wygląda tak:
  1. <form method="post" action="index.php">
  2.  
  3. <input type="hidden" name="add_prog" value="true"/>
  4. <input type="hidden" name="id" value="<?=$row['id']?>" />
  5. <input type="text" name="id_programs" id="id_programs"/>
  6. <input type="submit" name="submit" value="Add Program"/>
  7. </form>


  1. function add_program ($p){
  2.  
  3. $id = mysql_real_escape_string($p['id']);
  4. $id_programs = mysql_real_escape_string($p['id_programs']);
  5.  
  6. $sql = "INSERT INTO test VALUES (null, '$id', '$id_programs')";
  7. $res = mysql_query($sql) or die(mysql_error());
  8. echo "Add Successfully!";
  9.  
  10. }


  1. function id_user($id) {
  2. $sql = "SELECT * FROM cms_content WHERE id = '$id'";
  3. $res = mysql_query($sql) or die(mysql_error());
  4. $row = mysql_fetch_assoc($res);
  5. ?>


Niestety nie pobiera mi zmiennej $id do formularza w związku z czym zapisuje mi do bazy tylko nazwę programu bez id_użytkownika. Co robię źle?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Barcelona
post
Post #2





Grupa: Zarejestrowani
Postów: 322
Pomógł: 15
Dołączył: 29.01.2010

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


Co do rzutowania id to inta to zastosuj jeszcze
  1. $id = mysql_real_escape_string($p['id']);
  2. $id = (int)$id;

Go to the top of the page
+Quote Post
dakorta
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 10.03.2012

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


Podczas nauki natknąłem sie na kolejny problem. Mam formularz z polami do wypełnienia. Po dodaniu przechodzę do strony *.index.php- gdzie pobierane są te dane. Po kliknięciu na odśwież stronę, dane ponownie są zaczytywane.
Nie wiem w jaki sposób to ograniczyć aby tylko raz zapisał dane.
  1. function add_content($p){
  2. $imie = mysql_real_escape_string($p['imie']);
  3. $nazwisko = mysql_real_escape_string($p['nazwisko']);
  4. $dzial = mysql_real_escape_string($p['dzial']);
  5. if(!$imie || !$nazwisko || !$dzial):
  6.  
  7. if(!$imie):
  8. echo "<p>The imie Is Required</p>";
  9. endif;
  10.  
  11. if(!$nazwisko):
  12. echo "<p>The nazwisko Is Required</p>";
  13. endif;
  14.  
  15. if(!$dzial):
  16. echo "<p>The dzial Is Required</p>";
  17. endif;
  18.  
  19. echo '<a href="add-content.php">Try Again</a>';
  20. else:
  21. $sql = "INSERT INTO cms_content VALUES (null, '$imie', '$nazwisko', '$dzial')";
  22. $res = mysql_query($sql) or die(mysql_error());
  23. echo "Add Successfully!";
  24.  
  25. endif;
  26.  
  27. }

W pliku index.php pobieram dane w ten sposób:
  1. <?php if($_POST['add']):
  2. $obj->add_content($_POST);
  3. endif;
  4. ?>


Czy to jest dosć skomplikowane i porywam sie z motyką na ksieżyc?
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: 6.10.2025 - 18:34