|
|
|
|
Strumenti |
13-12-2017, 12:58 | #1 |
Junior Member
Iscritto dal: Dec 2014
Messaggi: 18
|
[AJAX/PHP]Recuperare variabili da PHP con AJAX
Salve a tutti, ho un problema nel stampare il seguente alert:
Codice:
alert("Grazie per esserti registrato. Clicca OK per tornare alla home"); window.location = "index.php"; Codice:
<?php $errore = ""; $alldone = false; session_start(); require_once ('class.manifold.php'); $class = new manifold(); $html = $class->title(); echo $html; $class->menu(); include("conn.php"); ?> <html> <head> <link rel="stylesheet" href="css/style.css" type="text/css" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function () { $("#input_form").submit(function () { var name = $("#nick").val(); var email = $("#email").val(); var password = $("#password").val(); $.ajax({ url: '<?php $_SERVER['PHP_SELF']; ?>', type: "POST", data: "password=" + password + "&nick=" + name + "&email=" + email, success: function () { <?php if($alldone == true){ ?> alert("Grazie per esserti registrato. Clicca OK per tornare alla home"); window.location = "index.php"; <?php } ?> } }); return false; }); }); </script> </head> <body> <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $nick = $_POST["nick"]; $pass = $_POST["password"]; $email = $_POST["email"]; $sql = "SELECT nick FROM moderatore WHERE nick = '$nick'"; echo $sql; $result = $conn->query($sql); if ($result->num_rows == 0) { //criptazione pass $pass = md5($pass); $sql = "INSERT INTO moderatore (email, nick, password) VALUES ('$email', '$nick', '$pass')"; $alldone = true; echo $sql; $result = $conn->query($sql); if (@$result->num_rows == 0) { $alldone = true; } } else { $errore = "nick già esistente"; echo $errore; } } ?> <div align ="center"> <form id = "input_form" action="?"> <fieldset style = "margin-top: 10%; width:50%"> <h4>Inserisci credenziali</h4><br/> <span style = "padding-right: 5%">email:</span> <input type ="email" id = "email" /><br/> <span style = "padding-right: 2%">Nickname:</span> <input type ="text" id = "nick"/><?php echo $errore ?><br/> <span style = "padding-right: 2.5%">Password:</span> <input type ="password" id = "password"/><br/> <button>invia</button><br /> <div id="result"></div> </fieldset> </form> </div> </body> </html> |
13-12-2017, 13:42 | #2 |
Senior Member
Iscritto dal: Aug 2017
Messaggi: 469
|
Se la richiesta ajax la stai facendo sulla medesima pagina la variabile $alldone non è la stessa.
|
13-12-2017, 14:17 | #3 |
Junior Member
Iscritto dal: Dec 2014
Messaggi: 18
|
|
13-12-2017, 16:59 | #4 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 321
|
nella parte javascript modifica così la funzione success
success: function (response) { if(response == true) { alert('tutto ok') } } nella parte php if (@$result->num_rows == 0) { return true; } e invece di $errore = "nick già esistente"; echo $errore; metti return false; ____________________ però se fossi in te creerei un file js separato e due file php, uno per la form e uno per la richiesta ajax Nota: non so se sia un esercizio o simile, però dovresti pensare ad una validazione degli input, ad una loro pulizia (evitare sql injection etc), codificare la password con altri algoritmi, etc ciao |
14-12-2017, 17:13 | #5 |
Junior Member
Iscritto dal: Dec 2014
Messaggi: 18
|
Grazie mille!
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:55.