Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/11/2010, 23:17
fixius
 
Fecha de Ingreso: julio-2009
Ubicación: Sevilla
Mensajes: 18
Antigüedad: 14 años, 9 meses
Puntos: 0
al volver atras no funciona el envio de datos

Me traigo este post aqui desde base de datos para ver si me podeis ayudar. Estoy algo verde, asi que no seais muy duros conmigo.
Tengo un form con campos obligatorios que al no ser rellenados te pide que vuelvas atras desde tu navegador y los rellene para hacer el INSERT en bd. Pero cuando esto ocurre NO se ingresan. Por el contrario si los rellenas bien la 1ª vez SI ingresan.
Aqui les dejo el code por si me podeis decir algo:
<!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>
<link rel="stylesheet" type="text/css" href="estilosdos.css" media="all" />
<meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>

<body>
<?php
include ("conecta.php");
//Estos son los campos obligatorios
$id = $_POST["id"];
$pagina = $_POST["pagina"];
$contratante = $_POST["contratante"];
$empresa = $_POST["empresa"];
$acepto = $_POST["acepto"];
//Aqui chequeo que no esten vacios
$required_fields = array('contratante', 'empresa', 'id');
foreach ($required_fields as $required_field) {
if (empty($$required_field) || $$required_field == '') {
echo "<center>";
//Aqui les pido que vuelvan y rellenes campos vacios. Y cuando regresan y rellenan todos los campos por 2ª vez no se realiza el INSERT ¿Porque? Este es el fallo
echo "Por favor, rellena campo (" .$required_field.")<label class='asterisco'>*</label>" ;
echo "<br/>";
echo "</center>";
//Esto es porque con anterioridad ya han subido a bd otros datos y si no completan este form, que los borre
$borrar = mysql_query ("DELETE FROM anuncios WHERE acepto ='' OR contratante='' OR empresa=''");
}
}
//Aqui se envian los datos si se han rellenado todos exitosamente
$completar = mysql_query("UPDATE anuncios SET acepto='$acepto', pagina='$pagina', contratante='$contratante', empresa='$empresa' WHERE id='$id'")or die('Error en aceptado.php');
$borrar = mysql_query ("DELETE FROM anuncios WHERE acepto ='no'");
$intro = mysql_query ("SELECT * FROM anuncios WHERE id='$id'");
//Y aqui les muestro los datos al contratante
if ($row = mysql_fetch_array($intro)){
echo "<center> \n";
echo "<h2>Estos son sus datos</h2><br/> \n";
echo date("d/m/Y");
echo "<table class='c'> \n";
echo "<tr> \n";
echo "<td><b>id</b></td> \n";
echo "<td><b>fecha</b></td> \n";
echo "<td><b>pagina</b></td> \n";
echo "<td><b>contratante</b></td> \n";
echo "<td><b>empresa</b></td> \n";
echo "<td><b>acepto</b></td> \n";
echo "</tr> \n";
do {
echo "<tr> \n";
echo "<td class='in'>".$row["id"]."</td> \n";
echo "<td class='in'>".$row["fecha"]."</td> \n";
echo "<td class='in'>".$row["pagina"]."</td> \n";
echo "<td class='in'>".$row["contratante"]."</td> \n";
echo "<td class='in'>".$row["empresa"]."</td> \n";
echo "<td class='in'>".$row["acepto"]."</td> \n";
echo "</tr> \n";
echo "</center> \n";
}
while ($row = mysql_fetch_array($intro));
echo "</table> \n";
}
else {
echo "<center>";
echo "<h3>¡ Por favor regrese y confirme !<h3>";
echo "</center>";
echo "</div> \n";
}

?>

</body>
</html>

¿Como lo veis?
Gracias