No se ejecuta header
Estoy desarrollando una pequeña aplicación web con php que pide un uemro de cliente y hace una consulta sobre las base de datos, pero no entiendo como este código no se ejecuta cuando la cuenta no existe en la base de datos. No me muestra el mensaje y sigue hasta el código html y me da error ya que el vector o matriz no tiene datos, mi idea es que salte con header a la página que indico, pero no lo hace, que estoy haciendo mal, soy un programador novato en php.
Código
<?php
//conexion a base de datos
$conn = new COM("ADODB.Connection");
$conn->Open('Provider=VFPOLEDB.1;Data Source="c:\vfp\tarjetas\entregascod.dbc"');
if(!$conn){
header("Location:mensajeconexion.php");
$conn->Close();
echo "<script languaje='javascript' type='text/javascript'>window.history.back();</script>";
}
else {
$cuentas = strtoupper($_REQUEST['cuenta']);
$sql = &$conn->Execute("select * from movtar where movtar.nrocta = '".$cuentas."'");
$cuentafor = $sql->Fields["nrocta"];
$nombrefor = $sql->Fields["nombre"];
$direccionfor = $sql->Fields["dir"];
// evaluar resultado de consulta
// $resultado = $sql->recordcount();
// esto es lo que no se ejecuta
if(!$sql) {
header("Location:mensajeregistro.php");
$conn->Close();
echo "<script languaje='javascript' type='text/javascript'>window.history.back ();</script>";
}
?>
<!DOCTYPE HTML>
<html>
<style type="text/css">
#mostrar #tabla1 {
background-color: #CFF;
color: #000;
}
#mostrar table {
color: #000;
background-color: #CFF;
}
</style>
<body>
<form action="" method="post" name="mostrar" id="mostrar">
<h1>Resultado de Consulta</h1>
<table width="726" border="1" align="left" id="tabla1">
<tr>
<td width="337" height="23"><div align="left">
Y la linea de abajo me da un error ya que este elemento no tiene nada, porque la cuenta no existe en la base de datos
<?php echo $cuentafor;?>
Código
<?php
//conexion a base de datos
$conn = new COM("ADODB.Connection");
$conn->Open('Provider=VFPOLEDB.1;Data Source="c:\vfp\tarjetas\entregascod.dbc"');
if(!$conn){
header("Location:mensajeconexion.php");
$conn->Close();
echo "<script languaje='javascript' type='text/javascript'>window.history.back();</script>";
}
else {
$cuentas = strtoupper($_REQUEST['cuenta']);
$sql = &$conn->Execute("select * from movtar where movtar.nrocta = '".$cuentas."'");
$cuentafor = $sql->Fields["nrocta"];
$nombrefor = $sql->Fields["nombre"];
$direccionfor = $sql->Fields["dir"];
// evaluar resultado de consulta
// $resultado = $sql->recordcount();
// esto es lo que no se ejecuta
if(!$sql) {
header("Location:mensajeregistro.php");
$conn->Close();
echo "<script languaje='javascript' type='text/javascript'>window.history.back ();</script>";
}
?>
<!DOCTYPE HTML>
<html>
<style type="text/css">
#mostrar #tabla1 {
background-color: #CFF;
color: #000;
}
#mostrar table {
color: #000;
background-color: #CFF;
}
</style>
<body>
<form action="" method="post" name="mostrar" id="mostrar">
<h1>Resultado de Consulta</h1>
<table width="726" border="1" align="left" id="tabla1">
<tr>
<td width="337" height="23"><div align="left">
Y la linea de abajo me da un error ya que este elemento no tiene nada, porque la cuenta no existe en la base de datos
<?php echo $cuentafor;?>
1 Respuesta
Respuesta de Jorge Vila
1