y cooperando mas con la verificación si un caja de texto etc esta vacía
he descubierto un truco para evadir la función
empty() y por supuesto
alguien que le gusta hacer trampa seguro que se la sabe
y es que al presionar la
tecla espacio en una caja de texto la función
empty()
se la cree que no esta vacía
aquí unos ejemplos:
Código HTML:
<form action="" method="post">
<input name="name" type="text">
<input name="" type="submit" value="Enviar">
</form>
Código PHP:
<?php
if(isset($_POST['name'])){
//si presionas la Tecla Espacio en la caja de texto name el resultado siempre sera, true
if(empty($_POST['name'])){
echo 'Error!!';
}else{
echo $_POST['name'].' True';
}
}
?>
al presionar la tecla Espacio en la caja de texto
name una o mas veces
el resultado sera true.
ahora al usar este código el Resultado sera Falso.
Código PHP:
<?php
if(isset($_POST['name'])){
$nameb = $_POST['name'];
/*
//aqui con la funcion trim() quita el truco de la tecla Espacio
//pero esto es lo que dice la web de php ---------
trim
(PHP 4, PHP 5)
trim — Elimina espacios en blanco (u otros caracteres) del principio y final de una cadena
*/
$nameb = trim($nameb);
if($nameb == ""){
echo 'Error!!';
}else{
echo $nameb.' True';
}
}
?>
pero esto es lo que dice la web de php
---------
http://us3.php.net/manual/es/function.trim.php
trim
(PHP 4, PHP 5)
trim — Elimina espacios en blanco (u otros caracteres) del principio y final de una cadena
---------
entonces se puede usar esto
Código PHP:
<?php
if(isset($_POST['name'])){
$namec = $_POST['name'];
if($namec == '' || $namec == ' '){
echo 'Error!!';
}else{
echo $namec.' True';
}
}
?>
pero que pasa si se presiona la
Tecla Espacio mas de 2 veces el Resultado sera
true
entonces aquí hay otro truco
Código PHP:
<?php
if(isset($_POST['name'])){
$namec = $_POST['name'];
$namec = ereg_replace(' +', ' ', $namec);
if($namec == '' || $namec == ' '){
echo 'Error!!';
}else{
echo $namec.' True';
}
}
?>
pero al escribir una palabra así:
esto tienes un
espacio--------------------------------------------
largo.
use esto --- en ves de espacio porque aquí no se permiten

el resultado sera normal: esto tienes un
espacio largo.
entonces eso queda a criterio de cada quien si quiere permitir espacios largos.
espero le sea útil a alguien que "quiera al menos una letra" en una caja de texto