Strona PHP się nie wyświetla

Dla rozpoczynających przygodę z programowaniem i językiem PHP.
Awatar użytkownika
wojtek2s
Posty: 2
Rejestracja: 21 lis 2013, 22:41

Strona PHP się nie wyświetla

Post autor: wojtek2s » 21 lis 2013, 22:58

Jestem tu nowy, więc witam wszystkich :) Jeśli piszę w złym dziale, proszę o przeniesienie. Tytuł nie oddaje mojego problemu, ale ciężko go streścić aby zmieścić się w ograniczonej liczbie znaków, proszę więc moderatora o nierepresjonowanie mnie na tym forum z tego powodu :)
Tak więc, zacznijmy od początku. Nie wiem, czy to ma znaczenie ale pracuję na Linuksie, zainstalowałem XAMPa i przy jego pomocy uruchamiam pliki php. Utworzylem 2 pliki - formularz.html, w całości napisany w HTMLu formularz niby-rejestracji (niby bo ćwiczę pobieranie danych z formularza, nie zapisuję tego w bazie danych), oraz strona1.php (skrypt PHP pobierający dane, sprawdzający czy żadne z pól nie jest puste oraz czy 2 razy wprowadzony adres e-mail oraz hasło są ze sobą zgodne. Jeśli coś nie gra, ma wywalać komunikat i po 5 sekundach powracać na stronę formularza, jeśli wszystko jest w porządku, wyświetlane jest podsumowanie "rejestracji" z wypisaniem wszystkich podanych w formularzu danych).
Problem jest następujący - po zatwierdzeniu formularza, strona1.php wyświetla się tylko wtedy, gdy wszystkie pola formularza są wypełnione prawidłowo. Pokazuje się wtedy to, co ma się pokazać, czyli potwierdzenie rejestracji. Jeśli jednak opuszczę któreś z pól lub wpiszę niejednakowe hasła lub adresy e-mail, strona1.php nie ładuje się, nie są wyświetlane pożądane komunikaty, formularz.html jedynie odświeża się po upływie 5 sekund.

Czemu skrypt działa ale nie wyświetla się w przypadku błędnie wypełnionych lub opuszczonych pól formularza?

Niżej podaję kody obu plików.

formularz.html

Kod: Zaznacz cały

<HTML>
	<HEAD>
	<TITLE>Ankieta</TITLE>
	<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=UTF-8">
	</HEAD>
<BODY BGCOLOR="BLACK", TEXT="WHITE">
	<div align="center">
	<hr width="640" color="white">
	</div>
	<br/>	<br/>	<br/><center>
<font family="fantasy" size="10">Formularz rejestracji</font></center>
	<div align="left">
	<br/>	<br/>	<br/>	<br/>	<br/>	<br/>
	<div align="center">



	<form action="strona1.php" method="post">
Podaj login:	<input type="text" name="login" size="10" maxlenght="10"><br />
Wprowadź hasło:	<input type="password" name="haslo"><br />
Ponownie wprowadź hasło:	<input type="password" name="haslo2">
	<br/><font face="Arial" size="2">Akceptuje regulamin<input type="checkbox" name="wybor" checked="checked" value="Tak" disabled="disabled">
	<br/><font face="Arial" size="2">Zezwalam na przetwarzanie moich danych osobowych<input type="checkbox" name="wybor2" checked="checked" value="Tak">
	<br/>
	<br/>
Podaj e-mail: <input type="text" name="mail"><br />
Ponownie podaj e-mail: <input type="text" name="mail2"><br />



	<br/>
	<br/><input type="submit" value="wyślij"><input type="reset" value="wyczyść">
</form>
</BODY>
</HTML>

strona1.php

Kod: Zaznacz cały

<?php
echo"<meta http-equiv='content-type' content='text/html ; charset=utf-8'>";
echo"<h1>POTWIERDZENIE FORMULARZA ↓’</h1>";
$login=$_POST['login'];
$haslo=$_POST['haslo'];
$haslo2=$_POST['haslo2'];
$przetwarzanie_danych=$_POST['wybor2'];
$mail=$_POST['mail'];
$mail2=$_POST['mail2'];

if ( empty($login || $haslo || $haslo2 || $mail || $mail2) )  
{ echo"Nie wszystkie obowiązkowe pola formularza zostały wypełnione ! Powrócisz na poprzednią stronę w ciągu 5 sekund..."; sleep(5); header("location: formularz.html");  } else
if ($haslo!=$haslo2) { echo"Podane hasła nie są jednakowe ! Powrócisz na poprzednią stronę w ciągu 5 sekund..."; sleep(5); header("location: formularz.html"); } else if ($mail != $mail2) { echo"Podane adresy e-mail nie są jednakowe ! Powrócisz na poprzednią stronę w ciągu 5 sekund..."; sleep(5); header("location: formularz.html"); } else echo "Rejestracja przebiegła pomyślnie !<br /><br />Dane Twojego konta:<br />
Login: $login <br />
Hasło: $haslo <br />
Adres e-mail: $mail <br />
<br />Akceptacja regulaminu: TAK<br />
Zgoda na przetwarzanie danych osobowych: TAK<br />
<br /><br />
DZIĘKUJEMY ZA REJESTRACJĘ !";



?>


Będę wdzięczny za wszelką pomoc :) Pozdrawiam !

Awatar użytkownika
wojtek2s
Posty: 2
Rejestracja: 21 lis 2013, 22:41

Re: Strona PHP się nie wyświetla

Post autor: wojtek2s » 23 lis 2013, 0:46

Nie mogąc się doczekać reakcji tu, uzyskałem już pomoc na innym forum. Funkcja sleep blokowała wyświetlanie całego skryptu, wystarczyło to wywalić i zastąpić niestandardowym nagłówkiem refresh: 5; url = formularz.html .
Temat do zamknięcia lub usunięcia, wedle woli moderatora.

Awatar użytkownika
Gemma28
Posty: 3
Rejestracja: 17 paź 2017, 23:53
Kontakt:

Re: Strona PHP się nie wyświetla

Post autor: Gemma28 » 17 paź 2017, 23:58

Fajnie, że napisałeś co tam się udało sprostowac, wiele osób tego nie robi, a to może być cenne dla innych

ODPOWIEDZ