Foros del Web » Programando para Internet » PHP »

Notificación de errores en pagina con php

Estas en el tema de Notificación de errores en pagina con php en el foro de PHP en Foros del Web. Buenas estoy empezando en el mundo de php,estoy armando un ejercico en el cual a travez de un formulario el usuario se registraria, recibiría un ...
  #1 (permalink)  
Antiguo 17/12/2011, 18:59
Avatar de fvz676fvz  
Fecha de Ingreso: junio-2011
Mensajes: 24
Antigüedad: 12 años, 9 meses
Puntos: 1
Pregunta Notificación de errores en pagina con php

Buenas estoy empezando en el mundo de php,estoy armando un ejercico en el cual a travez de un formulario el usuario se registraria, recibiría un mail de activación etc,arme el formulario:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="CFVZ666" />
<link rel="stylesheet" type="text/css" href="estilos.css" media="screen"/>


<title>Formulario registro</title>
</head>

<body>
<div class="contenedora">
<div class="Form">
<h2>Formulario de registro</h2>
<form action="registro.php" method="post" name="form_reg" id="Form_Reg">

<label class="text_web">Nombre</label>
<input class="text"
type="text"
name="name"
id="Nom"
value=""
tabindex="1"/>


<label class="text_web">Nombre de usuario</label>
<input class="text"
type="text"
name="username"
id="Nom_u"
value=""
tabindex="1"/>

<label class="text_web">Contraseña</label>
<input class="text"
type="password"
name="password1"
id="pass"
value=""
tabindex="1"/>

<label class="text_web">Repetir contraseña</label>
<input class="text"
type="password"
name="password2"
id="pass_c"
value=""
tabindex="1"/>

<label class="text_web">E-mail</label>
<input class="text"
type="text"
name="email"
id="e_mail"
value=""
tabindex="1"/>

<label>
<input class="submit"
type="submit"
name="Enviar"
value="Enviar formulario"
tabindex="6"/>
<input class="submit"
type="reset"
value="Cancelar"/></label>

</form>
</div>
</div>
</body>
</html>

Le di un estilo visual básico:

body {background-color: #000000;}

h2 {color:#BDBBBB;
border-bottom: solid;
border-bottom-width: 2px;
border-bottom-color:#BDBBBB ;}

.contenedora {position: relative;
width: 1024px;
height: 600px;
top: 0px;
margin-left: auto;
margin-right: auto;}

.Form {position:relative;
width: 410px;
height: 450px;
top: 50px;
margin-left: auto;
margin-right: auto;
}

.text {background-color:#393939;
width: 400px;
border: solid;
border-color: #393939;
font-family: arial,verdana;
font-size: 14px;
font-style: italic;
color: #BDBBBB;}

.text_web {font-family: arial,verdana;
font-size: 16px;
font-style: italic;
color: #BDBBBB;}

.botones {text-align: right;
margin-right: 0px;
margin-left: 10px;
margin-top: 15px;}

.text_web2{font-family: arial,verdana;
font-size: 12px;
font-style: italic;
color: #BDBBBB;
margin-left: 20px;}

y estoy empezando a armar el control del formulario en un php externo:
<?php
//Establecer conexión
include "SetConexion.inc";


$nom = $_POST['name'];

if (empty($nom )|| strlen($nom) < 3){echo('verifique su nombre,este no puede ser menor de 3 digitos');}
else { echo ' gracias';}

?>
La pregunta es la siguiente, quiero que si el usuario no ingresa un dato o el dato no sirve xq por ejemplo el mail ya esta registrado, me aparezca el mensaje de error en la parte del formulario correspondiente, agradezco su colaboración,saludos
  #2 (permalink)  
Antiguo 17/12/2011, 19:55
 
Fecha de Ingreso: octubre-2010
Mensajes: 43
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Notificación de errores en pagina con php

Hola amigo para eso te recomiendo usar javascript y algo que es llamado ajax.... igualmente se puede hacer con php yo haria algo asi....


<?php
//Establecer conexión
include "SetConexion.inc";


$nom = $_POST['name'];

if (empty($nom )|| strlen($nom) < 3){header("Location: nombredelapaginadondetienestuformulario.php?error= 1");}
else { echo "todo ok"; }



?>


con header podras redireccionar al usuario de nuevo al formuario y agregando una variable por url llamada error con el valor de 1 por medio de .php?error=1

entonces lo que hacemos es un if en la pagina donde esta tu form algo como

<?php

if($_GET["error"]==1){

echo "corrige el nombre por favor";

}


espero se entienda saludos....

?>
  #3 (permalink)  
Antiguo 17/12/2011, 20:06
Avatar de fvz676fvz  
Fecha de Ingreso: junio-2011
Mensajes: 24
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Notificación de errores en pagina con php

Gracias por la explicacion, voy a probar, gracias saludos
  #4 (permalink)  
Antiguo 17/12/2011, 20:59
Avatar de fvz676fvz  
Fecha de Ingreso: junio-2011
Mensajes: 24
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Notificación de errores en pagina con php

No entiendo por que, $_POST['name']; y despues con $_GET,intente probarlo y no pude, [ego el codigo:

<?php $nom = $_POST['name'];

if (empty($nom )|| strlen($nom) < 3){header("Location:index.php?error== 1");}
else { echo ' gracias';} ?>

<!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>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="CFVZ666" />
<link rel="stylesheet" type="text/css" href="estilos.css" media="screen"/>


<title>Formulario registro</title>
</head>

<body>
<div class="contenedora">
<div class="Form">
<h2>Formulario de registro</h2>
<form action="index.php" method="post" name="form_reg" id="Form_Reg">

<label class="text_web">Nombre <?php
if($_POST["error"]=1){

echo "corrige el nombre por favor";

}
?></label>
<input class="text"
type="text"
name="name"
id="Nom"
value=""
tabindex="1"/>



<label class="text_web">Nombre de usuario</label>
<input class="text"
type="text"
name="username"
id="Nom_u"
value=""
tabindex="1"/>

<label class="text_web">Contraseña</label>
<input class="text"
type="password"
name="password1"
id="pass"
value=""
tabindex="1"/>

<label class="text_web">Repetir contraseña</label>
<input class="text"
type="password"
name="password2"
id="pass_c"
value=""
tabindex="1"/>

<label class="text_web">E-mail</label>
<input class="text"
type="text"
name="email"
id="e_mail"
value=""
tabindex="1"/>

<label>
<input class="submit"
type="submit"
name="Enviar"
value="Enviar formulario"
tabindex="6"/>
<input class="submit"
type="reset"
value="Cancelar"/></label>

</form>
</div>
</div>
</body>
</html>

La pagina no carga me da :

La página no está redirigiendo adecuadamente

Firefox ha detectado que el servidor está redirigiendo la solicitud a esta dirección de una manera en la que nunca terminará.
  #5 (permalink)  
Antiguo 17/12/2011, 21:05
 
Fecha de Ingreso: octubre-2010
Mensajes: 43
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Notificación de errores en pagina con php

estas usando doble "=" es solo un "="... header("Location:index.php?error== 1"); debe de ser asi

header("Location:index.php?error=1");

ademas se usa $_GET["error"] por que estas leyendo una variable por url se usa get para url y post para valores internos como el formulario prueba y me dices.... saludos
  #6 (permalink)  
Antiguo 17/12/2011, 21:26
Avatar de fvz676fvz  
Fecha de Ingreso: junio-2011
Mensajes: 24
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Notificación de errores en pagina con php

Corregí el doble igual y el tema de Post y Get pero me sigue dando el mismo error,disculpa mi ignorancia, saludos
  #7 (permalink)  
Antiguo 17/12/2011, 21:45
 
Fecha de Ingreso: octubre-2010
Mensajes: 43
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Notificación de errores en pagina con php

no no te preocupes mmm tienes dos paginas?
  #8 (permalink)  
Antiguo 17/12/2011, 22:16
Avatar de fvz676fvz  
Fecha de Ingreso: junio-2011
Mensajes: 24
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Notificación de errores en pagina con php

No solo prové poner todo en la misma pagina para hacer mas facil la prueba y lograr intepretar el código y despues seguir con lo que estoy haciendo, saludos y muchas gracias
  #9 (permalink)  
Antiguo 17/12/2011, 22:30
 
Fecha de Ingreso: octubre-2010
Mensajes: 43
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Notificación de errores en pagina con php

no amigo debes de usar dos paginas una llamada index.php donde tengas tu form y el if donde muestra el mensaje de error y otra llamada mm digamos proceso.php en esa pones tu if donde tienes el header y en index en el form llamar al action del form como proceso.php
y listo te deberia de funcionar
  #10 (permalink)  
Antiguo 18/12/2011, 06:14
Avatar de fvz676fvz  
Fecha de Ingreso: junio-2011
Mensajes: 24
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Notificación de errores en pagina con php

Si ya habia provado asi:<form action="registro.php" method="post" name="form_reg" id="Form_Reg">

<label class="text_web">Nombre <?php
if($_GET["error"]=1){

echo "corrige el nombre por favor";

}
?></label>
<input class="text"
type="text"
name="name"
id="Nom"
value=""
tabindex="1"/>



<label class="text_web">Nombre de usuario</label>
<input class="text"
type="text"
name="username"
id="Nom_u"
value=""
tabindex="1"/>

<label class="text_web">Contraseña</label>
<input class="text"
type="password"
name="password1"
id="pass"
value=""
tabindex="1"/>

<label class="text_web">Repetir contraseña</label>
<input class="text"
type="password"
name="password2"
id="pass_c"
value=""
tabindex="1"/>

<label class="text_web">E-mail</label>
<input class="text"
type="text"
name="email"
id="e_mail"
value=""
tabindex="1"/>

<label>
<input class="submit"
type="submit"
name="Enviar"
value="Enviar formulario"
tabindex="6"/>
<input class="submit"
type="reset"
value="Cancelar"/></label>

</form>

y en otro archivo:

<?php
//Establecer conexión
include "SetConexion.inc";

$nom = $_POST['name'];

if (empty($nom )|| strlen($nom) < 3){header("Location:index.php?error= 1");}
else { echo ' gracias';}

?>

y el cartel sale fijo directamente, si ingreso algo va directo a la pagina de gracias, saludos y muchas gracias

Etiquetas: errores, formulario, html, notificación, registro, usuarios
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 05:22.