Foros del Web » Programando para Internet » PHP »

Solo numero y guiones en un textbox

Estas en el tema de Solo numero y guiones en un textbox en el foro de PHP en Foros del Web. Hola Compañeros foreros ,soy nuevo esto y tengo una dudilla y es la siguiente :(espero explicarme lo mejor posible si no os pondria el ejemplo.) ...
  #1 (permalink)  
Antiguo 22/02/2010, 05:55
Avatar de Adrianoo  
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Solo numero y guiones en un textbox

Hola Compañeros foreros ,soy nuevo esto y tengo una dudilla y es la siguiente :(espero explicarme lo mejor posible si no os pondria el ejemplo.)
Tengo un pequeño formulario que se me a pedido hacer en el cual hay dos textbox y un textarea..
1ºtextbox es para que se ponga una fecha que se elejira en un pequeño calendario que al clickar aparecera(este es textbox importante)
2ºes otro textbox para un titulo.
3ºtextarea es para una noticia que se expliacara..

Bueno la cosa es que me han pedido que en ese 1º textbox no se puedan poner letras solo numeros y - osea asi, 2010-02-22.
Espero que alguien pueda echarme una mano y de nuevo siento si no me explico bien es mi 2 post!

un saludo a todos y gracias
  #2 (permalink)  
Antiguo 22/02/2010, 05:56
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Solo numero y guiones en un textbox

Es más efectivo por Javascript. Con php tendrías que ir validando. Con javascript puedes bloquear directamente las teclas que no te interesen.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #3 (permalink)  
Antiguo 22/02/2010, 05:58
Avatar de Adrianoo  
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Solo numero y guiones en un textbox

ya pero se me pide asi al ser de practicas quieren que lo haga de forma sencilla xD si pudieras echarme un cable ! gracias
  #4 (permalink)  
Antiguo 22/02/2010, 06:02
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Solo numero y guiones en un textbox

Puedes hacer un str_replace() de lo que tú no quieras o alertar si encuentras con preg_match() caracteres no válidos.
Más info sobre las funciones en http://es.php.net
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #5 (permalink)  
Antiguo 23/02/2010, 02:39
Avatar de Adrianoo  
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Solo numero y guiones en un textbox

Jeje soy demasiado nuevo en este tema como para entender estos codigos con facilidad entonces alguien tendra que tener un poco de paciencia para decirme mas o menos donde deberia de poner eso y como para que me funcionara :repito( tengo que hacer que el text box que tiene el calendario solo se pueden escribir numeros y guiones , supongo que sera facil pero ...
Y bueno ahora tambien tengo otro problemilla y es que los errores que deberian de salir a no poner algo en los campos salen directamente y me gustaria ocultarlos asta entonces ... un saludo y os dejo aqui el ejercicio para que le echeis un vistazo.
Gracias y lo siento CHuLoSoY por no entender muy bien


<?php
require ('functions.php');
connectar_imc();


$formok=0;

if($_POST['titulo']=="") {
echo "error - campo titulo vacio";
$formok=1;
}"<br><br>";

if($_POST['noticia']=="") {
echo "error - campo noticia vacio";
$formok=1;
}

//echo $_POST['titulo']. "<br><br>";

//echo $_POST['noticia'];
if(isset($_POST['enviar'])) {
if($formok==0) {
$sql="INSERT INTO news (id_imc_user,new_date,new_title,new_description) VALUES ('3','".$_POST['fecha']."','".$_POST['titulo']."','".$_POST['noticia']."')";
$result = mysql_query($sql);
}
}


?>

<script language='javascript' src="popcalendar.js"></script>
</head>
<body>
<center>
<form name="form1" method="post" action="noticias.php">
Calendario<input name="fecha" type="text" id="dateArrival" onClick="popUpCalendar(this, form1.dateArrival, 'yyyy-mm-dd');" size="10">






<br>
Titulo<br>
<input type="text" name="titulo" size="30">
<br><br>



Descripci&oacute;n<br>

<textarea name="noticia"rows="5"cols="30"></textarea><br/>




<br><br>


<input type="submit" name="enviar" value="Enviar">
</form>
  #6 (permalink)  
Antiguo 23/02/2010, 02:51
 
Fecha de Ingreso: diciembre-2009
Ubicación: entre Ibiza y Barcelona :)
Mensajes: 92
Antigüedad: 14 años, 4 meses
Puntos: 3
Respuesta: Solo numero y guiones en un textbox

prueba esto:
Código PHP:
        <?php
        
require ('functions.php');
        
connectar_imc();



        if (
$_POST['titulo']    ==    ''    or
           
$_POST['noticia']   ==    ''    ){
               

            
$formok=0;   
            
$error1=1;   
        }else{
            
$formok=1;


            if(
$formok==1) {

                
$sql="INSERT INTO news (id_imc_user,new_date,new_title,new_description) VALUES ('3','".$_POST['fecha']."','".$_POST['titulo']."','".$_POST['noticia']."')";
                
$result mysql_query($sql);
            }
        }
         

if(
$formok==1){
    echo 
"Envio satisfactorio";
    }
 

    If(
$error1=1){

    echo 
"Error campo vacio<br>";
    }
  #7 (permalink)  
Antiguo 23/02/2010, 02:52
Avatar de Adrianoo  
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Solo numero y guiones en un textbox

Gracias marinesky por la aportacion pero esto no me funciona al ponerlo la pantalla se queda en blanco! pero gracias de todas formas!:)
  #8 (permalink)  
Antiguo 23/02/2010, 04:24
Avatar de Adrianoo  
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Solo numero y guiones en un textbox

