Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/05/2004, 22:40
Avatar de capuleto
capuleto
 
Fecha de Ingreso: octubre-2003
Ubicación: Cartagena
Mensajes: 219
Antigüedad: 20 años, 6 meses
Puntos: 0
Me salio una solo vez y despues no

el Formulario que recoge las variables:
<html>
<head>
<title>Insercción de Datos</title>
</head>
<body>
<center><h2>Tabla «demo4»<br>Formulario de altas<h2></center>
<form name="altas" method="post" action="procesar.php">
<table bgcolor="#E9FFFF" align="center" border=2>
<tr>
<td align="right">Escribe tu D.N.I. :</td>
<td align="left"><input type="text" name="p_v1" value="" size=8></td>
</tr>
<tr>
<td align="right">Nombre:</td>
<td align="left"><input type="text" name="p_v2" value="" size=20></td>
</tr>
<tr>
<td align="right">Primer Apellido:</td>
<td align="left"><input type="text" name="p_v3" value="" size=15></td>
</tr>
<tr>
<td align="right">Segundo Apellido:</td>
<td align="left"><input type="text" name="p_v4" value="" size=15></td>
</tr>

<tr>
<td align="right">Fecha de Nacimiento:</td>
<td align="left">
<select name="p_v5[2]">
<? for($i=0;$i<32;$i++){
echo "<option>$i</option>";
}
?>
</select> de
<select name="p_v5[1]">
<? for($i=0;$i<13;$i++){
echo "<option>$i</option>";
}
?>
</select> de
<select name="p_v5[0]">
<? for($i=1901;$i<2005;$i++){
echo "<option>$i</option>";
}
?>
</select>
</td>
</tr>

<tr>
<td align="right">Hora:</td>
<td align="left">
<select name="p_v7[0]">
<? for($i=0;$i<24;$i++){
echo "<option>$i</option>";
}
?>
</select> H
<select name="p_v7[1]">
<? for($i=0;$i<60;$i++){
echo "<option>$i</option>";
}
?>
</select> M
<select name="p_v7[2]">
<? for($i=0;$i<60;$i++){
echo "<option>$i</option>";
}
?>
</select> S
</td>
</tr>

<tr>
<td align="right">Sexo:</td>
<td align="left">
<input type="radio" name="p_v6" value="M" checked> Masculino
<input type="radio" name="p_v6" value="F"> Femenino
</td>
</tr>

<tr>
<td align="right">Fumador:</td>
<td align="left">
<input type="radio" name="p_v8" value="1" checked>Si
<input type="radio" name="p_v8" value="0">No
</td>
</tr>

<tr>
<td align="right">Idiomas:
(<i>Si habla varios seleccionarlos<br>
pulsando con el mouse encima de <br>
cada uno de ellos con la tecla<br>
<b>Ctrl</b> presionada</i>)
</td>
<td align="left">
<!-- <select name="mes[]" multiple size="3"> -->
<SELECT MULTIPLE name="p_v9[]" SIZE=6>
<option value=1>Castellano</option>
<option value=2>Ingles</option>
<option value=4>Frances</option>
<option value=8>Bulgaro</option>
<option value=16>Aleman</option>
<option value=32>Chino</option>
</SELECT>
</td>
</tr>
</table>
<br>
<center>
<input type="submit" Value=" Enviar ">
<input type="reset" Value= " Borrar ">
</center>
</form>
</body>
</html>

*************
el escrip php que los procesa y los ingresa a la Base de datos:
<?
# Recogemos en una variable el Nombre de la Base de datos
$base="edwarddb";

# Recogemos en una Variable el Nombre de la Tabla
$tabla="demo4";

# Recogemos la Variable Fumador
if($_POST['p_v8']==0){
$_POST['p_v8']='"\n"'; //Asignamos NULL
}else{
$_POST['p_v8']='""'; //Asignamos Cadena Vacia
}

# Recogemos la Variable Idiomas
# El truco de asignar en el formulario valores 1,2,4,8,16,32 a las opciones de idioma
# nos permite sumarlos aquí para obtener el valor conjunto
# aqui se suman todos los valores de la matriz pasada desde el formulario

foreach($_POST['p_v9'] as $valor) {
$_POST['p_v9']+=$valor;
};




# Establecemos la Conexion con el Servidor
$conex=mysql_connect("localhost","root","");

# Asignamos la Conexion a la Base de datos determinada
mysql_select_db($base,$conex);

# Preparamos la Sentencia y Añadimos el Registro
mysql_query("INSERT $tabla (DNI,Nombre,Apellido1,Apellido2,Nacimiento,Hora,Se xo,Fumador,Idiomas) VALUES ('".$_POST['p_v1']."','".$_POST['p_v2']."','".$_POST['p_v3']."','".$_POST['p_v4']."','".$_POST['p_v5'][0]."-".$_POST['p_v5'][1]."-".$_POST['p_v5'][2]."','".$_POST['p_v7'][0].":".$_POST['p_v7'][1].":".$_POST['p_v7'][2]."','".$_POST['p_v6']."','".$_POST['p_v8']."','".$_POST['p_v9']."')",$conex);

//$v5=$_POST['p_v5'][0]."-".$_POST['p_v5'][1]."-".$_POST['p_v5'][2];
# Verificamos si Hubo Exito o Fracaso
# Comprobamos el Resultado de la inserccion
# El error CERO significa no error
# El error 1062 Clave duplicada
# en otros errores forzamos a que nos ponga el número de error
# y el significado de ese error (aunque sea en ingles)....
if(mysql_errno($conex)==0){echo "<h2>REGISTRO AÑADIDO</h2><br>";
}else{
if(mysql_errno($conex)==1062){echo "<h2>No ha Podido añadirse el Registro<br>Ya existe un Campo con ese DNI</h2><br>";
}else{
$numerror=mysql_errno($conex);
$descerror=mysql_error($conex);
echo "<h2>Se ha Producido un error No: $numerror que corresponde a: $descerror </h2><br>";
}
}

# Cerramos la Conexion
mysql_close($conex);
?>

Que tengo mal...ayudenem que tengo un examen sobre esto..
__________________
...Definitivamente Soy Nadie entre los Sabios....*-*Capuleto*-*