Foros del Web » Programando para Internet » PHP »

insertar datos en un mismo script

Estas en el tema de insertar datos en un mismo script en el foro de PHP en Foros del Web. quiero crear un formulario que sin necesidad de pasar a otra pagina me inserte los datos a la base de datos, la verdad no he ...
  #1 (permalink)  
Antiguo 31/12/2008, 14:51
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
insertar datos en un mismo script

quiero crear un formulario que sin necesidad de pasar a otra pagina me inserte los datos a la base de datos, la verdad no he trabajado mucho con funciones pero leyendo intente hacer algo y tengo este script

Código PHP:
<?php
//conecta a la base de datos
$mysql_id mysql_connect('server''user''*****');
mysql_select_db('everestltda'$mysql_id);

//$vehiculo=$_GET['placa'];
//$contratante=$_GET['empresa'];
$vehiculo='1002';
$contratante='Everest';
?>

<form id="form1" name="form1" method="post" action="inserta_viaje.php?insertar">
<label>
<table>    
<tr>
        <td>Id Viaje</td>
        <td><input type="text" name="id_viaje"></td>
    </tr>
    <tr>
        <td>Vehiculo</td>
        <td><input type="text" name="vehiculo" value="<?php echo $vehiculo?>"></td>
    </tr>
        <td>Conductor</td>
        <td><SELECT name="conductor">
        <?php
        $sql
="SELECT * FROM conductor order by nombres";
        
$ejecuta mysql_query($sql) or die (mysql_error());
        while (
$row mysql_fetch_assoc($ejecuta)){
        
?>
        <OPTION VALUE="<?php echo $row['nombres']; ?>"><?php echo $row['nombres'];?> 
        <?php
        
}
        
?></td>
    </tr>
    <tr>
        <td>Contratante</td>
        <td><input type="text" name="contratante" value="<?php echo $contratante;?>"></td>
    </tr>
    <tr>
        <td>Origen</td>
        <td><input type="text" name="origen"></td>
    </tr>
    <tr>
        <td>Destino</td>
        <td><input type="text" name="destino"></td>
    </tr>
    <tr>
        <td>Fecha de Salida (AAAA/MM/DD)</td>
        <td><input type="text" name="fecha_salida"></td>
    </tr>
    <tr>
        <td>Fecha Regreso (AAAA/MM/DD)</td>
        <td><input type="text" name="fecha_regreso"></td>
    </tr>
    <tr>
        <td>Objeto del Viaje</td>
        <td><input type="text" name="objeto"></td>
    </tr>
    <tr>
        <td>Observaciones</td>
        <td><input type="text" name="observaciones"></td>
    </tr>
    <tr>
        <td colspan="2" align="center"><input type="submit" name="submit" value="Crear Extracto del Contrato"></td>
    </tr>
</table>
</label>
</form>

<?php 
function insertar()
{
$idviaje=$_POST['id_viaje'];
$vehiculo=$_POST['vehiculo'];
$conductor=$_POST['conductor'];
$contratante=$_POST['contratante'];
$origen=$_POST['origen'];
$destino=$_POST['destino'];
$fechasalida=$_POST['fecha_salida'];
$fechallegada=$_POST['fecha_regreso'];
$objeto=$_POST['objeto'];
$observaciones=$_POST['observaciones'];

$insertar="INSERT INTO viaje (id_viaje,vehiculo,conductor,contratante,origen,destino,fecha_salida,fecha_regreso,objeto,observaciones) values ('$idviaje','$vehiculo','$conductor','$contratante','$origen','$destino','$fechasalida','$fechallegada','$objeto','$observaciones'";
mysql_query($insertar) or die (mysql_error());


echo 
"registro insertado";
}
?>

Pero no me inserta los datos, me podrian decir que tengo mal? o como lo podria hacer?
__________________
Say no more.......
  #2 (permalink)  
Antiguo 31/12/2008, 15:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: insertar datos en un mismo script

mmm... y en que momento, es que ejecutas la función??

osea.... no se ejecutan solas!!

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 31/12/2008, 15:10
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: insertar datos en un mismo script

mmm buen punto, pero no se supone que se ejecuta cuando presiono sobre el boton submit?
__________________
Say no more.......
  #4 (permalink)  
Antiguo 31/12/2008, 15:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: insertar datos en un mismo script

no, no se supone... ¿de donde sacaste tal idea??

osea... ese comportamiento debes programarlo tu, no existe tal... por defecto

revisa el santo manual de PHP !!

Variables Externas


para eso, debes usar if-then-else y comprobar si existen las variables $_POST ... una ves sea cierto, ya puedes ejecutar lo que quieras, etc, etc...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 31/12/2008, 15:22
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: insertar datos en un mismo script

Cita:
Iniciado por pateketrueke Ver Mensaje
no, no se supone... ¿de donde sacaste tal idea??
....
no se se me ocurrio jejeje, pero la verdad no entiendo muy bien lo del if then else, podrias decirme bien como seria?
__________________
Say no more.......
  #6 (permalink)  
Antiguo 31/12/2008, 15:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: insertar datos en un mismo script

bien, voy a suponer que ya leíste el manual...

si usaste el método post en tu formulario, esto crearía una variable por cada <input name="VARIABLE"/> recibido en el formulario...

Código HTML:
<form action="" method="post">
<input type="submit" name="ok"/>
</form> 
ahora, para comprobar si se ejecuta tal botón ... usamos el name de un submit, simple no?

Código PHP:
if (isset($_POST['ok']))
{
  
// OK

  
una_funcion_que_hace_algo();

}
else
{
  echo 
'No se ha enviado nada';

eso es if-then-else ... ¿listo??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 19:48.