PHP - Ayuda

   
Vista:

Ayuda

Publicado por Hector (24 intervenciones) el 23/01/2008 02:43:31
Hola amigos del foro les cuento que estoy realizando mi primera pagina web, en la cual he tenido el siguiente problema, que cuando detecta una caja vacia me manda un mensaje y este debe volver a la pagina de ingreso de datos me muestra e mensaje, pero no me retrocede hacia la pagina de ingreso, además si existe el usuario me da el mensaje correspondiente pero tampoco me funciona, así que les envío el codigo para que me ayuden en donde estoy fallando
<?
include "conexion.inc";
$conx_sitio= $conx_sitio = conexion();
$conx_bd= $conx_bd = conexion();

if( empty( $_POST['tx_nombre'] ) ) {
die( "Debes escribir un nombre de usuario" );
header("http://hola1.htm");
}
if( empty( $_POST['tx_rut'] ) ) {
die( "Debe ingresar su Nº de Rut" );
header ("Location: hola1.htm");
}
if( empty( $_POST['tx_clave1'] ) ) {
die( "Debe ingresar su Clave" );
header ("Location: hola1.htm");
}
if( empty( $_POST['tx_clave2'] ) ) {
die( "Debe reiterar su Clave" );
header ("Location: hola1.htm");
}
if ($tx_clave1!=$tx_clave2){
die( "La clave ingresada no corresponde" );
}
if( empty( $_POST['tx_cia'] ) ) {
die( "Debe ingresar su Cía. de Seguros" );
header ("Location: hola1.htm");
}
$csql=mysql_query("select * from ingreso where nombre_usuario='$tx_nombre' and clave_usuario='$tx_clave1'");
if (mysql_num_rows($csql)){
while ($row=@mysql_fetch_array($csql)){
//session_start();
session_register('nom_usu');

$nom_usu=$row['nombre_usuario'];
die( "Este Nombre de Usuario ya existe" );
header ("Location: hola1.htm");
}
}else{
$csql = "INSERT INTO ingreso(nombre_usuario, rut_usuario, clave_usuario, compañia)";
$csql.= " VALUES ('$tx_nombre','$tx_rut','$tx_clave1','$tx_cia')";
mysql_db_query("Liquidacion", $csql);
echo "La información ha sido almacenada";
}
?>
tambien sino es mucho pedir si es que se puede por que lo he visto en otras paginas, que de el mensaje una cierta cantidad de segundos y ahi vuelve hacia la pagina de ingreso, desde ya muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda

Publicado por manolo (6 intervenciones) el 23/01/2008 09:28:29
Si haces un "die" ya no puedes hacer nada más. Esa función muestra en la página el mensaje de texto que le pasas como parámetro y termina la ejecución del PHP.

Para hacer lo que dices al final se me ocurre utilizar la etiqueta "meta". En lugar de usar "die+header" usa la siguiente funcioncilla:

<?php
function redirigir ($url, $segundos, $mensaje){
?>
<html>

<head>

<title>Redirección</title>
<META http-equiv="refresh" content="<?=$segundos?>;URL=<?=$url?>">

</head>

<body bgcolor="#ffffff">

<center>
<?=$mensaje?>

<br /><br />

De no ser redirigido clicka <a href="<?=$url?>">aquí</a>

</center>

</body>

</html>
<?php
die;
}
?>

Pega esta función en cualquier parte de tu código PHP y luego en lugar de donde haces (por ejemplo):

die( "Debes escribir un nombre de usuario" );
header("http://hola1.htm");

Haz:
redirigir ("http://hola1.htm", 5, "Debes escribir un nombre de usuario");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda

Publicado por Hector (24 intervenciones) el 24/01/2008 01:56:50
Manolo se te agradece tu ayuda tan valiosa, segui tus consejos y funciono en forma inmediata el cual yo ni me imaginaba ese tipo de comandos y variales que se pueden utilizar, desde ya muchas gracias Manolo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar