Skocz do zawartości


 

Zdjęcie

Pobieranie danych z formularza i wyświetlanie na innej podstronie.

Pobieranie danych z formularza i wyświetlanie na innej podstronie. skypt pobieranie danych php wyświetlanie danych

  • Proszę się zalogować aby odpowiedzieć
8 odpowiedzi na ten temat

Pobieranie danych z formularza i wyświetlanie na innej podstronie.

#1 sh4kr

sh4kr

    Nowy użytkownik

  • Użytkownicy
  • 17 postów

Napisany 28 listopad 2016 - 22:46

Witam!

 

Moi drodzy, jako że w PHP jestem totalnie zielony, chciałbym się dowiedzieć jak zrobić coś takiego. Mam podstronę "Formularz.html" na której (jak łatwo się domyślić) jest formularz. Chciałbym pobrać z niego dane wprowadzone przez użytkownika, a w momencie naciśnięcia przycisku "prześlij" przekierować tego użytkownika na podstronę gdzie wyświetlą mu się te dane. Jak to można zrobić? Da radę w tylko w PHP? Pomoże ktoś? :)

 

Pozdrawiam, sh4kr ;)


  • 0

#2 MicroVPS.pl

MicroVPS.pl

    Stały użytkownik

  • Firma Bronze
  • PipPipPipPipPip
  • 218 postów

Napisany 28 listopad 2016 - 23:12

Możliwie najprostsza wersja. 

<?php 
	
	if(isset($_POST['form']))
	{
		if(!isset($_POST['form_1']) OR empty($_POST['form_1']))
		{
			$error = true;
			echo 'Uzupełnij prawidłowo pierwszy formularz numer 1!';
		} 
		else if(!isset($_POST['form_2']) OR empty($_POST['form_2']))
		{
			$error = true;
			echo 'Uzupełnij prawidłowo pierwszy formularz numer 2!';
		}

		if(!isset($error))
			echo 'Zawartość formularza numer 1 to ' . $_POST['form_1'] . ', a formularza numer 2 ' . $_POST['form_2'];
	}

?>

<form method="post">
	<input type="hidden" name="form">
	<input type="text" name="form_1" placeholder="Formularz numer 1">
	<input type="text" name="form_2" placeholder="Formularz numer 2">
	<input type="submit" value="Prześlij">
</form>

Teraz zauważyłem, że chodzi o wyświetlanie na innej podstronie.

 

<?php 

	if(isset($_POST['form']) && isset($_GET['form'])) // ten fragment z isset($_GET['form']) możesz usunąć jak już rozłączysz pliki 
	{
		if(!isset($_POST['form_1']) OR empty($_POST['form_1']))
		{
			$error = true;
			echo 'Uzupełnij prawidłowo pierwszy formularz numer 1!';
		} 
		else if(!isset($_POST['form_2']) OR empty($_POST['form_2']))
		{
			$error = true;
			echo 'Uzupełnij prawidłowo pierwszy formularz numer 2!';
		}

		if(!isset($error))
			echo 'Zawartość formularza numer 1 to ' . $_POST['form_1'] . ', a formularza numer 2 ' . $_POST['form_2'];
	}

?>

<form method="post" action="?form"> <!-- tu wpisz url kodu php -->
	<input type="hidden" name="form">
	<input type="text" name="form_1" placeholder="Formularz numer 1">
	<input type="text" name="form_2" placeholder="Formularz numer 2">
	<input type="submit" value="Prześlij">
</form>

 


Edytowany przez MicroVPS.pl, 28 listopad 2016 - 23:17.

  • 1

#3 nikolaj

nikolaj

    Czasami na forum

  • Niepotwierdzeni
  • 37 postów

Napisany 28 listopad 2016 - 23:21

nie lepiej walidację pól formularza przeprowadzić na poziomie przeglądarki w javascript?


  • 0

#4 MicroVPS.pl

MicroVPS.pl

    Stały użytkownik

  • Firma Bronze
  • PipPipPipPipPip
  • 218 postów

Napisany 28 listopad 2016 - 23:26

nie lepiej walidację pól formularza przeprowadzić na poziomie przeglądarki w javascript?

 

Nie, wystarczy, że wyłączysz w przeglądarce javascript i nie masz walidacji. Co de facto nie znaczy, że nie warto jej stosować. Nie należy jednak mimo wszystko lekceważyć kodu niedostępnego dla usera. Im więcej zabezpieczeń tym lepiej :- )


Edytowany przez MicroVPS.pl, 28 listopad 2016 - 23:27.

  • 0

#5 nikolaj

nikolaj

    Czasami na forum

  • Niepotwierdzeni
  • 37 postów

Napisany 28 listopad 2016 - 23:32

źle rozumujesz

w javascript zawsze robi się walidację by uniknąć zbytecznego przeładowywania strony

zaś w php filtracje treści ew. dodatkowo wg twojej sugestii informację o brakach na wypadek wyłączenia javascript


  • 0

#6 likufanele

likufanele

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 234 postów

Napisany 29 listopad 2016 - 12:00

źle rozumujesz

 

A ja widzę, że to ty źle rozumujesz zakładając że ten formularz w ogóle będzie wyświetlony w przeglądarce i wypełniony przez człowieka. Boty nie bawią się w wyświetlanie formularzy tylko lecą POST-em prosto w URL action formularza.

 

Dlatego walidacje przeprowadza się po stronie serwera, a walidacja po stronie klienta może być tylko uzupełnieniem, które jest trochę bardziej user friendly.


  • 0

#7 sh4kr

sh4kr

    Nowy użytkownik

  • Użytkownicy
  • 17 postów

Napisany 30 listopad 2016 - 14:32

@up Dziękuję za szybkie odpowiedzi, skrypt działa, jednak jest jeden problem. Tzn. czy można zrobić coś takiego, że po wpisaniu danych do formularza, klikając przycisk "wyślij" otwiera się strona i dopiero z tamtej strony da się przejść do strony gdzie zostaną zaprezentowane wyniki?


Edytowany przez sh4kr, 30 listopad 2016 - 14:34.

  • 0

#8 MaTyyy

MaTyyy

    Regularny użytkownik

  • Użytkownicy
  • 98 postów

Napisany 30 listopad 2016 - 23:45

<form target="_blank"

Spróbuj.


  • 0

#9 likufanele

likufanele

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 234 postów

Napisany 01 grudzień 2016 - 11:22

czy można zrobić coś takiego, że po wpisaniu danych do formularza, klikając przycisk "wyślij" otwiera się strona i dopiero z tamtej strony da się przejść do strony gdzie zostaną zaprezentowane wyniki?

 

Można... Możesz sobie te dane zapisać np. w sesji/bazie danych/pliku i wyświetlić potem gdzie chcesz.

 

https://pl.wikibooks.../wiki/PHP/Sesje


  • 0






Także otagowane jednym lub więcej z tych słów kluczowych: skypt, pobieranie danych, php, wyświetlanie danych

0 użytkowników czyta ten temat

0 użytkowników, 0 gości, 0 anonimowych użytkowników