Guardar con PHP y Postgres

Hola estoy haciendo una aplicación con PHP y postgres y tengo un icono guardar que al hacerle click debería guardar en la Base de Datos este es mi código en negrita coloco donde llamo la función y la función está al final en un script, el error que me da es se esperaba un objeto código 0, ¿por favor necesito ayuda que objeto requiere?
<?php
session_start();
//include('../libreria/class/clases.php');
//$vaciados = new clase_vaciado();
$db = pg_connect("host=127.0.0.1 dbname=SIIO user=postgres
password=abc123") or
die ("Fallo en el establecimiento de la conexión");
$presupuesto = pg_query ($db, "select descripcion from tab_pri_presupuesto")or die("Error en la consulta SQL");
$estructura = pg_query ($db, "select descripcion from tab_pri_estructura")or die("Error en la consulta SQL");
?>
<!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" xml:lang = "en" lang = "en">
<head>
<link rel = 'stylesheet' href = '../diseno/css/style.css' type = 'text/css' />
<title>Consorcio Uriapari Tocoma - Vaciados</title>
</head>
<body onload = "">
<div id = 'head'></div>
<div id="contenido" align="center">
<div id="botones" align="center">
<table width="231" border="0" bordercolor="#006633">
<tr>
<td width="36" height="34"><img src="../diseno/icons/32/New.png" width="32" height="32" /></td>
<td width="36"><img src="../diseno/icons/32/Edit.png" width="32" height="32" /></td>
                        
<td width="35"><img src="../diseno/icons/32/Save.png" width="32" height="32" onclick="guardarvaciado();"/></td>
                        
<td width="39"><img src="../diseno/icons/32/Search.png" width="32" height="32" /></td>
<td width="39"><img src="../diseno/icons/32/Remove.png" width="32" height="32" /></td>
<td width="20"><img src="../diseno/icons/32/LogOut.png" width="32" height="32" /></td>
</tr>
</table>
                   </div>
                  <fieldset id="formulario"><legend>Información de Vaciados</legend>
         <form>         
<div id= "datos_form" align="left">
<table width="200" border="0">
<tr>
<td>Codigo</td>
<td><input type="text" name="codigo" /></td>
</tr>
<tr>
<td>Nombre</td>
<td><input type="text" name="nombre" /></td>
</tr>
<tr>
<td valign="top">Descripción</td>
<td><textarea name="descripcion"></textarea></td>
</tr>
<tr>
<td>Fecha Inicio </td>
<td><select name="fecha_inicio" size="1">
                          <option value="">---Seleccione---</option> 
               <option value="">10/06/09</option>                                     
                           </select>
             </td>
</tr>
<tr>
<td>Fecha Fin </td>
<td><select name="fecha_fin" size="1">
                           <option value="">---Seleccione---</option> 
               <option value="">10/06/09</option>               
                              </select>
            </td>
</tr>
<tr>
<td>Hora Inicio </td>
<td><input type="text" name="hora_inicio" /></td>
</tr>
<tr>
<td>Hora Fin </td>
<td><input type="text" name="hora_fin" /></td>
</tr>
<tr>
<td>Presupuesto</td>
<td><select name="presupuesto">
                             <option value="">---Seleccione---</option> 
               <?php while($row=pg_fetch_array($presupuesto)){?>
               <option value="<?php echo $row['descripcion']?>">
                       <?php echo $row['descripcion']?></option>
               <?php...

1 Respuesta

Respuesta
1
Estas bastante confundido mi amigo. No debes escribir código php dentro de tags de javascript, porque te da un error de sintaxis. Lo que deberías hacer es guardar los datos que vas a enviar dentro de una forma html, esta forma debe tener un action digamos resul.php
En resul.php ahora si, escribes dentro de tags de php el código de javascript que tienes:
<?php
function guardarvaciado(){
     $codigo=$_POST['codigo'];
    $nombre=$_POST['nombre'];
    $descripcion=$_POST['descripcion'];
    $fecha_inicio=$_POST['fecha_inicio'];
    $fecha_fin=$_POST['fecha_fin'];
    $hora_inicio=$_POST['hora_inicio'];
    $hora_fin=$_POST['hora_fin']; 
    $presupuesto=$_POST['presupuesto'];
    $estructura=$_POST['estructura'];
    $query = pg_execute($db,"INSERT INTO tab_pri_vaciado(codigo_vaciado,nombre,descripcion,fecha_inicio,fecha_fin,hora_inicio,hora_fin,codigo_presupuesto,codigo_estructura)VALUES('".$codigo."','".$nombre."','".$descripcion."','".$fecha_inicio."','".$fecha_fin."','".$hora_inicio."','".$hora_fin."','".$presupuesto."','".$estructura."')");
     }
   echo('Los datos han sido guardados')
}
?>
Debes de tener en cuenta que php se ejecuta en el servidor, mientras que javascript se ejecuta en el lado cliente, de pronto por lo que estas usando el mismo equipo para servidor y cliente te confundes algo, pero debes tener los conceptos claros. Te sugiero leer unos cuantos tutoriales de envío de formularios, que consigues fácilmente en google.
Hola otra vez, gracias por responder, si debe ser esa mi confusión con php y javascript, pero al agregar la forma html, y un action resul.php, tendría que agregar un botón, tengo entendido al evento onclick es de javascript y para php debo usar
<input id="b1" type="button" onclick="location.href='mi_programa.php';" />, pero yo estoy con iconos llamando a la función
en mi caso podria ser
<td width="35"><img src="../diseno/icons/32/Save.png" width="32" height="32" onclick="location.href='resul.php';"/></td>
Gracias de antemano
Te recomiendo este link, para que conozcas un poco más el manejo de formularios.
http://www.webestilo.com/php/php09a.phtml

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas