Foros del Web » Programando para Internet » PHP »

problema al validar campos formulario (usando session_start())

Estas en el tema de problema al validar campos formulario (usando session_start()) en el foro de PHP en Foros del Web. hola que intento validar un formulario con javascript y con php usando session_start() y luego session_destroy() para destruir los campos una vez insertado el registro... ...
  #1 (permalink)  
Antiguo 14/08/2010, 10:32
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
problema al validar campos formulario (usando session_start())

hola que intento validar un formulario con javascript y con php usando session_start() y luego session_destroy() para destruir los campos una vez insertado el registro... me funciona a medias los campos tipo text si me los guarda en caso de saltar el javascript pero los campos select no me los guarda..

por que?????

os pongo el codigo completo haber si encontrais el fallo...

para recordar los campos del formu tipo select hay que hacer algo especial en el codigo????

Código:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cara jaula 1.0</title>


<style type="text/css">
<!--
body {
	background-color:#be36d2;
 	
}

-->
</style>
<script language="JavaScript" type="text/javascript">


function revisar(miFormu) {
	if(miFormu.titulo.value.length ==0) {
		alert('Tienes que introducir un titulo') ;
		return false ;
	}
	if(miFormu.genero.value.length ==0) {
	alert('tienes que elegir un genero');
		return false ;
	}
	if(miFormu.calidad.value.length ==0){
		alert('tienes que elegir una calidad de pelicula') ;
		return false ;
	}

else{
alert('Pelicula insertada!!');
return false;
	}
}



</script>
<link href="pelisinsertar.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="contenedor">
<div id="logo">
<img src="imagenes/logocara.png" />
</div>
<div id="menu">
<ul>
<li><a href="#">Principal</a></li>
<li><a href="#">Peliculas</a></li>
<li><a href="#">Documentales</a></li>
<li><a href="#">Programas</a></li>
<li><a href="#">Musica</a></li>
</ul>
</div>
<div id="contenido">
<h2>Peliculas</h2>
<form action="#" name="miformu" method="POST" onSubmit="revisar(this);">
<ul>
<li>	Titulo: <input type="text" name="titulo" id="titulo" size="30" value="<?php if (isset($_SESSION['titulo'])) echo htmlentities($_SESSION['titulo']); ?>"/></li>

<li>	año: <input type="text" name="ano" id="ano" size="10" value="<?php if (isset($_SESSION['ano'])) echo htmlentities($_SESSION['ano']); ?>"/></li>
<li>	Director: <input type="text" name="director" id="director" size="26" value="<?php if (isset($_SESSION['director'])) echo htmlentities($_SESSION['director']); ?>"/></li>
<li>Genero:<select size="1" name="genero" id="genero"  value="<?php if (isset($_SESSION['genero'])) echo htmlentities($_SESSION['genero']); ?>">
<option value="">Elegir genero</option>
  <option value="accion">accion</option>
  <option value="adolescente">adolescente</option>
  <option value="animacion">animacion</option>
  <option value="infantil">infantil</option>
  <option value="artesmarciales">artes marciales</option>
  <option value="aventura">aventura</option>
    <option value="belico">belico</option>
  <option value="biografia">biografia</option>
    <option value="cienciaficcion">ciencia ficcion</option>
  <option value="cinenegro">cine negro</option>
    <option value="comedia">comedia</option>
  <option value="cortometrajes">cortometrajes</option>
    <option value="deporte">deporte</option>
  <option value="drama">drama</option>
    <option value="fantastico">fantastico</option>
  <option value="historico">historico</option>
    <option value="intriga">intriga</option>
  <option value="musical">musical</option>
    <option value="policiaca">policiaca</option>
  <option value="romance">romance</option>
    <option value="suspense">suspense</option>
  <option value="terror">terror</option>
    <option value="thriller">thriller</option>
  <option value="western">western</option>
 
 </select>
 </li>
 <li>Calidad:<select size="1" name="calidad" id="calidad" value="<?php if (isset($_SESSION['calidad'])) echo htmlentities($_SESSION['calidad']); ?>">
