Foros del Web » Programando para Internet » PHP »

Amigos Ayuda,, insercion a Bd, con php

Estas en el tema de Amigos Ayuda,, insercion a Bd, con php en el foro de PHP en Foros del Web. Hola que tal, seguro me recuerdan, ayer tenia una series de errores, que ustedes me ayudaron a corregir, y debido a eso: hice a lo ...
  #1 (permalink)  
Antiguo 05/08/2010, 08:38
Avatar de Javiera_tierna  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 1 mes
Puntos: 0
Exclamación Amigos Ayuda,, insercion a Bd, con php

Hola que tal, seguro me recuerdan, ayer tenia una series de errores, que ustedes me ayudaron a corregir, y debido a eso: hice a lo que me comprometi, a una programacion estructurada, les cuento:

1) separe la conexion a un archivo, config.php
2) la insercion en otro archivo, insertNcli.php
3) deje mi formulario solito, y solo le agregue mis include, llamandoa los otros archivos y tambien le deje las variables declaradas (cuando capturo el dato).

* para los que no saben mi problema le comento: tengo un formulario, con puros imput, de tipo texto (cajas de texto), y quiero que el usuario ingrese los datos y al apretar el boton se inserten en la bd mysql.

ya no me reclama nada el servidor local, asi que asumo que esta dentro de lo posible todo bien, y efectivamente cuando lleno el formulario, y aprieto el boton,
simplemente no hace nada, osea no lo inserta, y ahi es donde quiero solicitar su ayuda, les dejo el codigo simple:

** insertNcli *** aka esta la insercion hacia la base de datos **********

<?php
include_once("config.php");
//error_reporting(E_ALL);

function insertcli($nombre,$rut,$dv, $fecha_ingreso, $giro, $telefono1, $telefono2, $direccion, $fax1, $fax2, $region, $pagina_web, $provincia, $comentario, $comuna)//funcion para insertar datos.-
{
$ret=true;
$dbi = mysql_connect(constant("IP_SERVER"),constant("BD_U SER"),constant("BD_PASS"));//conexion.-
mysql_select_db(constant("BD_NAME"));

$query = "insert into cliente
values($nombre, $rut, $dv, $fecha_ingreso, $giro, $telefono1, $telefono2, $direccion, $fax1, $fax2, $region, $pagina_web, $provincia, $comentario, $comuna)";//insertando.-
//print $query;

mysql_query($query);
mysql_close($dbi);
return $ret;
};
?>
*******probe la parte del value con comillas simple y tampoco funciona*******

**** aka el fomulario***** les muestro solo lo importante**********

<?php
include_once("config.php");//aka llama al config.php,para que haga conexion.-

?>
<?php

if (isset($_POST["crea"]) && $_POST["crea"] =="Enviar")//primero evaluo que presiono el boton crear.-
{
$cnx = mysql_connect(constant("IP_SERVER"),constant("BD_U SER"),constant("BD_PASS"));//conexion.-
mysql_select_db("BD_NAME");
if(!$cnx){
Error_handler("Error al conectar a la Base de Datos",$cnx);
}
//inicio insert
include("insertNcli.php");//llama al insertcprod.php,ya que ahi esta la funcion que inserta.-

//variables a insertar para la insercion del cliente
$nombre = (!isset($_POST["txt_nomcli"]))?"":$_POST["txt_nomcli"];
$rut = (!isset($_POST["txt_rutcli"]))?"":$_POST["txt_rutcli"];
$dv = (!isset($_POST["txt_dvcli"]))?"":$_POST["txt_dvcli"];
$fecha_ingreso = (!isset($_POST["campo_fecha"]))?"":$_POST["campo_fecha"];
$giro = (!isset($_POST["txt_girocli"]))?"":$_POST["txt_girocli"];
$telefono1 = (!isset($_POST["txt_telecli"]))?"":$_POST["txt_telecli"];
$telefono2 = (!isset($_POST["txt_tele2cli"]))?"":$_POST["txt_tele2cli"];
$direccion = (!isset($_POST["txt_direcli"]))?"":$_POST["txt_direcli"];
$fax1 = (!isset($_POST["txt_faxcli"]))?"":$_POST["txt_faxcli"];
$fax2 = (!isset($_POST["txt_fax2cli"]))?"":$_POST["txt_fax2cli"];
$region = (!isset($_POST["txt_regicli"]))?"":$_POST["txt_regicli"];
$pagina_web = (!isset($_POST["txt_pwcli"]))?"":$_POST["txt_pwcli"];
$provincia = (!isset($_POST["txt_provicli"]))?"":$_POST["txt_provicli"];
$comentario = (!isset($_POST["txt_comencli"]))?"":$_POST["txt_comencli"];
$comuna = (!isset($_POST["txt_comucli"]))?"":$_POST["txt_comucli"];
error_reporting(E_ALL);//reporte el error.-

if (insertcli($nombre,$rut,$dv, $fecha_ingreso, $giro, $telefono1, $telefono2, $direccion, $fax1, $fax2, $region, $pagina_web, $provincia, $comentario, $comuna))
{
echo '<script language="javascript">
alert("Cliente Ingresado exitosamente");
</script>';
}
else
{
echo '<script language="javascript">
alert("Cliente NO Ingresado, volver a intentar.");
</script>';
}
//fin insert

}
?>
************************************************** **************

