PHP - Porque no entra en el if

   
Vista:

Porque no entra en el if

Publicado por Tomas (24 intervenciones) el 01/11/2014 16:39:52
tengo esta condición:

if (($_POST['Nom']==" ") || !isset($_POST['Nom']) || !is_string($_POST['Nom'])){
print "<b></b><p style=\"color:red\">No has escrito el nombre.</p></b>\n";
} else {
print "<strong> tu nombre es: </strong>".$_POST['Nom'];
}

Solo funciona el espacio en blanco.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Porque no entra en el if

Publicado por david (21 intervenciones) el 01/11/2014 17:02:23
Buenas, prueba a ver con esto.

1
2
3
4
5
6
7
8
9
if(!isset($_POST['Nom'])){
       print "<b></b><p style=\"color:red\">No has escrito el nombre.</p></b>\n";
}else{
      if($_POST['Nom'] == "" || !is_string($_POST['Nom'])){
           print "<b></b><p style=\"color:red\">No has escrito el nombre.</p></b>\n";
      }else{
            print "<strong> tu nombre es: </strong>" . $_POST['Nom'];
      }
}

Los obstáculos son esas cosas que las personas ven cuando dejan de mirar sus metas.- E. Joseph Cossman
visita : http://quierocine.com , http://www.divaforums.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Porque no entra en el if

Publicado por Tomas (24 intervenciones) el 01/11/2014 17:07:53
No, así no va ni el espacio en blanco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Porque no entra en el if

Publicado por david (21 intervenciones) el 01/11/2014 17:34:18
Que es lo que necesitas que si el usuario envia un espacio diga que no a escrito el nombre no? puedes probar mirando si existe la variable con isset() si existe , revisar si tiene campos en blanco con con strpos()

1
2
3
4
5
6
7
8
9
if (!isset($_POST['Nom']) || $_POST['Nom'] == "" || !is_string($_POST['Nom'])) {
            print "<b></b><p style=\"color:red\">No has escrito el nombre.</p></b>\n";
        } else {
            $espacio = strpos(' ', $_POST['Nom']);
            if(!$espacio){
               print "<strong> tu nombre es: </strong>" . $_POST['Nom'];
            }
            print "<b></b><p style=\"color:red\">No has escrito el nombre.</p></b>\n";
        }

A ver ahora ;)

Los obstáculos son esas cosas que las personas ven cuando dejan de mirar sus metas.- E. Joseph Cossman
visita : http://quierocine.com , http://www.divaforums.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Porque no entra en el if

Publicado por Tomas (24 intervenciones) el 01/11/2014 18:30:18
Esa funcion aun no la he aprendido, gracias igualmente. Pero queria saber porque el primer codigo que puse no entra en el if respetando las 3 condiciones. Se lo pregunte a mi profe y ni el/ella lo sabia. Lo que he puesto no e snada del otro mundo. Aproposto estoy usando xamp la ultima versión y geany (para editar el php) y firefox para abir el archivo, no se si algo de esto tiene que ver con que no funcione.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Porque no entra en el if

Publicado por Tomas (24 intervenciones) el 01/11/2014 21:11:59
He probado de mas maneras (intercambiando el orden de las condiciones con un poco de logica) pero nada.
He cambiado de planes, estoy intentando con expresiones regulares, y escrito esto:

if(!ereg("^[a-zA-Z-][Á-Ú][À-Ù][á-ú][à-ù]", $_POST['Nom'])){
echo "No has rellenado bien el campo nombre";}else{
echo "Tu nombre es:".$_POST['Nom'];}}

Me va TODO perfecto, menos cuando pongo tildes. Alguien sabe de expresiones regulares?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar