PHP - mostrar resultados de registro con header

   
Vista:
Imágen de perfil de Alejandro

mostrar resultados de registro con header

Publicado por Alejandro (33 intervenciones) el 07/02/2014 03:51:14
Hola, soy novato en php, y el problema que tengo es que no puedo mostrar un mensaje usando header.

Esta es la pagina del formulario
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
<html>
	<head>
	   <title>Prueba</title>
 
	   <script type="text/javascript">
  			function comprobar()   {
       			var nombre = document.f1.nombre.value;
       			var email = document.f1.email.value;
       			var edad = document.f1.edad.value;
       			var direccion = document.f1.direccion.value;
       			var telefono = document.f1.telefono.value;
 
       			var maximo1 = document.f1.nombre.value.length;
 
       			var expr1 = /[\/\(\)|°¬+*&#@<>?¿!¡$%:,;_"'`]/
       			var expr2 = /^[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/;
       			var expr3 = /[0-9]/;
       			var expr4 = /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/
       			var expr5 = /[°¬|!$%&=?¿¡´+*@-_.:,;<>]/;
 
       			var nom = document.getElementById('nom');
       			var mail = document.getElementById('mail');
       			var Edad = document.getElementById('Edad');
       			var Sexo = document.getElementById('Sexo');
       			var dir = document.getElementById('dir');
       			var tel = document.getElementById('tel');
 
       			var error1 = document.getElementById('error1');
       			var error2 = document.getElementById('error2');
       			var error3 = document.getElementById('error3');
       			var error4 = document.getElementById('error4');
       			var error5 = document.getElementById('error5');
 
       			if (nombre == "") {
       				nom.style.display='block';
       				return false;
       		 	}
       		 	else {
       		 		nom.style.display='none';
       		 	}
 
 
       		 	if (expr1.test(nombre)) {
       		 		error1.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		error1.style.display='none';
       		 	}
 
       		 	if (expr3.test(nombre)) {
       		 		error1.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		error1.style.display='none';
       		 	}
 
       		 	if (maximo1 < 10) {
       		 		alert("¿Tu nombre tiene menos de 10 caracteres?");
       		 		return false;
       		 	}
 
       		 	if (email == "") {
       		 		mail.style.display='block';
       		 		return false
       		 	}
       		 	else {
       		 		mail.style.display='none';
       		 	}
 
       		 	if (!expr4.test(email)) {
       		 		error2.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		error2.style.display='none'
       		 	}
 
 
       		 	if (edad == "") {
       		 		Edad.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		Edad.style.display='none';
       		 	}
 
       		 	if (expr2.test(edad)) {
       		 		error3.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		error3.style.display='none';
       		 	}
 
       		 	if (expr1.test(edad)) {
       		 		error3.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		error3.style.display='none';
       		 	}
 
       		 	if (!document.f1.sexo[0].checked && !document.f1.sexo[1].checked) {
       		 		Sexo.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		Sexo.style.display='none';
       		 	}
 
       		 	if (direccion == "") {
       		 		dir.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		dir.style.display='none'
       		 	}
 
       		 	if (expr5.test(direccion)) {
       		 		error4.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		error4.style.display='none';
       		 	}
 
       		 	if (expr1.test(telefono)) {
       		 		error5.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		error5.style.display='none';
       		 	}
 
       		 	if (telefono == "") {
       		 		tel.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		tel.style.display='none';
       		 	}
 
       		 	if (expr2.test(telefono)) {
       		 		error5.style.display='block';
       		 		return false
       		 	}
       		 	else {
       		 		error5.style.display='none';
       		 	}
 
       		 return true;
 
 
       	   }
 
	   </script>
 
	   <style type="text/css">
 
	   		p {
	   			display: none;
	   		}
 
	   </style>
 
	</head>
<body>
 
<form name="f1" method="post" action="validar.php" onsubmit="return comprobar()">
 
Nombre:
<input type="text" name="nombre"><p id="nom">Debes ingresar un nombre de usuario.</p><p id="error1">Solo debes ingresar texto.</p>
<br>
<br>
Email:
<input type="text" name="email"><p id="mail">Debes ingresar un email.</p><p id="error2">El email no es valido.</p>
<br>
<br>
Edad:
<input type="text" name="edad"><p id="Edad">Debes ingresar una edad.</p><p id="error3">La edad no es valida.</p>
<br>
<br>
Sexo:
<input type="radio" name="sexo" value="M">M
<input type="radio" name="sexo" vlaue="F">F<p id="Sexo">Debes seleccionar un sexo.</p>
<br>
<br>
Direccion:
<input type="text" name="direccion"><p id="dir">Debes ingresar una direccion.</p><p id="error4">La direccion no es valida.</p>
<br>
<br>
Telefono:
<input type="text" name="telefono"><p id="tel">Debes ingresar un numero telefonico.</p><p id="error5">El numero telefonico no es valido.</p>
<br>
<br>
<input type="submit" value="Enviar">
<br>
<br>
</form>
<?php
 
error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
 
 
 
?>
 
</body>
 
</html>

----------------------------------------------------
y esta es la pagina validar.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
 
 $nombre = $_POST["nombre"];
 $email = $_POST["email"];
 $edad = $_POST["edad"];
 $sexo = $_POST["sexo"];
 $direccion = $_POST["direccion"];
 $telefono = $_POST["telefono"];
 
 
 $conexion = new mysqli("localhost","root","idolatras56","empleados") or die("No se pudo conectar a la base de datos");
 
 $sql = "SELECT * FROM empleado WHERE Email='$email'";
 $ejecutar_consulta = $conexion->query($sql);
 $validar = $ejecutar_consulta->num_rows;
 
 if ($validar == 0) {
 	$consulta = "INSERT INTO empleado (Nombre,Email,Edad,Sexo,Direccion,Telefono) VALUES ('$nombre','$email','$edad','$sexo','$direccion','$telefono')";
 
 	$ejecutar = $conexion->query(utf8_encode($consulta));
 
 	if ($ejecutar) {
 		$mensaje = "<p style='color: #FFFFFF;background: #212121;border-radius: 0.2em;font-size: 1.5em;margin: 0 auto;margin-bottom: 0.7em;padding: 0.2em 0.3em;'>Empleado registrado correctamente.</p>";
 	}
 	else {
 		$mensaje = "<p style='color: #FFFFFF;background: #212121;border-radius: 0.2em;font-size: 1.5em;margin: 0 auto;margin-bottom: 0.7em;padding: 0.2em 0.3em;'>No se pudo conectar con la base de datos.</p>";
 	}
 
 }
 else {
 	 $mensaje = "<p style='color: #FFFFFF;background: #212121;border-radius: 0.2em;font-size: 1.5em;margin: 0 auto;margin-bottom: 0.7em;padding: 0.2em 0.3em;'>El email ya existe.</p>";
 }
 
 $conexion->close();
 header("Location: index.php?op=index&mensaje=$mensaje");
 
?>

------------------------------------
no encontrado la manera de mostrar el resultado en el index, osea, en la pagina donde esta el formulario. Si alguien me ayuda lo agradeceria
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
Imágen de perfil de xve

mostrar resultados de registro con header

Publicado por xve (5519 intervenciones) el 07/02/2014 10:24:01
Hola Alejandro, cual es la pagina index.php?
Por lo que veo en el código, desde el archivo validar.php haces la llamada al archivo index.php pasando como get el mensaje...

Si nos puedes comentar...
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
Imágen de perfil de Alejandro

mostrar resultados de registro con header

Publicado por Alejandro (33 intervenciones) el 07/02/2014 21:40:37
esta es la index.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
<html>
	<head>
	   <title>Prueba</title>
 
	   <script type="text/javascript">
  			function comprobar()   {
       			var nombre = document.f1.nombre.value;
       			var email = document.f1.email.value;
       			var edad = document.f1.edad.value;
       			var direccion = document.f1.direccion.value;
       			var telefono = document.f1.telefono.value;
 
       			var maximo1 = document.f1.nombre.value.length;
 
       			var expr1 = /[\/\(\)|°¬+*&#@<>?¿!¡$%:,;_"'`]/
       			var expr2 = /^[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/;
       			var expr3 = /[0-9]/;
       			var expr4 = /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/
       			var expr5 = /[°¬|!$%&=?¿¡´+*@-_.:,;<>]/;
 
       			var nom = document.getElementById('nom');
       			var mail = document.getElementById('mail');
       			var Edad = document.getElementById('Edad');
       			var Sexo = document.getElementById('Sexo');
       			var dir = document.getElementById('dir');
       			var tel = document.getElementById('tel');
 
       			var error1 = document.getElementById('error1');
       			var error2 = document.getElementById('error2');
       			var error3 = document.getElementById('error3');
       			var error4 = document.getElementById('error4');
       			var error5 = document.getElementById('error5');
 
       			if (nombre == "") {
       				nom.style.display='block';
       				return false;
       		 	}
       		 	else {
       		 		nom.style.display='none';
       		 	}
 
 
       		 	if (expr1.test(nombre)) {
       		 		error1.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		error1.style.display='none';
       		 	}
 
       		 	if (expr3.test(nombre)) {
       		 		error1.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		error1.style.display='none';
       		 	}
 
       		 	if (maximo1 < 10) {
       		 		alert("¿Tu nombre tiene menos de 10 caracteres?");
       		 		return false;
       		 	}
 
       		 	if (email == "") {
       		 		mail.style.display='block';
       		 		return false
       		 	}
       		 	else {
       		 		mail.style.display='none';
       		 	}
 
       		 	if (!expr4.test(email)) {
       		 		error2.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		error2.style.display='none'
       		 	}
 
 
       		 	if (edad == "") {
       		 		Edad.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		Edad.style.display='none';
       		 	}
 
       		 	if (expr2.test(edad)) {
       		 		error3.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		error3.style.display='none';
       		 	}
 
       		 	if (expr1.test(edad)) {
       		 		error3.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		error3.style.display='none';
       		 	}
 
       		 	if (!document.f1.sexo[0].checked && !document.f1.sexo[1].checked) {
       		 		Sexo.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		Sexo.style.display='none';
       		 	}
 
       		 	if (direccion == "") {
       		 		dir.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		dir.style.display='none'
       		 	}
 
       		 	if (expr5.test(direccion)) {
       		 		error4.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		error4.style.display='none';
       		 	}
 
       		 	if (expr1.test(telefono)) {
       		 		error5.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		error5.style.display='none';
       		 	}
 
       		 	if (telefono == "") {
       		 		tel.style.display='block';
       		 		return false;
       		 	}
       		 	else {
       		 		tel.style.display='none';
       		 	}
 
       		 	if (expr2.test(telefono)) {
       		 		error5.style.display='block';
       		 		return false
       		 	}
       		 	else {
       		 		error5.style.display='none';
       		 	}
 
       		 return true;
 
 
       	   }
 
	   </script>
 
	   <style type="text/css">
 
	   		p {
	   			display: none;
	   		}
 
	   </style>
 
	</head>
<body>
 
<form name="f1" method="post" action="validar.php" onsubmit="return comprobar()">
 
Nombre:
<input type="text" name="nombre"><p id="nom">Debes ingresar un nombre de usuario.</p><p id="error1">Solo debes ingresar texto.</p>
<br>
<br>
Email:
<input type="text" name="email"><p id="mail">Debes ingresar un email.</p><p id="error2">El email no es valido.</p>
<br>
<br>
Edad:
<input type="text" name="edad"><p id="Edad">Debes ingresar una edad.</p><p id="error3">La edad no es valida.</p>
<br>
<br>
Sexo:
<input type="radio" name="sexo" value="M">M
<input type="radio" name="sexo" vlaue="F">F<p id="Sexo">Debes seleccionar un sexo.</p>
<br>
<br>
Direccion:
<input type="text" name="direccion"><p id="dir">Debes ingresar una direccion.</p><p id="error4">La direccion no es valida.</p>
<br>
<br>
Telefono:
<input type="text" name="telefono"><p id="tel">Debes ingresar un numero telefonico.</p><p id="error5">El numero telefonico no es valido.</p>
<br>
<br>
<input type="submit" value="Enviar">
<br>
<br>
</form>
<?php
 
//Aqui quiero mostrar el resultado
 
?>
 
</body>
 
</html>
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
Imágen de perfil de xve

mostrar resultados de registro con header

Publicado por xve (5519 intervenciones) el 08/02/2014 11:37:04
Hola Alejandro, en el index.php, en ningun lugar captura el valor pasado por get!!!!

Prueba a poner al principio del index:
1
2
3
<?php
echo $_GET["mensaje"];
?>

Veras como te muestra el contenido de la variable pasada...
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
Imágen de perfil de Alejandro

mostrar resultados de registro con header

Publicado por Alejandro (33 intervenciones) el 08/02/2014 16:46:15
No me funciono, en vez de mostrar el mensaje me muestra el codigo javascript
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

mostrar resultados de registro con header

Publicado por Jose Manuel josema@orbisapientia.com (43 intervenciones) el 09/02/2014 21:20:00
Hola Alejandro:

Veamos, son varias cosillas. En primer lugar, tienes algunos errores en el código JavaScript, sobre todo en las líneas donde defines las expresiones regulares para hacer las validaciones. Yo le daría un repaso.

En segundo lugar, toda esa información (string) que pasas por GET debería ir codificada con la función urlencode, para, posteriormente cuando quieras mostrarla, utilizar urldecode.

Lo que te ha puesto xve es totalmente correcto, aunque añadiría algo más:

1
2
3
4
5
<?php
   if ( isset ( $_GET["mensaje"] ) {
      echo $_GET["mensaje"];
   }
?>


Pero... no puede aparecer la cadena pasada por GET porque quieres mostrarla en un párrafo P, y como estilo has definido:

1
p { display: none; }


... con lo que jamás aparecerá. Modifica ese código para que sea algo como:

1
p.mensajes-error { display: none; }


...y posteriormente asignar esa clase a los párrafos que muestran los mensajes de error.

Espero que te sirva. Un saludo,

José Manuel
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
Imágen de perfil de Alejandro

mostrar resultados de registro con header

Publicado por Alejandro (33 intervenciones) el 09/02/2014 22:22:51
gracias por las aclaraciones de javascript, del urlencode y por ayudarme en mostrar el mensaje. Aun soy novato en javascript y php, asi que no me sorprende que tenga errores, y en verdad muchas gracias.
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

mostrar resultados de registro con header

Publicado por Jose Manuel josema@orbisapientia.com (43 intervenciones) el 10/02/2014 08:52:14
Nada Alejandro. Ninguno nacemos sabiendo.

Un saludo,

José Manuel.
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