Necesito su ayuda de forma urgente plissss, tengo que sacar esto hoy,, si no me matan:

Lo raro es que no arroja ningun error, pero no lo logra insertar...

Eternamente Agradecida.....
  #2 (permalink)  
Antiguo 05/08/2010, 09:03
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Respuesta: Amigos Ayuda,, insercion a Bd, con php

Hola Javiera esta parte:

Código PHP:
$query "insert into cliente
values($nombre, $rut, $dv, $fecha_ingreso, $giro, $telefono1, $telefono2, $direccion, $fax1, $fax2, $region, $pagina_web, $provincia, $comentario, $comuna)"


deberia quedar asi asumiendo que lo que aumente son tus campos:

Código PHP:
$query "insert into cliente (nombre, rut, dv, fecha_ingreso, giro, telefono1, telefono2, direccion, fax1, fax2, region, pagina_web, provincia, comentario, comuna ) values('$nombre', '$rut', '$dv', '$fecha_ingreso', '$giro', '$telefono1', '$telefono2', '$direccion', '$fax1', '$fax2', '$region', '$pagina_web', '$provincia', '$comentario', '$comuna')" 

no entiendo por que haces nuevamente esta conexion:

Código PHP:
$dbi mysql_connect(constant("IP_SERVER"),constant("BD_U SER"),constant("BD_PASS"));//conexion.-
mysql_select_db(constant("BD_NAME")); 
si ya tienes el config.php

Saludos.

Última edición por ginitofl; 05/08/2010 a las 09:08 Razón: conexion
  #3 (permalink)  
Antiguo 05/08/2010, 09:41
Avatar de Javiera_tierna  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Amigos Ayuda,, insercion a Bd, con php

Lindo: respondo a sus dudas, porque si bien llamo a la libreria, no llamo a la conexion, por eso la hago, ahora asi aprendi,

agradesco mucho tus sugerencia, y las modifique, pero aprieto el boton enviar, y sigue sin hacer nada...........
  #4 (permalink)  
Antiguo 05/08/2010, 09:48
 
Fecha de Ingreso: enero-2008
Mensajes: 68
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Amigos Ayuda,, insercion a Bd, con php

Hola.

- Si no entendí mal, estás trabajando con 3 archivos: conexión, función y formulario.

Si es así, es necesario que en el formulario importes el archivo que tiene la función.
Código PHP:
Ver original
  1. <?php include "insNcli.php";?>

- En la función de insertar datos: En el momento de insertar datos a la BD, efectivamente, es necesario que utilices las comillas simples.

Si sigue sin suceder nada, podrías publicar el código del formulario HTML, ya que a veces pasa que uno se preocupa mucho del PHP y olvida algunos detalles importantes en el HTML (al menos a mi me ha pasado varias veces).

Saludos.
  #5 (permalink)  
Antiguo 05/08/2010, 10:00
Avatar de Javiera_tierna  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Amigos Ayuda,, insercion a Bd, con php

lindo adjunto nuevamente el archivo para insertar datos:

<?php
include_once("config.php");
//error_reporting(E_ALL);

function insertcli($nombre,$rut,$dv, $fecha_ingreso, $giro, $telefono1, $telefono2, $direccion, $fax1, $fax2, $region, $pagina_web, $provincia, $comentario, $comuna)//funcion para insertar datos.-
{
$ret=true;
$dbi = mysql_connect(constant("IP_SERVER"),constant("BD_U SER"),constant("BD_PASS"));//conexion.-
mysql_select_db(constant("BD_NAME"));

$query = "insert into cliente (nombre, rut, dv, fecha_ingreso, giro, telefono1, telefono2, direccion, fax1, fax2, region, pagina_web, provincia, comentario, comuna ) values('$nombre', '$rut', '$dv', '$fecha_ingreso', '$giro', '$telefono1', '$telefono2', '$direccion', '$fax1', '$fax2', '$region', '$pagina_web', '$provincia', '$comentario', '$comuna')" ;//insertando.-
//print $query;



mysql_query($query);
mysql_close($dbi);
return $ret;
};
?>
  #6 (permalink)  
