PHP - Problema para poder validar Login

 
Vista:
Imágen de perfil de Henry
Val: 32
Ha aumentado su posición en 9 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema para poder validar Login

Publicado por Henry (11 intervenciones) el 09/02/2021 05:01:15
Buenas noches, soy algo nuevo en el uso de php, y me surgió una cuestión que no he logrado resolver.
Tengo una pagina para registrar usuarios en la cual donde envió la información, no genera alguna respuesta de la pagina siguiente, que en su caso es registro.php.

Anexo codigo html.

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
<?php
	include 'conexion.php';
 ?>
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width-device-width, initial-scale=1">
 
	<link rel="stylesheet" href="Jquery/jquery.mobile-1.4.5.css">
	<script src="Jquery/jquery.min.js"></script>
	<script src="Jquery/jquery.mobile-1.4.5.min.js"></script>
	<script type="text/javascript" src="js/registro.js"></script>
	<title>Productos</title>
</head>
<body>
	<div data-role="page" id="index" >
		<div data-role="header" data-theme="b">
			<!-- Link a index.html -->
			<a href="index.php" data-role="button" data-icon="back" data-theme="a" >Regresar</a>
			<h1>Videovigilancia Garcia</h1>
		</div>
 
		<div data-role="main" class="ui-content" >
			<div class="ui-content" role="main">
				<!--NUNCA TE IBA A CONECTAR PORQUE NO TIENES DECLARADO A DONDE SE VA A DIRIGIR, TE FALTABA LO QUE ES  -->
				<form id="FrmRegistro" action="procesos/registrousuario.php" method="post" data-ajax="false">
 
					<label for="text-basic">Ingrese nombre completo</label>
					<input type="text" name="text-basic" id="nombre" value="" placeholder="Nombre completo">
					<p></p>
 
					<label for="text-basic">Ingrese nombre de usuario que desea usar</label>
					<input type="text" name="text-basic" id="username" value="" placeholder="Username">
					<p></p>
 
					<label for="text-basic">Ingrese contraseña</label>
					<input type="text" name="text-basic" id="pass1" value="" placeholder="Contraseña">
					<p></p>
 
					<label for="text-basic">Confirme contraseña</label>
					<input type="password" name="text-basic" id="pass2" value="" placeholder="Contraseña">
					<p></p>
 
					<label for="file">Subir foto:</label>
					<input type="file" name="foto" id="foto" value="">
 
					<input type="submit" name="registro" value="registro" id="registro">
				</form>
			</div>
 
		</div>
 
		<div class="ui-content" role="main" id="main">
			<div id="resultado"></div>
			<div data-role="footer" data-theme="b">
				<h2>Copyright 2021</h2>
			</div>
		</div>
 
	</div>
</body>
</html>

Anexo registroUsuario.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
<?php
	require "../conexion.php";
 
	//Verifica que el formulario no este vacio
	if (isset($_POST['registro'])) {
		if ($_POST["nombre"] == '' or $_POST['username'] == '' or $_POST["pass1"] == '' or $_POST['pass2'] or $_FILES["foto"]) {
			# code...
			echo "Por favor complete todos los campos";
		} else {
			//consulta
			$sql = 'SELECT * FROM usuarios';
			$rec= mysqli_query($sql);
			$verUsu = 0;
 
			//Verifica que haya conexion
			while ($result = mysqli_fetch_object($rec)) {
 
				//Verifica que no exista usuario igual
				if ($result -> usuario == $_POST['username']) {
					$verUsu = 1;
					# code...
				}
				//¿VerUsu es 1?
				if ($verUsu) {
					$nombre=$_POST['nombre'];
					$username=$_POST['username'];
					$password=sha1($_POST['pass1']);
					$foto=$_FILES['foto'];
 
					$subio=false;
					$directorio='archivos';
					$foto=$directorio."/".$_FILES['foto']['name'];
 
					if (is_uploaded_file($_FILES['foto']['tmp_name'])) {
						# code...
						move_uploaded_file($_FILES['foto']['tmp_name'], $foto);
						$subio=true;
 
						if ($subio) {
							# code...
 
							mysqli_query($link, "INSERT INTO usuarios set id_usuario='$id_usuario', nombre='$nombre', username='$username', password='$password', usuario='$foto'");
 
							echo "<script>alert('Usuario registrado')</script>";
 
							echo "<script>window.location='login.php'</script>";
						}else{
							echo "<script> alert('Error al guardar el registro')</script>";
						}
					}
				}
 
				echo "<script> alert('Usuario ya existe') </script>";
				# code...
			}
 
		}
	}
?>

Si alguien pudiera aclararme en que estoy metiendo la pata se lo agradecería mucho.
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema para poder validar Login

Publicado por Mauro (1036 intervenciones) el 09/02/2021 13:59:57
Hola Henry:

No estoy seguro de comprender del todo tu necesidad, pero por lo que veo en el código podría pasar que falle el primer if:

1
if (isset($_POST['registro']))

Si eso sucediera nunca lo sabrías porque no hay ningún else que haga echo o algo parecido.

Otra posibilidad es que la condición del while:

1
while ($result = mysqli_fetch_object($rec)) {

No se cumpla nunca y de ahí lo mismo, no hay ningún tipo de salida.
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 Henry
Val: 32
Ha aumentado su posición en 9 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema para poder validar Login

Publicado por Henry (11 intervenciones) el 10/02/2021 04:22:06
Tienes razón no he confirmado que haga algo el primer ciclo o el While. Checare esa parte para corregir.

Ya cheque, creo que es o era asunto del Javascript que tenia incrustado, porque al quitarlo wampp me notifica cual fue mi error. Me aparece lo siguiente:

Notice: Undefined index: nombre in C:\wamp64\www\movil\procesos\registrousuario.php on line 6

Si esta funcionando el primer ciclo, pero ahora surge esta cuestión. Aunque estoy seguro de haberlo codificado bien, estoy algo confundido con el error.
Opera-Captura-de-pantalla_2021-02-09_212732_localhost
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 joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema para poder validar Login

Publicado por joel (1269 intervenciones) el 10/02/2021 08:42:44
Hola Henry, ese "Notice" que recibes, es porque en el array $_POST, no esta el indice "nombre"... es decir, no se ha enviado por post el campo "nombre". $_POST["nombre"] no existe.

Fijate en tus inputs... son todos algo así:
1
<input type="text" name="text-basic" id="nombre" value="" placeholder="Nombre completo">

En vez de pasar la variable "nombre" pasas la variable "text-basic"... prueba a ponerlo así:
1
<input type="text" name="nombre" id="nombre" value="" placeholder="Nombre completo">
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar