Por favor, disculpen que postee tanta cantidad de codigo, es que tengo un erroy muy raro y no se que pueda ser.
Cuando hago correr la siguiente pagina, pasa bien por el case "", me deja ingresar los datos,pero cuando envio el formulario, aparece el cartel de windows
"Apache HTTP Server ha detectado un problema y debe cerrarse".
Lo fui frenando con exit y al parece al llegar a cualquiera de los
if (insertar.. (marqué con rojo)
es que tira dicha falla.
descarto que sea un error en la clase pq de la misma manera que la utilizo aca, la vengo utilizando en otros script. ademas, para probar, copié uno de los insertar y lo hice correr solo en otro archivo y funciona.
mil gracias por lo que puedan aportarme, necesito una mano por favor.
Código PHP:
<?require_once("negocios/clsFunciones.php"); //clase funciones
require_once("datos/clsConnection.php"); //clase funciones
$action=$_GET[action];
switch ($action){
case "":
?>
<form action="registrarPagosCCClientes2.php?action=1" method="POST">
<?
if($_POST[chkEfectivo]){
echo "efectivo:<input type=\"text\" name=\"efectivo\"><br>";
}
if ($_POST[chkCheques]){
$cantidad=$_POST[cantidadCheques];
?>
<table width="70%"><tr><td>CHEQUES</td></tr>
<?
for($i=1;$i<=$cantidad;$i++){?>
<tr><td>Número:<input type="text" name="numeroCheque<?echo $i?>"></td>
<td>Banco<input type="text" name="bancoCheque<?echo $i?>"></td>
<td>Cuenta<input type="text" name="cuentaCheque<?echo $i?>"></td>
<td>Razon<input type="text" name="razonCheque<?echo $i?>"></td>
<td>FechaPago<input type="text" name="fechaCheque<?echo $i?>"></td>
<td>Importe<input type="text" name="importeCheque<?echo $i?>"></td>
<input type="hidden" name="cantidad" value="<?echo $cantidad;?>">
<input type="hidden" name="numidFactura" value="<?echo $_POST[numidFactura];?>">
<input type="hidden" name="numidCliente" value="<?echo $_POST[numidCliente];?>">
<input type="hidden" name="cantidad" value="<?echo $cantidad;?>">
</tr>
<?
}
?>
<tr><td><input type="submit" value="Ingresar Pago"></td></tr>
</table></form>
<?
}
break;
case "1":
//*********insertar en tabla facturas************//
function insertar($table,$fieldList,$fieldValues,$objConn){
$objFunc=new funciones();
$objConn->LetTable($table);
$objConn->LetFieldList($fieldList);
$objConn->LetFieldValues($fieldValues);
$objConn->conectar();
if ($objConn->insertar()):
$insertado= true;
else:
$insertado=false;
endif;
return $insertado;
}
//pasarle los parametros para modificar stock
function modificar($table,$id,$fieldList,$fieldValues,$objConn){
$objConn->LetTable($table);
$objConn->LetFieldList($fieldList);
$objConn->LetFieldValues($fieldValues);
$objConn->LetWhere("where id=".$id);
$objConn->conectar();
if ($objConn->modificar()==false):
echo "ocurrió un error al intentar comprometer stock";
endif;
}
$objFunc=new funciones();
$objConn=new conectarMySQL("127.0.1.1","big_User","tarlipes","user");
$objConn->conectar();
$idCliente=$_POST["numidCliente"];
$idFactura=$_POST["numidFactura"];
//agrego elrecibo
$numeroRecibo=$objFunc->devuelveUnValor("tb_ultimorecibo","id","1","ultimoRecibo")+1;
//aumentarrecibo en 1
$fieldList="idFactura,idCliente,numeroRecibo";
$fieldValues="$idFactura,$idCliente,$numeroRecibo";
[COLOR="Red"] if (insertar("tb_recibosencabezado",$fieldList,$fieldValues,$objConn)==false){
Echo "ocurrió un error al insertar pedido";
exit;
}[/COLOR]
//tomo el ultimo id del recibo
$query="select id from tb_recibosEncabezado order by id desc";
$objConn->consultar($query);
if($row=$objConn->obtendatos()) {
$idReciboEncabezado=$row[id];
}
//tomolas variables del post
$efectivo=$_POST["efectivo"];
if ($_POST[efectivo]!=""){
//decremento el monto efectivo de lo pendiente de asignacion
$totalRecibo=$efectivo;
//agregodetalles reCibo por la parde del efectivo
$fieldList="idReciboEncabezado,tipoPago,idDocumento,importe";
$fieldValues="$idReciboEncabezado,'ef','0',$efectivo";
if (insertar("tb_recibosDetalle",$fieldList,$fieldValues,$objConn)==false){
Echo "ocurrió un error al insertar pedido";
exit;
}
}
$numidFactura=$_POST[numidFactura];
$numidCliente=$_POST[numidCliente];
//registro uno a uno los cheques en la tabla de cheques
for($i=1;$i<=$_POST["cantidad"];$i++){
$numeroCheque=$_POST[numeroCheque.$i];
$bancoCheque=$_POST[bancoCheque.$i];
$cuentaCheque=$_POST[cuentaCheque.$i];
$razonCheque=$_POST[numeroCheque.$i];
$fechaCheque=$_POST[fechaCheque.$i];
$importeCheque=$_POST[importeCheque.$i];
$totalRecibo+=$importeCheque;
//regitro cheques
$fieldList="idFactura,idCliente,numeroCheque,bancoCheque,cuentaCheque,razonCheque,fechaCheque,importeCheque";
$fieldValues="$idFactura,$idCliente,'$numeroCheque','$bancoCheque','$cuentaCheque','$razonCheque','$fechaCheque',$importeCheque";
//
if (insertar("tb_registrocheques",$fieldList,$fieldValues,$objConn)==false){
Echo "ocurrió un error al insertar pedido";
exit;
}
//obtengo ultimo idCheque
$query="select id from tb_registrocheques order by id desc";
$objConn->consultar($query);
if($row=$objConn->obtendatos()) {
$idCheque=$row[id];
}
//registro detalles del recibo
$fieldList="idReciboEncabezado,tipoPago,idDocumento,importe";
$fieldValues="$idReciboEncabezado,'ch','$idCheque',$importeCheque";
if (insertar("tb_recibosdetalle",$fieldList,$fieldValues,$objConn)==false){
Echo "ocurrió un error al insertar pedido";
exit;
}
//decremento el saldo pendiente de acreditar en facturas
}
modificar("tb_facturasencabezado",$idFactura,"numeroFactura","pendienteAcreditar".-$totalRecibo,$objConn);
//actualizo cuenta corriente clientes
$fieldList="idCliente,documento,idDocumento,adocumento,aidDocumento,haber";
$fieldValues="$idCliente,'rc',$numeroRecibo,'fc',$numeroFactura,$totalRecibo'";
if (insertar("tb_cuentacorrienteclientes",$fieldList,$fieldValues,$objConn)==false){
Echo "ocurrió un error al insertar cc";
exit;
}
break;}