Antiguo 05/08/2010, 10:02
Avatar de Javiera_tierna  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Amigos Ayuda,, insercion a Bd, con php

ahora adjunto parte del formulario:


<td height="40" colspan="2">Nombre del Cliente :
<input name="txt_nomcli" type="text" id="txt_nomcli" size="50" maxlength='100' align="middle"
value="<?php print (isset($_POST['txt_nomcli']))?$_POST['txt_nomcli']:'';?>"
onFocus="foco(this);"
onBlur="no_foco(this);"
style="border:1px solid #CCCCCC"/>
</td>
</tr>
<tr>
<td width="375">R.U.T :
<input name="txt_rutcli" type="text" id="txt_rutcli" size='7' maxlength='8' align="middle"
value="<?php print (isset($_POST['txt_rutcli']))?$_POST['txt_rutcli']:'';?>"
onFocus="foco(this);"
onBlur="no_foco(this);"
style="border:1px solid #CCCCCC"/>
-
<input name="txt_dvcli" type="text" id="txt_dvcli" size='1' maxlength='1' align="middle"
value="<?php print (isset($_POST['txt_dvcli']))?$_POST['txt_dvcli']:'';?>"
onFocus="foco(this);"
onBlur="no_foco(this);"
style="border:1px solid #CCCCCC"/>

</td>
<td width="375">Fecha de Ingreso :
<input type="text" name="campo_fecha" id="campo_fecha" size="8"
value="<?php print (isset($_POST['campo_fecha']))?$_POST['campo_fecha']:'';?>"
onFocus="foco(this);"
onBlur="no_foco(this);"
style="border:1px solid #CCCCCC"/>
<input style="cursor:pointer" type="button" id="lanzador" value="...">

<!-- script que define y configura el calendario-->
<script type="text/javascript">
Calendar.setup({
inputField : "campo_fecha", // id del campo de texto
ifFormat : "%d/%m/%Y", // formato de la fecha, cuando se escriba en el campo de texto
button : "lanzador", // el id del botón que lanzará el calendario
});
</script>
<!-- Fin Calendario -->
</td>
</tr>
<tr>
<td height="40">Giro de la Empresa :
<input name="txt_girocli" type="text" id="txt_girocli" size='30' maxlength='100' align="middle"
value="<?php print (isset($_POST['txt_girocli']))?$_POST['txt_girocli']:'';?>"
onFocus="foco(this);"
onBlur="no_foco(this);"
style="border:1px solid #CCCCCC"/>
  #7 (permalink)  
Antiguo 05/08/2010, 10:04
Avatar de Javiera_tierna  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Amigos Ayuda,, insercion a Bd, con php

y si son 3 archivos, uno el del formulario, solo le agrego las varibles definidas, y llamo a los otros 2 archivos.

el otro es donde esta mi conexion a la bd.

y el otro es donde esta la funcion para insertar en la bd,,, creo que por ahi debe estar el error.


Agradesco mucho tu colaboracion.
  #8 (permalink)  
Antiguo 05/08/2010, 10:06
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Respuesta: Amigos Ayuda,, insercion a Bd, con php

Javiera mejor enviame tus archivos y tu tabla y veo que es lo que pasa por que asi no nos pondremos de acuerdo, escribeme a mi msn que esta en mi perfil.
  #9 (permalink)  
Antiguo 05/08/2010, 10:07
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Amigos Ayuda,, insercion a Bd, con php

Cita:
Iniciado por Javiera_tierna Ver Mensaje
lindo adjunto nuevamente el archivo para insertar datos:

<?php
include_once("config.php");
//error_reporting(E_ALL);

function insertcli($nombre,$rut,$dv, $fecha_ingreso, $giro, $telefono1, $telefono2, $direccion, $fax1, $fax2, $region, $pagina_web, $provincia, $comentario, $comuna)//funcion para insertar datos.-
{
$ret=true;
$dbi = mysql_connect(constant("IP_SERVER"),constant("BD_U SER"),constant("BD_PASS"));//conexion.-
mysql_select_db(constant("BD_NAME"));

$query = "insert into cliente (nombre, rut, dv, fecha_ingreso, giro, telefono1, telefono2, direccion, fax1, fax2, region, pagina_web, provincia, comentario, comuna ) values('$nombre', '$rut', '$dv', '$fecha_ingreso', '$giro', '$telefono1', '$telefono2', '$direccion', '$fax1', '$fax2', '$region', '$pagina_web', '$provincia', '$comentario', '$comuna')" ;//insertando.-
//print $query;



mysql_query($query);
mysql_close($dbi);
return $ret;
};
?>

