|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#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>
|
|
|
|
|
|
#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.
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Dec 2014
Messaggi: 18
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2006
Messaggi: 326
|
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 |
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Dec 2014
Messaggi: 18
|
Grazie mille!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:43.




















