Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] nie działa warunek
sauron9
post 5.10.2006, 14:31:40
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 27.09.2006

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


mam problem ze skryptem zmieniajacym hasło dostepu do strony. nie do końca działa mi tu if. hasło jest zmieniane, nawet jeżeli pozostawię puste inputy nowego hasła i potwierdzenia. sama zmiana nastepuje prawidłowo, ale hasło nie powinno być zmieniane, jeżeli któryś z input'ów jest pusty. formularz wymaga podania starego hasła, nowego oraz potwierdzenia nowego hasła.
oto skrypt zmiany tegoż hasła:
  1. <?php
  2. if((isset($_POST['haslo'])) && (isset($_POST['newHaslo'])) && (isset($_POST['newHaslo2'])) && (md5($_POST['haslo'])==$passwd) && (($_POST['newHaslo'])==($_POST['newHaslo2'])))
  3. {
  4. $new=md5($_POST['new_haslo']);
  5. $plik=fopen('password', 'w');
  6. fputs($plik, $new, 32);
  7. fclose($plik);
  8. $_GET['noError']='noError';
  9. $_GET['action']='login';
  10. include('index.php');  
  11. }
  12. ?>
Go to the top of the page
+Quote Post
nospor
post 5.10.2006, 14:33:44
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




do sprawdzania pustosci nie sluzy isset() tylko empty()


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
uli
post 5.10.2006, 14:43:52
Post #3





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


isset sprawdza tylko czy dana zmienna ISTNIEJE (może być pusta).

W formularzu, w którym zmieniasz hasło powinieneś umieścić taki skrypt (na początku):

<script LANGUAGE = "JavaScript">
function checkForm(form) {

if (form.newHaslo.value == "" || form.newHaslo2.value == "")
{
alert ("Nie podałeś hasła")
return false;
}

if (form.newHaslo.value != form.newHaslo2.value)
{
alert ("Nowe hasło i jego potwierdzenie nie pasują do siebie!")
return false;
}

</SCRIPT>

Natomiast w samym formularzu:

  1. <FORM <tu argumenty action i method> onsubmit="return checkForm(this)>


Przy próbie wysłania pustego nowego hasła wyskoczy alert i nie przejdzie do następnej strony. To samo nastąpi gdy nowe hasło i jego potwierdzenie nie pasują do siebie (2-gi if).

Pozdrawiam

Ten post edytował uli 5.10.2006, 14:44:57


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
sauron9
post 5.10.2006, 14:44:28
Post #4





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 27.09.2006

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


dziękuję.

Nie chcę używać JS, nie każdy ma włączone - dlatego walidacja ma być w php.

Ten post edytował sauron9 5.10.2006, 14:49:44
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:52