Esto
Código PHP:
}; 
No deberia llevar el ; al final. Quitaselo.
  #10 (permalink)  
Antiguo 05/08/2010, 10:19
Avatar de Javiera_tierna  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Amigos Ayuda,, insercion a Bd, con php

tienes toda la razon... muchas gracias.....

si chequeaste el archivo de insercion, y no tiene nada mas que eso, entonces estara el error en esta parte del formulario:

<?php
include_once("config.php");//aka llama al config.php,para que haga conexion.-

?>
<?php

if (isset($_POST["crea"]) && $_POST["crea"] =="Enviar")//primero evaluo que presiono el boton crear.-
{
$cnx = mysql_connect(constant("IP_SERVER"),constant("BD_U SER"),constant("BD_PASS"));//conexion.-
mysql_select_db("BD_NAME");
if(!$cnx){
Error_handler("Error al conectar a la Base de Datos",$cnx);
}
//inicio insert
?>
<?php include "insertNcli.php";?>//llama al insertNcli.php,ya que ahi esta la funcion que inserta.-
<?php
//variables a insertar para la insercion del cliente
$nombre = (!isset($_POST["txt_nomcli"]))?"":$_POST["txt_nomcli"];
$rut = (!isset($_POST["txt_rutcli"]))?"":$_POST["txt_rutcli"];
$dv = (!isset($_POST["txt_dvcli"]))?"":$_POST["txt_dvcli"];
$fecha_ingreso = (!isset($_POST["campo_fecha"]))?"":$_POST["campo_fecha"];
$giro = (!isset($_POST["txt_girocli"]))?"":$_POST["txt_girocli"];
$telefono1 = (!isset($_POST["txt_telecli"]))?"":$_POST["txt_telecli"];
$telefono2 = (!isset($_POST["txt_tele2cli"]))?"":$_POST["txt_tele2cli"];
$direccion = (!isset($_POST["txt_direcli"]))?"":$_POST["txt_direcli"];
$fax1 = (!isset($_POST["txt_faxcli"]))?"":$_POST["txt_faxcli"];
$fax2 = (!isset($_POST["txt_fax2cli"]))?"":$_POST["txt_fax2cli"];
$region = (!isset($_POST["txt_regicli"]))?"":$_POST["txt_regicli"];
$pagina_web = (!isset($_POST["txt_pwcli"]))?"":$_POST["txt_pwcli"];
$provincia = (!isset($_POST["txt_provicli"]))?"":$_POST["txt_provicli"];
$comentario = (!isset($_POST["txt_comencli"]))?"":$_POST["txt_comencli"];
$comuna = (!isset($_POST["txt_comucli"]))?"":$_POST["txt_comucli"];
error_reporting(E_ALL);//reporte el error.-

if (insertcli($nombre,$rut,$dv, $fecha_ingreso, $giro, $telefono1, $telefono2, $direccion, $fax1, $fax2, $region, $pagina_web, $provincia, $comentario, $comuna))
{
echo '<script language="javascript">
alert("Cliente Ingresado exitosamente");
</script>';
}
else
{
echo '<script language="javascript">
alert("Cliente NO Ingresado, volver a intentar.");
</script>';
}
//fin insert

}
?>

************************************************** ************************

Si lo pudiera chequear lo agradeceria mucho...

Atte.-
---------------------------
Javierita.-
  #11 (permalink)  
Antiguo 05/08/2010, 10:20
 
Fecha de Ingreso: enero-2008
Mensajes: 68
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Amigos Ayuda,, insercion a Bd, con php

Los inputs se ven bien, pero, donde defines el formulario, asegúrate de estar enviando los datos por el método POST.

En la función el mysql_query($query) agrega una condición "or" para el caso de que la consulta no se ejecute correctamente. Aquí podrías definir tu retorno como falso, para indicar que no se ejecutó.

Código PHP:
Ver original
  1. <?
  2. ....
  3.  
  4. mysql_query($query) or $ret=false;
  5. ?>
  #12 (permalink)  
Antiguo 05/08/2010, 10:28
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Respuesta: Amigos Ayuda,, insercion a Bd, con php

Javiera tu codigo resumido seria:

he quitado las conexiones de mas
Código PHP:
<?php
include_once("config.php");
//error_reporting(E_ALL);