Bueno ahora que me fijo tengo un .js que no recordaba que es de donde sale el calendario y el textbox.. que teclas son las que deberia quitar segundo decia chulosoy.. aver si alguien me puede echar una manita en eso!
  #9 (permalink)  
Antiguo 23/02/2010, 04:35
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Solo numero y guiones en un textbox

No bloquees ninguna en especial, sólo permite del 0 al 9 y guión.
Con cualquier javascript de captura de teclas, pones un alert(tecla) y verás el código de las teclas que te interesan.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #10 (permalink)  
Antiguo 23/02/2010, 04:37
 
Fecha de Ingreso: diciembre-2009
Ubicación: entre Ibiza y Barcelona :)
Mensajes: 92
Antigüedad: 14 años, 4 meses
Puntos: 3
Respuesta: Solo numero y guiones en un textbox

si es de java pide que te muevan el post...q ayi seguro que te ayudan mas.
pero buscando encontre esto y quizas t sirva.
validar solo numeros
  #11 (permalink)  
Antiguo 23/02/2010, 04:42
Avatar de Adrianoo  
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Solo numero y guiones en un textbox

sera lo que tendre que hacer porque no me entero muy bien de que tengo que hacer nose como hacer para permitir solo numeros y simbolos no se donde tengo que hacer eso...
  #12 (permalink)  
Antiguo 23/02/2010, 05:24
Avatar de Adrianoo  
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Solo numero y guiones en un textbox

Bueno esto ya llega a su fin al final tengo que hacerlo por php entonces el codigo de arriba tiene que tener este pequeño codigo que me a dado el jefe pero no se como acerlo servir ya que no tengo $nom_usuario de el tetxbox del calendario... alguien puede hacer algo...



function comprobar_nombre_usuario($nombre_usuario){
//compruebo que el tamaño del string sea válido.
if (strlen($nombre_usuario)<3 || strlen($nombre_usuario)>20){
echo $nombre_usuario . " no es válido<br>";
return false;
}

//compruebo que los caracteres sean los permitidos
$permitidos = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ0123456789-_";
for ($i=0; $i<strlen($nombre_usuario); $i++){
if (strpos($permitidos, substr($nombre_usuario,$i,1))===false){
echo $nombre_usuario . " no es válido<br>";
return false;
}
}
echo $nombre_usuario . " es válido<br>";
return true;
}



junto con el de mas arriba
  #13 (permalink)  
Antiguo 23/02/2010, 05:33
 
Fecha de Ingreso: diciembre-2009
Ubicación: entre Ibiza y Barcelona :)
Mensajes: 92
Antigüedad: 14 años, 4 meses
Puntos: 3
Respuesta: Solo numero y guiones en un textbox

supongo que ese codigo es de algun ejemplo sacado de internet, y esa persona pues querria que el textbox del nombre usuario solo pdiera tenr numero. Por lo tanto tu en ese lugar tendras que poner el nombre que le pusiste a tu textbox.
Es decir, si tu textbox tiene de nombre "calendario", creas una variable
$calendario = $_POST['calendario'];

y donde pone $nom_usurio pones $calendario.

Prueba a ver. Un saludo
  #14 (permalink)  
Antiguo 23/02/2010, 05:42
Avatar de Adrianoo  
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Solo numero y guiones en un textbox

ya eso lo supongo pero esk no es un textbox..el calendario que sale esta linea

<form name="form1" method="post" action="noticias.php">
Calendario<input name="fecha" type="text" id="dateArrival" onClick="popUpCalendar(this, form1.dateArrival, 'yyyy-mm-dd');" size="10">

no es como esta otra donde se cual es el nombre de usuario

Descripci&oacute;n<br>

<textarea name="noticia"rows="5"cols="30"></textarea><br/>


aver si marinesky consigue descubir cual es el nombre hay en calendario y me echa una mano!
  #15 (permalink)  
Antiguo 23/02/2010, 05:49
Avatar de Adrianoo  
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Solo numero y guiones en un textbox

bueno saber qual es el nombre de ese "textbox" si lo se que es fecha ... pero no se implemtar ese codigo ..
  #16 (permalink)  
Antiguo 23/02/2010, 05:49
 
Fecha de Ingreso: diciembre-2009
Ubicación: entre Ibiza y Barcelona :)
Mensajes: 92
Antigüedad: 14 años, 4 meses
Puntos: 3
Respuesta: Solo numero y guiones en un textbox

Cita:
Iniciado por Adrianoo Ver Mensaje
<input name="fecha" type="text" id="dateArrival" onClick="popUpCalendar(this, form1.dateArrival, 'yyyy-mm-dd');" size="10">
simplemente esta cambiado el orden xD

edito--> Te adelantaste!
el codigo lo tienes que poner en el <head>
  #17 (permalink)  
Antiguo 25/02/2010, 02:18
Avatar de Adrianoo  
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Solo numero y guiones en un textbox

Hola de nuevo sigo con el mismo tema ya que estado un dia ocupado con otros temas no lo e podido tocar pero sigo igual , no consigo hacerl bien, y se me acaba el tiempo , creo que por mi mismo no lo voy a poder hacer entonces si alguien puede dejarme la solucion en mi cara me haria un favor ! ayuda!!
Marinesky e probado de ponerlo en el head pero entonces cuadno actualizo la pagina se queda en blanco no se que estare haciendo mal

Última edición por Adrianoo; 25/02/2010 a las 02:29 Razón: me habia dejado una cosa

Etiquetas: numero, textbox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:31.