[SOLUCIONADO] [Taller de PHP] Formularios

Iniciado por عя ҜΔŁĬ, Junio 06, 2011, 04:40:46 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Junio 06, 2011, 04:40:46 PM Ultima modificación: Marzo 22, 2014, 02:18:09 PM por Expermicid
Buenas, estoy haciendo el último ejercicio y quería saber como obtener el tipo de variable introducida en un label de un formulario, porque obteniendolo normalmente con gettype siempre da string,, ya que esta en una variable entrre comillas digamos.
Saludos

Claro man, cuando encierras un valor entre comillas simples o dobles, estas indicando que el contenido es tipo string.

Código: php

$var = 5151;
$boolean = true;


El primero es una variable cuyo valor es tipo int (enteros) y el segundo es una variable booleana.

Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Creo que no me he explicado bien. lo que quiero hacer es esto:

Código: php
<form action="" method="POST"> 
Introduce lo que quieras: <input type="text" name="msg" /><br><br>
<input type="submit" name="boton" value="Enviar" />
</form>

<?php
$msg = $_POST['msg'];
if(is_int($msg)){
echo 'Ahora tiene un numero mas'.++$msg;
}
?>


Pero claro, siempre devuelve tipo string, entonces aunque solo introduzcas en el campo de texto números, no te lo va a evaluar como integer, entonces me preguntaba como solucionarlo
Saludos y gracias contestar rápido ;)

Puedes establecer el tipo de valor de una variable utilizando No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Código: php

<form action="" method="POST">
Introduce lo que quieras: <input type="text" name="msg" /><br><br>
<input type="submit" name="boton" value="Enviar" />
</form>

<?php
$msg = $_POST['msg'];

settype($msg, "integer");
if(is_int($msg)){
echo 'Ahora tiene un numero mas'.++$msg;
}
?>

Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Si pero yo no quiero cambiar el tipo de variable, sino saber que tipo es, según lo que el usuario escriba en el campo de texto.
Alomejor en php no se puede hacer, de php se lo básico
He buscado en google y tampoco he encontrado nada
Saludos

Al parecer todos los datos que se ingresan desde un formulario, llegan como tipo string.

Si no quieres establecer el tipo de valor que contiene una variable que seria lo mas lógico, puedes comprobar que solo contenga numeros usando expresiones regulares pero entenderías menos xD.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Todo valor pasado por un formulario tanto método POST como GET regresará tipo string. Pero ¿qué pasa si queremos comprobar que tipo de variable es?, para eso existen las funciones que deje en el taller, un ejemplo de uso:

Código: php

<?php
if(isset($_POST['boton']))
{
if(is_numeric($_POST['msg'])):
echo 'Es numérico';
else:
echo 'Es string';
endif;
}
?>
<form action="" method="POST">
Introduce lo que quieras: <input type="text" name="msg" /><br><br>
<input type="submit" name="boton" value="Enviar" />
</form>


Es decir, puedes utilizar varias funciones como is_numeric, is_string, is_bool, etc, inclusive puedes checar si dentro del valor del formulario viene alguna letra o carácter no numérico para seguir con la condicional, saludos.
Cada vez que me das Karma me motivas

Ahora si, gracias a los dos, no me acurdaba de la función is_numeric  :-[
Saludos ya pueden cerrar el tema si quieren