Skrypt nie działa tak jak powinien, nie sprawdza pól


(Lomp) #1

Skrypt nie sprawdza czy jest coś w polu czy nie:

formularz.html

Podaj imię: 


    Podaj nazwisko:

test.php

<?php





   if(count($_POST) == 2)

   {

      echo 'Witaj, '.$_POST['imie'].' '.$_POST['nazwisko'].'!';

   }

   else

   {

      echo 'Nieprawidłowa liczba parametrów!';

   }

 ?>

Co jest źle? zaznaczam że jestem raczkujący ;p

// i jeszcze małe pytanko dla doświadczonych, czy lepiej używać dłuższych nazw zmienych: $_POST['imie] czy krótszych: $imie ?


(L337 Crew) #2

Dziwny pomysł :expressionless:

Już lepiej użyć funkcji empty lub wszelkich innych,

które dokonują operacji na ciągach znaków (np. strlen).

Następnie przefiltrować odpowiednio dane wejściowe (np. używając funkcji strip_tags).

zamiast count($_POST) daj np. !empty($_POST[‘imie’] && !empty($_POST[‘nazwisko’])

Masz na myśli Register Globals, nie powinno się tego używać, bo powstała cała gama luk z tym związanych.

Po prostu odbierasz $_POST, $_GET i już.

W php6 nie będzie w ogóle obsługi register globals.


(Paramedyk) #3
<?php


   if($_POST['imie']&&$_POST['nazwisko'])

   {

      echo 'Witaj, '.$_POST['imie'].' '.$_POST['nazwisko'].'!';

   }

   else

   {

      echo 'Nieprawidłowa liczba parametrów!';

   }

?>