function insertcli($nombre,$rut,$dv$fecha_ingreso$giro$telefono1$telefono2$direccion$fax1$fax2$region$pagina_web$provincia$comentario$comuna$dbi)//funcion para insertar datos.-
{
$ret=true;
$query "insert into cliente (nombre, rut, dv, fecha_ingreso, giro, telefono1, telefono2, direccion, fax1, fax2, region, pagina_web, provincia, comentario, comuna) values('$nombre', '$rut', '$dv', '$fecha_ingreso', '$giro', '$telefono1', '$telefono2', '$direccion', '$fax1', '$fax2', '$region', '$pagina_web', '$provincia', '$comentario', '$comuna')" ;

mysql_query($query,$dbi);
mysql_close($dbi);
return 
$ret;
};

// te faltaba llamar a la funcion que creaste y tambien le paso la variable de conexion
echo insertcli($nombre$rut$dv$fecha_ingreso$giro$telefono1$telefono2$direccion$fax1$fax2$region$pagina_web$provincia$comentario$comuna$dbi);

?>
  #13 (permalink)  
Antiguo 05/08/2010, 10:30
Avatar de Javiera_tierna  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Amigos Ayuda,, insercion a Bd, con php

Gracias por la sugerencia, ya la hice y no arroja nada de nada..

eso significa que ni siquiera estoy llegando al archivo insertNcli.php cierto ?
  #14 (permalink)  
Antiguo 05/08/2010, 10:44
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Amigos Ayuda,, insercion a Bd, con php

Cita:
Iniciado por ginitofl Ver Mensaje
Javiera tu codigo resumido seria:

he quitado las conexiones de mas
Código PHP:
<?php
include_once("config.php");
//error_reporting(E_ALL);

function insertcli($nombre,$rut,$dv$fecha_ingreso$giro$telefono1$telefono2$direccion$fax1$fax2$region$pagina_web$provincia$comentario$comuna$dbi)//funcion para insertar datos.-
{
$ret=true;
$query "insert into cliente (nombre, rut, dv, fecha_ingreso, giro, telefono1, telefono2, direccion, fax1, fax2, region, pagina_web, provincia, comentario, comuna) values('$nombre', '$rut', '$dv', '$fecha_ingreso', '$giro', '$telefono1', '$telefono2', '$direccion', '$fax1', '$fax2', '$region', '$pagina_web', '$provincia', '$comentario', '$comuna')" ;

mysql_query($query,$dbi);
mysql_close($dbi);
return 
$ret;
};

// te faltaba llamar a la funcion que creaste y tambien le paso la variable de conexion
echo insertcli($nombre$rut$dv$fecha_ingreso$giro$telefono1$telefono2$direccion$fax1$fax2$region$pagina_web$provincia$comentario$comuna$dbi);

?>
Eso va a devolver siempre true, por que $ret lo asignas al principio a true, pero luego no haces ninguna otra asignacion... quedaria mejor modificar esta linea
Código PHP:
mysql_query($query,$dbi); 
asi
Código PHP:
$ret mysql_query($query,$dbi); 
Por cierto, el codigo del fichero config.php, donde esta?
  #15 (permalink)  
Antiguo 05/08/2010, 10:46
 
Fecha de Ingreso: enero-2008
Mensajes: 68
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Amigos Ayuda,, insercion a Bd, con php

¿chekeaste bien el formulario completo del HTML?

sobre el archivo y la sugerencia que te dio ginitofl, no puedes llamar a la función en ese archivo, ya que ese archivo es de declaración y no de ejecución. Si la llamas ahí, el PHP te arrojará un error ya que no hay variables definidas para ejecutivar la función.

Sobre el paso de la variable de conexión, esto no es necesario. Lo que puedes hacer es recibir la variable $dbi como variable global.

Código PHP:
<?php
include_once("config.php");

function 
insertcli($nombre,$rut,$dv$fecha_ingreso$giro$telefono1$telefono2$direccion$fax1$fax2$region$pagina_web$provincia$comentario$comuna$dbi)//funcion para insertar datos.-
{
global 
$dbi;
$ret=true;
$query "insert into cliente (nombre, rut, dv, fecha_ingreso, giro, telefono1, telefono2, direccion, fax1, fax2, region, pagina_web, provincia, comentario, comuna) values('$nombre', '$rut', '$dv', '$fecha_ingreso', '$giro', '$telefono1', '$telefono2', '$direccion', '$fax1', '$fax2', '$region', '$pagina_web', '$provincia', '$comentario', '$comuna')" ;

mysql_query($query,$dbi) or $ret=false;
return 
$ret;
}

?>

Insisto en que chekees el form completo del HTML, desde la definición hasta el submit. Si no está haciendo nada, ni siquiera reenviándote a una página en blanco, el problema seguramente es del HTML
  #16 (permalink)  
Antiguo 05/08/2010, 10:55
Avatar de Javiera_tierna  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 1 mes
Puntos: 0
ok...gracias... la verdad lo he rebisado tanto que ya estoy loca...

