Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML] Komunikat bledu php na stronie html
Wolfie
post
Post #1





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam

Mam sobie formularz napisany w html ktory sluzy do uploadowania plikow, po wcisnieciu submit-a nastepuje przejscie do skryptu php ktory weryfikuje dane. Przykladowa weryfikacja wyglada tak :

  1. <?php
  2. //Sprawdzenie czy plik został wysłany
  3.    if(!is_uploaded_file($_FILES['image_filename']['tmp_name'])) {
  4.        echo "Musisz wybrac jakis plik do uploadu!";
  5.    }
  6. ?>


Ale nie chce zeby komunikat wyswietlal sie na osobnej stronie tylko na tej samej stronie na ktorej jest formularz.....
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
baranek77
post
Post #2





Grupa: Zarejestrowani
Postów: 66
Pomógł: 7
Dołączył: 17.12.2007

Ostrzeżenie: (0%)
-----


to musisz wysłać formularz do tego samego pliku lub władować ten alert do sesji i wyświetlić go na tej stronie co chcesz
Go to the top of the page
+Quote Post
dk1342
post
Post #3





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


możesz to zrobić np. tak:

zamiast

  1. <?php
  2. echo "Musisz wybrac jakis plik do uploadu!";
  3. ?>

daj
  1. <?php
  2. header('Location: formularz.php?mode=nie_wybrano');
  3. ?>


a w pliku gdzie masz formularz daj:
  1. <?php
  2. if($_GET['mode'] == "nie_wybrano"){
  3. echo "Nie wybrales pliku";
  4. }
  5. ?>
Go to the top of the page
+Quote Post
Zyx
post
Post #4





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Pozostaje Ci albo AJAX i zabawa z JavaScriptem po stronie przeglądarki, albo odrysowanie całego formularza na nowo i powypełnianie go wartościami, które wpisał poprzednio użytkownik. Ręcznego robienia czegoś takiego wybitnie nie polecam; dużo prościej i bezpieczniej jest użyć jakiegoś systemu generowania i obsługi formularzy.
Go to the top of the page
+Quote Post
slawny
post
Post #5





Grupa: Zarejestrowani
Postów: 214
Pomógł: 26
Dołączył: 7.11.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Zrób formularz i walidacje w jednym pliku....
Go to the top of the page
+Quote Post
Wolfie
post
Post #6





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Najprostsze rozwiazanie przedstawil chyba dk1342....ale czy najlepsze ?
Go to the top of the page
+Quote Post
ferrero2
post
Post #7





Grupa: Zarejestrowani
Postów: 171
Pomógł: 32
Dołączył: 5.08.2008
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Moim zdaniem nie najlepsze.
Nie potrzeba przekierowywać nigdzie użytkownika.
Piszesz sobie skrypt do obsługi formularza np. analizuj.php, który zawiera wszystkie restrykcje dotyczące pól. Czyli np. walidacja poprawności adresu e-mail, długość loginu, zgodność haseł itd.
Jeżeli coś się nie zgodzi ustawiasz zmienną $blad na 1. i np $blad_login = "login jest za krótki"

Masz stronę główną z formularzem np.

Index.php

Umieszczasz w nim formularz dajesz action = index.php (czyli na tą samą stronę) wysyłasz poprzez POST.
W formularzu przycisk np. WYSLIJ

i następnie piszesz na górze pliku index.php

[code]
if $_POST['wyslij']
{
require(analizuj.php);
}
else
{
#tutaj strona startowa informacje na temat formualrza + sam pusty formularz
}
[code]


Pod require dajesz if-a lub switcha. Jeżeli $blad nie równa się 0 to wyswietl zmienne które zostały ustawione w analizie np. $blad_haslo
i nastepnie wyswietlasz ten sam formularz tylko wypelniony z wartościami $_POST i tyle.

Wszystko odbywa się w jednym pliku z analizą doklejoną.

Niewiem czy to optymalne ale zawsze sięsprawdza i działa szybko (oczywiscie to nie konkurencja dla AJAXA tylko weryfikacja po stronie serwera)

Niewiem czy wszystko jasno napisałem ale koncze prace i zajrze tu dopiero wieczorem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Poprawcie mnie jeśli się mylę

Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 23:33