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'))";
$conexion= mysql_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!" ;
}
}
}
?>