Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP formularz
Forum PHP.pl > Forum > PHP
tabbi
Witam,

zastosował szablon php wszystkie podstrony mam w katalogu dane

  1. // zmienna $go przekazana metoda GET
  2. $go = $_GET['go'];
  3. // sprawdzamy czy zmienna $go nie jest pusta
  4. if(!empty($go))
  5. {
  6. // sprawdzamy czy plik o danej nazwie istnieje
  7. if(is_file("dane/$go.php")) include "dane/$go.php";
  8. // jezeli plik nie istnieje wyswietla siÄ™ komunikat
  9. else echo "Nie ma takiej strony.";
  10. }
  11. // jezeli zmienna $go jest pusta wyswietla siÄ™ strona glowna
  12. else include "indeksa.php";


zrobil sobie podstrone pacjenciadd.php jest w katalogu dane i tam mam formularz:

  1. $akcja3 = $_GET['akcja3'];
  2. if ($akcja3 == wykonaj3) {
  3.  
  4. // wykonaj zapytanie
  5. $sql="INSERT INTO `pacjenci` (imie, nazwisko, ulica, miasto, kod, pesel, numer, czas) VALUES('$imie','$nazwisko','$ulica','$miasto','$kod','$pesel','$numer','$czas')";
  6. // wykonaj zapytanie
  7. if ( !Empty($_POST['imie']) and !Empty($_POST['nazwisko']))
  8. {
  9. mysql_query($sql) or die("Uaktualnienie się nie powiodło");
  10.  
  11. echo "Uaktualniono rekord";
  12. }
  13. else{
  14.  
  15. echo "Problemy";
  16. }
  17. }
  18. ?>
  19. <h2>Nowy pacjent:</h2>
  20. <form method="post" action="pacjenciadd.php?akcja3=wykonaj3" class="user-form">
  21. <p><label>Imie:</label><input maxlength="18" type="text" name="imie" value=""></p>
  22. <p><label>Nazwisko:</label><input maxlength="18" type="text" name="nazwisko" value=""></p>
  23. <p><label>ulica: (bez ul.)</label><input maxlength="30" type="text" name="ulica" value=""></p>
  24. <p><label>miasto:</label><input maxlength="18" type="text" name="miasto" value=""></p>
  25. <p><label>kod pocztowy:</label><input maxlength="18" type="text" name="kod" value=""></p>
  26. <p><label>Pesel:</label><input maxlength="18" type="text" name="pesel" value=""></p>
  27. <p>w przypadku braku numeru PESEL, numer dokumentu
  28. potwierdzającego tożsamość</p>
  29. <p><label>Numer dokumentu:</label><input maxlength="18" type="text" name="numer" value=""></p>
  30. <p><input type="submit" value="Uaktualnij"></p>
  31. </form>


