Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Formularz, IF, Insert, data
Forum PHP.pl > Forum > Przedszkole
in5ane
Hi, mam problem, a mianowicie.

Nie dodaje mi nic do zmiennej $_POST['text'], a powinno, bo do formularza dopisuję.
Druga sprawa to jak tutaj dodać, aby gdy nic nie wpisze do formularza to mi wyświetlało "Proszę wypełnić poprawnie formularz".
I trzecia sprawa to jak mam dodać datę do bazy do pola INT, przykładowa data: 1191449093 co oznacza 04.10.2007, 00:04:53.

Z góry dzięki za pomoc.

Oto kod:
  1. <?php
  2. if($_POST['co'] == 'dodawanie') {
  3. if($_POST['token'] == $_SESSION['token'])
  4. {
  5. if($_POST['text'] && $id) {
  6. $login = $userdata['username'];
  7. $query = "INSERT INTO `page_comments_news` (`id`, `kto`, `text`, `id_news`, `data`) VALUES ('', '$login', '$tresc', '$id', now());";
  8. $wynik = mysql_query ($query);
  9. echo '<p style="text-align: center;">Dodano poprawnie.</p>';
  10. }
  11. } else {
  12. echo '<p style="text-align: center;">Wprowadzono niepoprawny kod.</p>';
  13. }
  14. }
  15.  
  16. if($userdata['session_logged_in']) {
  17. echo '<center><form method="post">
  18. <input type="hidden" name="co" value="dodawanie">
  19. <input type="hidden" name="kto" value="'.$userdata['username'].'">
  20. <table style="color: #007981; font-size: 10pt; font-family: Verdana;"><tr><td>Treść:</td><td><textarea name="text"></textarea></td></tr>
  21. <tr><td><img src="token.php" width="40" height="15"></td><td><input type="text" name="token"><span style="font-size: 7pt; font-style: italic;">(przepisz 
  22.  
  23. kod z obrazka)</span></td></tr>
  24. <tr><td></td><td><input class="mainoption" type="submit" value="Dodaj"></td></tr></table>
  25. </form></center>';
  26. } else {
  27. echo '<p style="text-align: center;">Aby móc komentować, należy się zalogować.</p>';
  28. }
  29. ?>
JaRoPHP
Cytat(in5ane @ 13.10.2007, 10:15:23 ) *
Nie dodaje mi nic do zmiennej $_POST['text'], a powinno, bo do formularza dopisuję.
Gdzie w przedstawionym kodzie masz odwołanie do owej zmiennej (poza sprawdzenie warunkiem if?). Pokaż formularz, kod obsługi - i napisz, co powinien robić (wybierz tylko intresujący Cię fragment, a nie cały kod PHP).
Dodatkowo możesz sobie wyświetlić co masz w tablicy $_POST:
  1. <?php
  2. print_r($_POST);
  3. ?>

Cytat(in5ane @ 13.10.2007, 10:15:23 ) *
Druga sprawa to jak tutaj dodać, aby gdy nic nie wpisze do formularza to mi wyświetlało "Proszę wypełnić poprawnie formularz".
  1. <?php
  2. if(empty($_POST['cos'])) {
  3.  echo '<p>Proszę wypełnić poprawnie formularz</p>';
  4.  return;
  5. }
  6. ?>

Cytat(in5ane @ 13.10.2007, 10:15:23 ) *
I trzecia sprawa to jak mam dodać datę do bazy do pola INT
Po to stworzono w bazie danych pola obsługująca czas, aby z nich korzystać smile.gif (jeżeli korzystasz z MySQL-a to dla Cieie dobrym wyborem będzie DATETIME).
in5ane
No to mam tak teraz:

  1. <?php
  2. print_r($_POST);
  3.  
  4. if($_POST['co'] == 'dodawanie') {
  5.  
  6. if(empty($_POST['tresc']) && empty($_POST['token'])) {
  7. echo '<p style="text-align: center;">Proszę wypełnić wszystkie pola.</p>';
  8. } elseif($_POST['token'] == $_SESSION['token']) {
  9. if($_POST['tresc'] && $id) {
  10. $login = $userdata['username'];
  11. $_POST['tresc'] = $tresc;
  12. echo $tresc.'cool';
  13. $query = "INSERT INTO `page_comments_news` (`id`, `kto`, `text`, `id_news`, `data`) VALUES ('', '$login', '$tresc', '$id', now());";
  14. $wynik = mysql_query ($query);
  15. echo '<p style="text-align: center;">Dodano poprawnie.</p>';
  16. }
  17. } else {
  18. echo '<p style="text-align: center;">Wprowadzono niepoprawny kod.</p>';
  19. }
  20. }
  21.  
  22. if($userdata['session_logged_in']) {
  23. echo '<center><form method="post">
  24. <input type="hidden" name="co" value="dodawanie">
  25. <input type="hidden" name="kto" value="'.$userdata['username'].'">
  26. <table style="color: #007981; font-size: 10pt; font-family: Verdana;"><tr><td>Treść:</td><td><textarea name="tresc"></textarea></td></tr>
  27. <tr><td><img src="token.php" width="40" height="15"></td><td><input type="text" name="token"><span style="font-size: 7pt; font-style: italic;">(przepisz 
  28.  
  29. kod z obrazka)</span></td></tr>
  30. <tr><td></td><td><input class="mainoption" type="submit" value="Dodaj"></td></tr></table>
  31. </form></center>';
  32. } else {
  33. echo '<p style="text-align: center;">Aby móc komentować, należy się zalogować.</p>';
  34. }
  35. ?>


Wyświetla mi:
Kod
Array ( [co] => dodawanie [kto] => admin [tresc] => asdasdsd [token] => xfxm ) cool

Dodano poprawnie.


Ale dodaje tak:
Kod
2 | admin |   | 2 | 2007 (po admin powinno dać to asdasd ze zmiennej $tresc, co widać wyżej)


Co jest nadal nie tak?
JaRoPHP
Nie:
  1. <?php
  2. $_POST['tresc'] = $tresc;
  3. ?>

A:
  1. <?php
  2. $tresc = $_POST['tresc'];
  3. ?>
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.