Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wysylania formularza metoda post, problem
Forum PHP.pl > Forum > PHP
peterlan
Witam, jestem poczatkujacy, mam taki formularz:

  1. <?php
  2. echo '<form method="post" action="dodawanie_nowej_kategorii.php">
  3. Dodaj nowa kategorie:
  4. <input type="text" name="dodaj_kategorie">
  5. <br>
  6. <input type="submit" value="Dodaj nowa kategorie">';
  7. ?>


jak zrobic tak zeby bo kliknieciu w input, strona zostala pod tym samym adresem? bo jak na razie caly czas przechodzi mi pod adres "dodawanie_nowej_kategorii.php"

pewnie pytanie glupie, ale ja jestem laik w tej dziendzinie, probuje sie uczyc:)
Niktoś
  1. echo '<form method="post" action="'.htmlentities($_SERVER['PHP_SELF']).'">
peterlan
a jak zapisac teraz ta linie

  1. echo '<form method="post" action="ns_dodawanie_kategorii.php">'


chodzi o to gdzie teraz zapisac ten kod z ns_dodawanie_kategorii.php
Niktoś
A co chcesz uzyskać- po co Ci to zapisywać ?
peterlan
Mam tam tu cos takiego zapisane.

  1. require("config.php");
  2. $dodaj_kategorie=($_POST['dodaj_kategorie']);
  3. mysql_query("INSERT INTO uhren values ('','$dodaj_kategorie')");
Niktoś
W tym samym dokumencie pomiędzy
<?php ?> tylko musisz sprawdzić czy formularz wysłano.
Zalecam jakiś kurs dla początkujących na temat tworzenia formularzy.
b4rt3kk
To raczej temat do działu przedszkole.

  1. <?php
  2. require("config.php");
  3.  
  4. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  5.  
  6. $dodaj_kategorie=($_POST['dodaj_kategorie']);
  7. mysql_query("INSERT INTO uhren values ('','$dodaj_kategorie')");
  8.  
  9. }
  10.  
  11. echo '<form method="post" action="">'; // jeśli chcesz by przekierowanie następowało do tego samego dokumentu możesz równie dobrze zostawić puste pole
  12. echo 'Dodaj nowa kategorie:
  13. <input type="text" name="dodaj_kategorie">
  14. <br>
  15. <input type="submit" value="Dodaj nowa kategorie">';
  16. ?>


Nie wiem co się zawiera w pliku config.php, ale z dostarczonych informacji wynika, że nigdzie nie nawiązujesz połączenia z bazą danych.
jaslanin
nie lepiej tak:

  1. <?php
  2. require("config.php");
  3.  
  4. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  5.  
  6. $dodaj_kategorie=($_POST['dodaj_kategorie']);
  7. mysql_query("INSERT INTO uhren values ('','$dodaj_kategorie')");
  8.  
  9. }
  10.  
  11. ?>
  12.  
  13. <form method="post" action="">
  14. Dodaj nowa kategorie:
  15. <input type="text" name="dodaj_kategorie">
  16. <br>
  17. <input type="submit" value="Dodaj nowa kategorie">
  18. </form>


dodatkowo ten kod nie jest zabezpieczony przed SQL injection, co nie jest najlepszym pomysłem. Dodatkowo zamiast mysql_query lepiej zacząć już używać PDO lub mysqli
b4rt3kk
Nie chciało mi się wycinać HTML z jego echo, dlatego tak. Się czepiasz.
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.