pero creo que tienes razon.................simplemente no hace nada...


muchas gracias...... subire el formulario completo...por si le pillas algo.

entonces fcopacheco: que hago con la llamada de esa funcion que esta en el archivo del insert,,, solo la quito ?...

FCO PACHECO... yyy donde se fue........

aka le dejo mi formulario:

<?php
include_once("config.php");//aka llama al config.php,para que haga conexion.-

?>
<?php

if (isset($_POST["crea"]) && $_POST["crea"] =="Enviar")//primero evaluo que presiono el boton crear.-
{
$cnx = mysql_connect(constant("IP_SERVER"),constant("BD_U SER"),constant("BD_PASS"));//conexion.-
mysql_select_db("BD_NAME");
if(!$cnx){
Error_handler("Error al conectar a la Base de Datos",$cnx);
}
//inicio insert
?>
<?php include "insertNcli.php";?>//llama al insertNcli.php,ya que ahi esta la funcion que inserta.-
<?php
//variables a insertar para la insercion del cliente
$nombre = (!isset($_POST["txt_nomcli"]))?"":$_POST["txt_nomcli"];
$rut = (!isset($_POST["txt_rutcli"]))?"":$_POST["txt_rutcli"];
$dv = (!isset($_POST["txt_dvcli"]))?"":$_POST["txt_dvcli"];
$fecha_ingreso = (!isset($_POST["campo_fecha"]))?"":$_POST["campo_fecha"];
$giro = (!isset($_POST["txt_girocli"]))?"":$_POST["txt_girocli"];
$telefono1 = (!isset($_POST["txt_telecli"]))?"":$_POST["txt_telecli"];
$telefono2 = (!isset($_POST["txt_tele2cli"]))?"":$_POST["txt_tele2cli"];
$direccion = (!isset($_POST["txt_direcli"]))?"":$_POST["txt_direcli"];
$fax1 = (!isset($_POST["txt_faxcli"]))?"":$_POST["txt_faxcli"];
$fax2 = (!isset($_POST["txt_fax2cli"]))?"":$_POST["txt_fax2cli"];
$region = (!isset($_POST["txt_regicli"]))?"":$_POST["txt_regicli"];
$pagina_web = (!isset($_POST["txt_pwcli"]))?"":$_POST["txt_pwcli"];
$provincia = (!isset($_POST["txt_provicli"]))?"":$_POST["txt_provicli"];
$comentario = (!isset($_POST["txt_comencli"]))?"":$_POST["txt_comencli"];
$comuna = (!isset($_POST["txt_comucli"]))?"":$_POST["txt_comucli"];
error_reporting(E_ALL);//reporte el error.-

if (insertcli($nombre,$rut,$dv, $fecha_ingreso, $giro, $telefono1, $telefono2, $direccion, $fax1, $fax2, $region, $pagina_web, $provincia, $comentario, $comuna))
{
echo '<script language="javascript">
alert("Cliente Ingresado exitosamente");
</script>';
}
else
{
echo '<script language="javascript">
alert("Cliente NO Ingresado, volver a intentar.");
</script>';
}


}
?>


chicos: ya descubri algo importante... ya lo envia,, solo me arroja el siguente error.

Warning: Missing argument 16 for insertcli() in c:\program files\easyphp1-8\www\prototipos\insertNcli.php on line 4

que esta en el archivo de insercion linea 4..

es para el chiste saben que le correji para que se enviara:

en el boton de enviar, le tengo tipo botton y no submit...

aunque el tipo boton se lo tengo por fuerza para correr una funcion que valida las cajas de texto,,pero filo luego lo veo......

ya amigos... me alega por la funcion que esta en el este archivo:

Alguien sabe por que ?

<?php
include_once("config.php");


Warning: Missing argument 16 for insertcli() in c:\program files\easyphp1-8\www\prototipos\insertNcli.php on line 4

************************************************** *******************
//por esta funcion algo reclama
function insertcli($nombre,$rut,$dv, $fecha_ingreso, $giro, $telefono1, $telefono2, $direccion, $fax1, $fax2, $region, $pagina_web, $provincia, $comentario, $comuna, $dbi)//funcion para insertar datos.-
{
global $dbi;
$ret=true;
$query = "insert into cliente (nombre, rut, dv, fecha_ingreso, giro, telefono1, telefono2, direccion, fax1, fax2, region, pagina_web, provincia, comentario, comuna) values('$nombre', '$rut', '$dv', '$fecha_ingreso', '$giro', '$telefono1', '$telefono2', '$direccion', '$fax1', '$fax2', '$region', '$pagina_web', '$provincia', '$comentario', '$comuna')" ;

mysql_query($query,$dbi) or $ret=false;
return $ret;
}

