-
Parse Error
Salve a tutti. Sto cercando di creare una pagina di Registrazione / Login. Questo il codice php. Ricevo l'errore "Parse error: Unmatched '}' in C:\xampp\htdocs\test2\register.php on line 35.
Non trovo l'errore. Qualcuno può aiutarmi? Grazie.
P.S.: Uso Brackets come editor
--------------------------------------------
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>YodAlex_Login</title>
<link rel="stylesheet" type="text/css" href="../css/yoda.css" />
<script src="../js/jquery-1.6.4.min.js" type="text/javascript"></script>
</head>
<body>
<div id="container">
<?php
if (!(isset($_POST['invia_dati']))) {
?>
<form action="" method="post">
Username: <input type="text" name="username" /><br />
Password: <input type="password" name="pass1" /><br />
Ripeti Password: <input type="password" name="pass2" /><br />
E-Mail: <input type="submit" name="mail" /><br />
<input type="submit" name="invia_dati" value="REGISTRATI" />
</form>
<?php
} else {
$username = $_POST['username'];
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];
$mail = $_POST['mail'];
}
if($username == "" || $pass1 == "" || $pass2 == "" || $mail == "") {
echo "Devi compilare tutti i campi";
} else if($pass1 != $pass2)
echo "Le password devono coincidere";
} else {
mysql_connect("\localhost", "root", "root") or die(mysql_error());
mysql_select_db("miei_utenti") or die(mysql_error());
$query = mysql_query("INSERT into utenti" (username, password, email) VALUES ('$username', '$pass1', '$email')");
if ($query)
echo "Registrazione Effettuata" :<br /><a href='login.php'>ENTRA</a>";
}
?>
-
Salve,
manca la parentesi di chiusura } relativa alla condizione else che inizia prima di:
Codice PHP:
$username = $_POST['nome'];
Il supporto a php 5.x è cessato l'1 gennaio 2019, e con esso anche quello delle funzioni mysql. Per evitare problemi futuri d'incompatibilità con le versioni di php più recenti, è preferibile passare già a MySQLi o PDO.
Cordiali saluti.
-
A quanto detto da GraphOGLRisorse aggiungo che:
Manca un ";" dopo questa istruzione:
Codice PHP:
echo "Devi compilare tutti i campi"
Stai inserendo le password in chiaro nel database, è un rischio per la sicurezza e un problema rispetto al GDPR (REGOLAMENTO (UE) 2016/679). Usa funzioni come password_hash.
Hai una moltiplicazione al posto di un assegnamento:
Codice PHP:
$query * mysql_query("INSERT into utenti" (username, password, email) VALUES ('$username', '$pass1', '$email')");