PHP - Parse error: syntax error, unexpected 'else' (T_ELSE), expecting end of file...

 
Vista:
sin imagen de perfil
Val: 14
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Parse error: syntax error, unexpected 'else' (T_ELSE), expecting end of file...

Publicado por Ayrton (6 intervenciones) el 10/12/2019 17:04:30
Buenas, tengo el siguiente error: Parse error: syntax error, unexpected 'else' (T_ELSE), expecting end of file in C:\xampp\htdocs\DatosGradoDeLibertad\CrearUsuarios.php on line 32

Como ven la función del código es de registro de usuarios, dicho error hace que no pueda usar su función.
Es un código que lo uso en Unity, y al saltarme ese error me salta error en unity también, si alguien me puede ayudar por favor.

el código es el siguiente:

1 <? php
2 incluye "Coneccion.php";
3
4 $ userName = $ _POST ['Usuario'];
5 $ Correo electrónico = $ _POST ['Correo'];
6 $ Pass = hast ("Sha256", $ _POST ['Contraseña']);
7
8 $ sql = "SELECCIONAR Usuario de usuarios DONDE Usuario = '$ userName'";
9 $ resultado = $ pdo-> consulta ($ sql);
10
11
12 {
13 $ data = array ('Done' => false, 'Mensaje' => "Error, El nombre de usuario ya existe");
14 Encabezado ('Tipo de contenido: aplicación / json');
15 echo json_encode ($ datos);
16 salida ();
17}
18
19 más
20 {
21 $ sql = "SELECCIONAR Correo de usuarios WHERE = '$ Correo electrónico'";
22 $ ​​resultado = $ pdo-> consulta ($ sql);
23
24 if ($ result-> rowCount ()> 0)
25 {
26 $ data = array ('Done' => false, 'Mensaje' => "Error, Correo ya existente");
27}
28 Encabezado ('Tipo de contenido: aplicación / json');
29 echo json_encode ($ datos);
30 salida ();
31}
32 más
33 {
34 $ sql = "INSERTAR EN usuarios SET Usuario = '$ userName', Correo = '$ Email', Contraseña = '$ Pass'";
35 $ ​​pdo-> query ($ sql);
36
37 $ data = array ('Done' => true, 'Mensaje' => "Usuario nuevo creado");
38 Encabezado ('Tipo de contenido: aplicación / json');
39 echo json_encode ($ datos);
40 salida ();
41}
42?>
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

Parse error: syntax error, unexpected 'else' (T_ELSE), expecting end of file...

Publicado por cosmito (117 intervenciones) el 10/12/2019 18:03:30
Por favor envia el codigo mas indentado para ver con mas claridad.
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
sin imagen de perfil
Val: 14
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Parse error: syntax error, unexpected 'else' (T_ELSE), expecting end of file...

Publicado por Ayrton (6 intervenciones) el 10/12/2019 18:19:47
Mala mia, perdon, ahi va el codigo "CrearUsuarios" bien:

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
<?php
	include "Coneccion.php";
 
	$userName = $_POST['Usuario'];
	$Email = $_POST['Correo'];
	$Pass = hast("Sha256", $_POST['Contraseña']);
 
	$sql = "SELECT Usuario From usuarios WHERE Usuario = '$userName'";
	$result = $pdo->query($sql);
 
	if ($result->rowCount() > 0)
	{
		$data = array('Done' => false , 'Mensaje' => "Error, El nombre de usuario ya existe");
		Header('Content-Type: application/json');
		echo json_encode($data);
		exit();
	}
 
	else
 
	{
		$sql = "SELECT Correo From usuarios WHERE = '$Email'";
		$result = $pdo->query($sql);
 
		if ($result->rowCount() > 0)
		{
			$data = array('Done' => false , 'Mensaje' => "Error, Correo ya existente");
		}
		Header('Content-Type: application/json');
		echo json_encode($data);
		exit();
	}
 
	else
 
	{
		$sql = "INSERT INTO usuarios SET Usuario = '$userName', Correo = '$Email', Contraseña = '$Pass'";
		$pdo->query($sql);
 
		$data = array('Done' => true, 'Mensaje' => "Usuario nuevo creado");
		Header('Content-Type: application/json');
		echo json_encode($data);
		exit();
	}
?>






y el codigo "Coneccion":
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
 
try
{
	$pdo = new PDO('mysql:host=localhost;dbname=Datos Grado De Libertad', 'LoL','anniemanda2013.');
	//$pdo->setAtribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION);
	$pdo->exec ('SET NAMES "utf8"');
}
catch (PDOException $e)
{
	echo "Datos no Coinciden"; //. $e->getMessage();
	exit();
 
}
 
//echo "Datos si Coinciden";
 
?>
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

