Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/10/2010, 01:36
Avatar de gogupe
gogupe
 
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 18 años, 1 mes
Puntos: 32
Respuesta: Me inserta un campo antes de llenarlo

Hola.

Cuando hace el submit, lo que hace es volver a cargar la pagina, recoge los datos que contienen el formulario y lo envía a index.php, pero al hacerlo borra los valores porque pones value="", es decir eliminar el valor y lo enviar por post a index.php.

Lo puedes hacer de dos formas

Insertas el código php arriba de todo y pones una condición.

Código PHP:
<? 
if (isset($_POST[submit]))
    {
    include (
"includes/config.php");
    include (
"includes/funciones.php");
    
//nos conectamos a mysql
    
$cnx conectar ();
    
    
$campos "nombre,apellido,telefono";
    
$valores "'".$_POST['nombre']."',";
    
$valores .= "'".$_POST['apellido']."',";
    
$valores .= "'".$_POST['telefono']."'";
    
$sql "INSERT INTO directorio ($campos) VALUES($valores)";
    
$res mysql_query($sql) or die(mysql_error());
    echo 
"Registro ingresado.<br><a href='listado.php'>regresar</a>";
    
mysql_close($cnx);
    
    }

?>
<HTML>
    <form name="form1" method="post" action="index.php">

nombre<input name="nombre" type="text" id="nombre" value=""<br>
apellido<input name="apellido" type="text" id="apellido" value=""<br>
ELEFONO<input name="telefono" type="text" id="telefono" value=""<br>

<input type="submit" name="submit" value="enviar">
</form>
</HTML>
Obserba que he quitado exit() para que llegue al final del todo, no es necesario ponerlo, ya que si no, la pantalla se quedaría en blanco.


o la otra forma de hacer es dejarle los valores al formulario de esta forma
Código PHP:
nombre<input name="nombre" type="text" id="nombre" value="<?echo $_POST[nombre]?>"<br>
apellido<input name="apellido" type="text" id="apellido" value="<?echo $_POST[apellido]?>"<br>
TELEFONO<input name="telefono" type="text" id="telefono" value="<?echo $_POST[telefono]?>"<br>

Pruébalo y comenta.

Suerte.