<option value="">Elegir calidad</option>
  <option value="dvd">dvd</option>
  <option value="dvdrip">dvdrip</option>
  <option value="dvdscreener">dvdscreener</option>
  <option value="tsscreener">tsscreener</option>

 </select>
 </li>
 
 <li>Idioma:<select size="1" name="idioma" id="idioma" value="<?php if (isset($_SESSION['idioma'])) echo htmlentities($_SESSION['idioma']); ?>">
<option value="">Elegir idioma</option>
  <option value="español">español</option>
  <option value="ingles">ingles</option>
  <option value="latino">latino</option>
 </select>
 </li>
 <li>Comentarios:

<textarea cols="30" rows="7" name="comentario" id="comentarios"  value="<?php if (isset($_SESSION['comentario'])) echo htmlentities($_SESSION['comentario']); ?>"> </textarea>	
</li>
<li><input type="submit" name="enviar" value="Enviar" id="boton"></li>

</ul>
</form>
Código PHP:
<?php if (isset($_POST["enviar"])) {
    
//Aqui iria el codigo del archivo externo
    
$_SESSION['titulo'] = $_POST['titulo']; 
    
$_SESSION['ano'] = $_POST['ano']; 
    
$_SESSION['director'] = $_POST['director'];
    
$_SESSION['genero'] = $_POST['genero']; 
    
$_SESSION['calidad'] = $_POST['calidad']; 
    
$_SESSION['comentario'] = $_POST['comentario'];
    
$titulo=$_POST['titulo'];
    
$ano=$_POST['ano'];
    
$director=$_POST['director'];
    
$genero$_POST['genero'];
    
$calidad=$_POST['calidad'];
    
$idioma=$_POST['idioma'];
    
$comentario=$_POST['comentario'];
    
    
    if ( ! isset(
$_POST['titulo']) OR ! $_POST['titulo']) //(Si no esta definido nombre) o (si no contiene nada ni siquiera un espacio en blanco)
    
{
        
        exit;
    }
    elseif ( ! isset(
$_POST['genero']) OR ! $_POST['genero']) //(Si no esta definido email) o (si no contiene nada ni siquiera un espacio en blanco)
    
{
        
        exit;
    }
    elseif ( ! isset(
$_POST['calidad']) OR ! $_POST['calidad']) //(Si no esta definido teléfono) o (si no contiene nada ni siquiera un espacio en blanco)
    
{
    
        exit;
    }
    elseif (isset(
$_POST['titulo']) AND $_POST['titulo'] AND isset($_POST['genero']) AND $_POST['genero'] AND isset($_POST['calidad']) AND $_POST['calidad'])
    {
        
        
$ssql="INSERT INTO peliculas(titulo,ano,director,genero,calidad,idioma,comentario) VALUES (('$titulo'),
                ('$ano'),('$director'),('$genero'),('$calidad'),('$idioma'),('$comentario'))"
;
        
        
$conexionmysql_connect("localhost""root""");
        
        
mysql_select_db("carajaula"$conexion);
        
        if (
mysql_query($ssql$conexion) or die (mysql_error()) ){ 
            echo 
"sentencia ingresada!"
            
session_destroy();
        }else{ 
            echo 
"no inserte nada!" 
        }    
    } 
}
    
?>
  #2 (permalink)  
Antiguo 14/08/2010, 11:11
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: problema al validar campos formulario (usando session_start())

has un echo xq te los deberia de agarrarte bien el valor otra cosa
Cita:
<form action="#" name="miformu" method="POST" onSubmit="revisar(this);">
te valida y se qda en el formulario?? creo q es onSubmit="return revisar(this);" y el action a donde iria a la misma pagina o q??

bueno yo en la balidacion de php pongo
elseif ( ! isset($_POST['genero']) OR !empty $_POST['genero'])
directamente desd el post y le agrego un empty y para q tanta variable de session?? al final lo q haces es llenarlas xq no la usas mas en ninguna otra parte o la usas en otra pagina??
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 18/08/2010, 11:09
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: problema al validar campos formulario (usando session_start())

oye ya e cambiado el codigo como me as puesto lo del empty ahora me valida mejor pero sigue sin recordarme los select...los select no me los guarda....como tengo ke modificar el codigo para que me los guarde si salta el javascript???

Etiquetas: campos, formulario
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 22:22.