?>

Última edición por GatorV; 05/08/2010 a las 14:45
  #17 (permalink)  
Antiguo 05/08/2010, 12:10
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Amigos Ayuda,, insercion a Bd, con php

Warning: Missing argument 16 for insertcli() in c:\program files\easyphp1-8\www\prototipos\insertNcli.php on line 4

El propio mensaje de error te lo dice, la funcion insertcli() necesita 16 argumentos, pero tu "solo" le envias 15.

Te recomiendo una cosa, en lugar de enviarle tantas variables, enviale un array asociativo, te sera mas comodo de mantener.

Por otro lado, tambien te recomiendo que en el action del formulario le pongas el nombre del fichero al que quieres que se dirija.

Saludos
  #18 (permalink)  
Antiguo 05/08/2010, 13:08
Avatar de Javiera_tierna  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Amigos Ayuda,, insercion a Bd, con php

Agradesco tus recomendaciones.....

Muchas gracias....

esta casi que sale.....

Gracias tambien a todos, quienes colaboraron a disminuir los errores.....
  #19 (permalink)  
Antiguo 05/08/2010, 15:35
 
Fecha de Ingreso: junio-2010
Ubicación: Cali
Mensajes: 22
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Amigos Ayuda,, insercion a Bd, con php

Hola mira te dejo unos codigos depronto te sirven!

conexion.php
Código PHP:
<?php
$servidor
="localhost"
$usuario="root";
$clave="";
$base="tubase";
mysql_connect($servidor,$usuario,$clave);
mysql_select_db($base);
?>
formulario.php
Código PHP:
<?php include("conexion.php");?>
<body>
<?php
//cuandopresioneenviar
if($_POST){
//rescato variables
$cedula=$_POST['cedula'];
$nombre=$_POST['nombre'];
$telefono=$_POST['telefono'];
$correo=$_POST['correo'];
$genero=$_POST['genero'];
/*********************************************************
Instruccion SQL parainsertar los Datos.
*********************************************************/
mysql_query("insert into persona values('$cedula','$nombre','$telefono','$correo','$genero')")or die(mysql_error());
echo
"<h1>Usuario ingresado a la base de datos</h1>";
}

?>
<form name="form1" method="post" action="">
  <p>Cedula:<br>
    <input name="cedula" type="text" id="cedula">
    <br> Nombre:<br>
    <input name="nombre" type="text" id="nombre">
    <br> Telefono:<br>
    <input name="telefono" type="text" id="telefono">
    <br> Correo:<br>
    <input name="correo" type="text" id="correo">
    <br> Genero:<br>    
Mascuino
    <input name="genero" type="radio" value="m">
Femenino
    <input name="genero" type="radio" value="f">
    <br>
    <input name="Enviar" type="submit" id="Enviar" value="Enviar">
      </p>
</form>
Espero te sean de ayuda.
  #20 (permalink)  
Antiguo 05/08/2010, 20:20
 
Fecha de Ingreso: enero-2008
Mensajes: 68
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Amigos Ayuda,, insercion a Bd, con php

Hola.
Disculpa, pero me tuve que salir de la casa, por eso no te respondí.

Bueno, creo que con el submit todo se arregla.
Sobre el problema de la función, efectivamente es que te falta un argumento. Te recomiendo que dejes la función de esta manera:

Código PHP:
<?php
include_once("config.php");

function 
insertcli($nombre,$rut,$dv$fecha_ingreso$giro$telefono1$telefono2$direccion$fax1$fax2$region$pagina_web$provincia$comentario$comuna)//funcion para insertar datos.-
{
global 
$dbi;
$ret=true;
$query "insert into cliente (nombre, rut, dv, fecha_ingreso, giro, telefono1, telefono2, direccion, fax1, fax2, region, pagina_web, provincia, comentario, comuna) values('$nombre', '$rut', '$dv', '$fecha_ingreso', '$giro', '$telefono1', '$telefono2', '$direccion', '$fax1', '$fax2', '$region', '$pagina_web', '$provincia', '$comentario', '$comuna')" ;

mysql_query($query,$dbi) or $ret=false;
return 
$ret;
}

?>
Tiene 15 argumentos, por tanto no deberías tener problemas.
Ah, y efectivamente debes eliminar el "echo" del que te hablé antes.


Para validar el dato, puedes llamar a la función que valida agregando el argumento onsubmit en la etiqueta form, de esta manera:

Código HTML:
<form ...... otras declaraciones ....... onsubmit="return nombre_funcion_javascript()"> 
El return indicará si el envío de los datos deberá o no deberá realizarse.