jednak nie wiem jak zrobic działanie action zeby mi to wykonywało. oczywiscie z strony głównej klikam w link dodaj pacjenta (indeksa.php?go=pacjenciadd)
i otwiera mi sie strona z formularzem jednak on już nie działa.
Fifi209
  1. if ($akcja3 == wykonaj3) {


Co to za warunek? wykonaj3 to jakaś stała?
tabbi
akcja3 - by formularz się wykonał (form action)
Fifi209
pytałem o część "wykonaj3" ^^
tabbi
To samo przecież tongue.gif chyba tongue.gif
Fifi209
To tak, stringi umieszczamy w ' lub "

tak więc nie:
  1. if ($akcja3 == wykonaj3) {


a:
  1. if ($akcja3 == 'wykonaj3') {
tabbi
w pliku pacjenciadd.php mam sam skrypt jednak mam tam tagi echo i chciałbym aby tekst był wyświetlany zgodnie z headerem i stopką w indeks.php jak to zrobić ?

bo teraz po wykonaniu skryptu przekierowuje mi na strone:

http://localhost/szpital2/dane/pacjenciadd...akcja3=wykonaj3 i tam na nowo mam formularz i na nowo musze wypelniac dane.
Fifi209
Nie rozumiem pytania, mógłbyś sprecyzować? Rzuć jakimś przykładowym kodem.
tabbi
ogolnie plik w dane/pacjenciadd.php

  1. <?php
  2. $imie = $_POST['imie'];
  3. $nazwisko = mysql_real_escape_string($_POST['nazwisko']);
  4. $pesel = mysql_real_escape_string($_POST['pesel']);
  5. $ulica = mysql_real_escape_string($_POST['ulica']);
  6. $miasto = mysql_real_escape_string($_POST['miasto']);
  7. $kod = mysql_real_escape_string($_POST['kod']);
  8. $numer = mysql_real_escape_string($_POST['numer']);
  9. $czas = date("Y-m-d");
  10.  
  11.  
  12. $akcja3 = $_GET['akcja3'];
  13. if ($akcja3 == 'wykonaj3') {
  14.  
  15. // wykonaj zapytanie
  16. $sql="INSERT INTO `pacjenci` (imie, nazwisko, ulica, miasto, kod, pesel, numer, czas) VALUES('$imie','$nazwisko','$ulica','$miasto','$kod','$pesel','$numer','$czas')";
  17. // wykonaj zapytanie
  18. if ( !Empty($_POST['imie']) and !Empty($_POST['nazwisko']))
  19. {
  20. mysql_query($sql) or die("Uaktualnienie się nie powiodło");
  21.  
  22. echo "Uaktualniono rekord";
  23. }
  24. else{
  25.  
  26. echo "Problemy";
  27. }
  28. }
  29. ?>
  30. <h2>Nowy pacjent:</h2>
  31. <form method="post" action="dane/pacjenciadd.php?akcja3=wykonaj3" class="user-form">
  32. <p><label>Imie:</label><input maxlength="18" type="text" name="imie" value=""></p>
  33. <p><label>Nazwisko:</label><input maxlength="18" type="text" name="nazwisko" value=""></p>
  34. <p><label>ulica: (bez ul.)</label><input maxlength="30" type="text" name="ulica" value=""></p>
  35. <p><label>miasto:</label><input maxlength="18" type="text" name="miasto" value=""></p>
  36. <p><label>kod pocztowy:</label><input maxlength="18" type="text" name="kod" value=""></p>
  37. <p><label>Pesel:</label><input maxlength="18" type="text" name="pesel" value=""></p>
  38. <p>w przypadku braku numeru PESEL, numer dokumentu
  39. potwierdzającego tożsamość</p>
  40. <p><label>Numer dokumentu:</label><input maxlength="18" type="text" name="numer" value=""></p>
  41. <p><input type="submit" value="Uaktualnij"></p>
  42. </form>


a plik indeks.php:

  1. <?php
  2. include("config.php");
  3.  
  4. $nick = $_SESSION['nick'];
  5. $haslo = $_SESSION['haslo'];
  6. $log = $_SESSION['log'];
  7. $rs_id = $_SESSION['rs_id'];
  8.  
  9. include("header.php");
  10.  
  11.  
  12. if($log != 1)
  13. {
  14. echo 'Blad';
  15. }
  16. else{
  17.  
  18. $user = mysql_fetch_array(mysql_query("SELECT * FROM uzytkownicy WHERE `nick`='".$nick."' AND `id`='".$rs_id."' LIMIT 1"));
  19. // tresc dla zalogowanego uzytkownika
  20. echo 'Witaj '.$user[nick].' zostałeś pomyślnie zalogowany/a';
  21. echo '<br><a href="wyloguj.php" class="faster">Wyloguj mnie</a>, <strong>Twoje id</strong>: '.$user[id].' ';
  22. echo '<br>DODAJ NOWEGO pacjenta: <a href="indeks.php?go=pacjenciadd" class="faster">dodaj</a>';
  23. echo '<br>Edycja pacjenta: <a href="pacjenciedit.php" class="faster">Edytuj</a>';
  24. echo '<br>Wroc do panelu uzytkownika: <a href="indeks.php" class="faster">Panel administracyjny</a>';
  25.  
  26. // zmienna $go przekazana metoda GET
  27. $go = $_GET['go'];
  28. // sprawdzamy czy zmienna $go nie jest pusta
  29. if(!empty($go))
  30. {
  31. // sprawdzamy czy plik o danej nazwie istnieje
  32. if(is_file("dane/$go.php")) include "dane/$go.php";
  33. // jezeli plik nie istnieje wyswietla siÄ™ komunikat
  34. else echo "Nie ma takiej strony.";
  35. }
  36. // jezeli zmienna $go jest pusta wyswietla siÄ™ strona glowna
  37. else include "indeksa.php";
  38. }
  39. include ("footer.php");
  40. ?>


i po wejsciu na indeks.php?go=pacjenciadd.php i wypelnieniu formularza przekierowuje mnie do pliku pacjenciadd.php i wywala blad "Problemy" na nowo musze wypelniac dane
Fifi209
  1. form method="post" action="indeks.php?akcja3=wykonaj3" class="user-form">


jak na moje oko powinno być:
  1. form method="post" action="indeks.php?go=pacjenciadd&akcja3=wykonaj3" class="user-form">
tabbi
Super dziekuje o to mi chodziło tongue.gif heh a jeszcze pytanie skoro w pliku indeks.php mam wszystkie zabezpieczenia co do sesji i poprzez adres indeks.php?go= wszystko dziala ale jak ktos wejdzie bezposrednio na plik w katalogu /dane to wtedy zabezpieczenia nie beda działać jest komenda która odczytuje adres z którego weszło się na strone ?
Fifi209
Jeżeli z katalogu ma czytać tylko skrypt php to zabezpiecz go poprzez .htaccess
Kod
order allow, deny
deny from all
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.