[ CiM0beTa @ 21.07.2012. 14:52 ] @
Code (php):

<?php
$info = array();

function validUsername($username) {
     global $info;
     if (strlen($username)<3) {
          return $info[] = 'Najmanja dužina nadimka je 3 karaktera.';
     }
     if (strlen($username)>20) {
          return $info[] = 'Najveća dužina nadimka je 20 karaktera.';
     }
     if (preg_match("/[^-a-z0-9_]/i", $username)) {
          return $info[] = 'Nadimak sadrži nedozvoljene karaktere.';
     }
}


function validPassword($password) {
     global $info;
     if (strlen($password)<3) {
          return $info[] = 'Najmanja dužina lozinke je 3 karaktera.';
     }
     if (strlen($password)>20) {
          return $info[] = 'Najveća dužina lozinke je 20 karaktera.';
     }
     if (preg_match("/[^-a-z0-9_]/i", $password)) {
          return $info[] = 'Lozinka sadrži nedozvoljene karaktere.';
     }
}

if (isset($_POST['submit'])) {
     $username = $_POST['username'];
     $password = $_POST['password'];

     validUsername($username);
     validPassword($password);
}

if (!empty($info)) {
     echo $info;
}
?>

<form action="" method="post">
<input type="text" name="username"><br>
<input type="text" name="password"><br>
<input type="submit" name="submit" value="OK">
</form>
 


Tako mi izgleda kod uprosceno smesten na jednoj strani...ali kao izlaz kad je greska ne daje mi tekst greske nego samo rec "Array" ? Gde gresim?
[ PHPovac @ 21.07.2012. 15:10 ] @
Ne možeš da prikažeš array putem echo. Moraš koristiti foreach. Primer:
Code (php):

foreach($info as $item) {
echo $item.'<br/>';
}
 
[ pajaja @ 21.07.2012. 15:10 ] @
$info je array tako da ces morati da prodjes kroz njega i pojedinacno odstampas svaku vrednost. Pogleda foreach
[ CiM0beTa @ 21.07.2012. 16:05 ] @
e da resio sam sa foreach a vidim moze i sa implode. Medjutim funkcija mi ne vraca dve vrednosti.
Na primer, kada nadimak ima manje od 3 karaktera i sadrzi nedozvoljene znake funkcija mi vraca samo:

"Nadimak sadrži nedozvoljene karaktere."
Jel moze da mi vrati dve ili vise vrednosti?
[ CiM0beTa @ 21.07.2012. 16:15 ] @
moze. Yes! Samo sam izbacio return iz funkcije :)