Para esto debes retornar un valor true o false desde la función, dependiendo de si el envío de los datos puede efectuarse o no.

Espero que te sirva de ayuda. Disculpa la tardanza.
  #21 (permalink)  
Antiguo 06/08/2010, 09:20
Avatar de Javiera_tierna  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 1 mes
Puntos: 0
Exclamación A solo 2 errores para Insertar,, Ayuda pliss

Hola amigos foreros: primero que todo, agradesco a muchos de usted, por compartir sus experiencias con lo que tienen menos...

Les cuento el localhost reclama por 2 lineas y cuando reclama dice asi:

************************************************** *****************
Warning: Mysql_query(): Supplied argument is not valid Mysql-Link resource in:
c://insertNcli.php on line 22


Warning: Mysql_affected_rows(): Supplied argument is not valid Mysql-Link resource in:
c://insertNcli.php on line 24

************************************************** *****************

Aqui les dejo el archivo insertNcli.php, les comente las lineas de reclamo..
haber si le pillan el error:

<?php
include_once("config.php");//aka llama al config.php,para que haga conexion.-

$nombre = (!isset($_POST["txt_nomcli"]))?"":$_POST["txt_nomcli"];
$rut = (!isset($_POST["txt_rutcli"]))?"":$_POST["txt_rutcli"];
$dv = (!isset($_POST["txt_dvcli"]))?"":$_POST["txt_dvcli"];
$fecha_ingreso = (!isset($_POST["campo_fecha"]))?"":$_POST["campo_fecha"];
$giro = (!isset($_POST["txt_girocli"]))?"":$_POST["txt_girocli"];
$telefono1 = (!isset($_POST["txt_telecli"]))?"":$_POST["txt_telecli"];
$telefono2 = (!isset($_POST["txt_tele2cli"]))?"":$_POST["txt_tele2cli"];
$direccion = (!isset($_POST["txt_direcli"]))?"":$_POST["txt_direcli"];
$fax1 = (!isset($_POST["txt_faxcli"]))?"":$_POST["txt_faxcli"];
$fax2 = (!isset($_POST["txt_fax2cli"]))?"":$_POST["txt_fax2cli"];
$region = (!isset($_POST["txt_regicli"]))?"":$_POST["txt_regicli"];
$pagina_web = (!isset($_POST["txt_pwcli"]))?"":$_POST["txt_pwcli"];
$provincia = (!isset($_POST["txt_provicli"]))?"":$_POST["txt_provicli"];
$comentario = (!isset($_POST["txt_comencli"]))?"":$_POST["txt_comencli"];
$comuna = (!isset($_POST["txt_comucli"]))?"":$_POST["txt_comucli"];

$query="INSERT INTO cliente (nombre, rut, dv, fecha_ingreso, giro, telefono1, telefono2, direccion, fax1, fax2, region, pagina_web, provincia, comentario, comuna) VALUES ('$nombre', '$rut', '$dv', '$fecha_ingreso', '$giro', '$telefono1', '$telefono2', '$direccion', '$fax1', '$fax2', '$region', '$pagina_web', '$provincia', '$comentario', '$comuna')";
//echo $query;
$sqlquery=mysql_query($query,$dbi);// por esta reclama el seridor

if(mysql_affected_rows($dbi))// y por esta tambien,,, aveces sale como ingresado y no se ingresa realmente..
{
?>
<script language="javascript">
alert("Cliente Nuevo Ingresado Exitosamente.");
location.href="cliente.php";
</script>
<?

} else
{
?>
<script language="javascript">
alert("Error al Ingresar los Datos");

************************************************** *************

de todas formas agradesco mucho, su ayuda....... estare atenta a sus comentarios.
  #22 (permalink)  
Antiguo 06/08/2010, 09:49
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: Amigos Ayuda,, insercion a Bd, con php

$sqlquery=mysql_query($query,$dbi);// por esta reclama el seridor
Revisa tu archivo config.php por que creo que el nombre no coincide


if(mysql_affected_rows($dbi))// y por esta tambien,,, aveces sale como ingresado y no se ingresa realmente..

pon el $sqlquery a ver que sucede

espero que te sirva saludos
  #23 (permalink)  
Antiguo 06/08/2010, 09:53
Avatar de Javiera_tierna  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Amigos Ayuda,, insercion a Bd, con php

ya lo correji amigo gacias,,,, lo mas chistoso es que pasa todas las validaciones,, y al final me sale el mensaje de cliente insertado exitosamente, y reviso la base de datos, y no hay nada...

¿ que puedo hacer ?

Ayudenme por favor

Etiquetas: bd
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 14:11.