Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Nie dodaje do bazy jednej wartości.
Forum PHP.pl > Forum > Przedszkole
NickOver
Witam po raz kolejny wink.gif
  1. <?php
  2. include ('db.php');
  3. $a= $_SESSION['id'];
  4. $id = $_GET['id'];
  5. echo '<form action="wysmsg.php" method="POST">
  6. <input type="text" name="tresc">
  7. <input type="text" name="temat">
  8. <input type="submit" name="ok" value="Wyślij!">
  9. </form>';
  10. if(isset($_POST['ok']))
  11. {
  12. $tresc = trim($_POST['tresc']);
  13. $temat = trim($_POST['temat']);
  14. $data = time();
  15. if(empty($tresc) || empty($temat)) echo 'Wpisz wszystkie pola!';
  16. else
  17. {
  18. $query = "INSERT INTO `msg` (`temat`, `tresc`, `od`, `do`, `datawys`, `stat`) VALUES ('$temat', '$tresc', '$a', '$id', '$data', '1')";
  19. if(mysql_query($query))
  20. {
  21. echo 'Dodane!!';
  22. header("Location: wysmsg.php");
  23. }
  24. else echo 'Wystąpił błąd';
  25. }
  26. }
  27.  
  28. ?>


Jeśli napiszę
  1. echo $id;
bez problemu mi wyswietla, lecz niestety nie dodaje nic w polu "do", z innymi polami nie ma najmniejszego problemu. Widzi ktoś przyczynę? Dodam że adres jest taki = .../wysmsg.php?id=3
Turson
Masz form action wysmsg.php więc po wysłaniu formularza $_GET['id'] się gubi i go nie ma. Dodaj ukryty input z tą wartością w formularzu

#edit
albo po prostu dodaj get w action
nospor
Przeciez formularzem nie wysylasz ID wiec niby czemu ma ci dodawac skoro nie wysylasz?
NickOver
W takim razie pojawia się kolejne pytanie. Jak zrobic aby wartosc formularza była taka jak wartość zmiennej? W google jest tylko o js, a wolał bym tego uniknąć, ponieważ js JESZCZE (smile.gif) nie umiem.
Turson
  1. <form action="wysmsg.php?id='.$id.'" method="POST">
NickOver
Cytat(nospor @ 31.03.2014, 07:43:51 ) *
Przeciez formularzem nie wysylasz ID wiec niby czemu ma ci dodawac skoro nie wysylasz?

Ponieważ sprawdzałem i zmienna $id miała wartość, więc jeśli ona ma wartość to po prostu wrzucę tą wartość jako zmienną. No ale nie wyszło ;p
nospor
Tak, tylko ze ty to sprawdzales przed wyslaniem forma, gdzie miales to z linka.
Jakbys sprawdzal po wyslaniu forma, czyli wtedy gdy faktycznie wykonujesz zapytanie, to bys zobaczyl ze nie ma.

Wniosek: dane sie sprawdza wtedy kiedy faktycznie sie ich uzywa, a nie wczesniej

ps: i wlacz wkoncu wyswietlanie wszystkich bledow. Tu masz napisane jak:
Temat: Jak poprawnie zada pytanie
Juz ci zdaje sie przynajmniej raz ten link podawalem.
Jakbys wlaczyc to wyswietlanie, to blad bys mial od razu na ekranie

ps2: wartosci liczbowych nie bierze sie w apostrofy gdyz są to liczby a nie teksty.
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.