Parse error: syntax error, unexpected 'else' (T_ELSE), expecting end of file...

Publicado por joel (1269 intervenciones) el 11/12/2019 08:36:19
Hola Ayrton, un if no puede tener dos }else{... en la linea 34 creo que repites el else nuevamente que ya utilizaste en la linea 19.
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
sin imagen de perfil
Val: 14
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Parse error: syntax error, unexpected 'else' (T_ELSE), expecting end of file...

Publicado por Ayrton (6 intervenciones) el 11/12/2019 18:41:20
Como podría solucionarlo?, soy nuevo en esto de php
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

Parse error: syntax error, unexpected 'else' (T_ELSE), expecting end of file...

Publicado por joel (1269 intervenciones) el 11/12/2019 20:20:23
No se muy bien que quieres hacer, pero si quitas las lineas 32, 34 y 36 ya se soluciona, pero no se si es lo que necesitas que haga.
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
sin imagen de perfil
Val: 14
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Parse error: syntax error, unexpected "else" (T_ELSE), expecting end of file...

Publicado por Ayrton (6 intervenciones) el 11/12/2019 20:35:18
te explico, yo estoy con este pequeño tutorial(lo veo y sigo solo por hobbie, para aprender) : https://www.youtube.com/watch?v=ATsS0kP1ZoQ&list=PLP-k-u9CB0EO62aBgQCK1KRlSrQMLZs0Z&index=7

el cual usa phpmyadmin y Unity. Su función es la de registro y login de usuarios.

si hay muchos problemas con el tema simplemente me dicen que NO y listo, total no es importante, y 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
sin imagen de perfil
Val: 14
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Parse error: syntax error, unexpected 'else' (T_ELSE), expecting end of file...

Publicado por Ayrton (6 intervenciones) el 12/12/2019 06:20:44
Error solucionado, me faltaron unas palabras y signos en el primer Else.

Solo que ahora me saltan estos errores:

Notice: Undefined index: userName in C:\xampp\htdocs\DatosGradoDeLibertad\CrearUsuarios.php on line 4

Notice: Undefined index: email in C:\xampp\htdocs\DatosGradoDeLibertad\CrearUsuarios.php on line 5

Fatal error: Uncaught Error: Call to undefined function hast() in C:\xampp\htdocs\DatosGradoDeLibertad\CrearUsuarios.php:6 Stack trace: #0 {main} thrown in C:\xampp\htdocs\DatosGradoDeLibertad\CrearUsuarios.php on line 6

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
<?php
	include "Coneccion.php";
 
	$userName = $_POST['userName'];
	$Email = $_POST['email'];
	$Pass = hast("Sha256", $_POST['password']); // hast("Sha256",
 
	$sql = "SELECT userName From usuarios WHERE userName = '$userName'";
	$result = $pdo->query($sql);
 
	if ($result->rowCount() > 0)
	{
		$data = array('Done' => false , 'Mensaje' => "Error, El nombre de usuario ya existe");
		Header('Content-Type: application/json');
		echo json_encode($data);
		exit();
	}
 
	else
	{
		$sql = "SELECT email From usuarios WHERE email = '$Email'";
		$result = $pdo->query($sql);
 
		if ($result->rowCount() > 0)
		{
		$data = array('Done' => false , 'Mensaje' => "Error, email ya existente");
		Header('Content-Type: application/json');
		echo json_encode($data);
		exit();
	}
	else
	{
		$sql = "INSERT INTO usuarios SET userName = '$userName', email = '$Email', password = '$Pass'";
		$pdo->query($sql);
 
		$data = array('Done' => true, 'Mensaje' => "userName nuevo creado");
		Header('Content-Type: application/json');
		echo json_encode($data);
		exit();
	}
}
?>
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

Parse error: syntax error, unexpected 'else' (T_ELSE), expecting end of file...

Publicado por joel (1269 intervenciones) el 12/12/2019 07:57:53
El error, es porque la función hast() no existe!!! puede ser que tenga que ser hash()?
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
sin imagen de perfil
Val: 14
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Parse error: syntax error, unexpected 'else' (T_ELSE), expecting end of file...

Publicado por Ayrton (6 intervenciones) el 12/12/2019 17:40:23
y las otras 2 lineas?
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

Parse error: syntax error, unexpected 'else' (T_ELSE), expecting end of file...

Publicado por joel (1269 intervenciones) el 15/12/2019 12:20:16
No son errores son "Notice"!!!

Eso es porque en algun momento, cuando entras en la pagina, no esta definido el indice: userName en el array $_POST...
tienes que comprobar si existe dicho indice antes de asignarlo... algo así:
1
2
3
if (isset($_POST['userName'])) {
    $userName = $_POST['userName'];
}
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