-
J_aX95™.
User deleted
Per essere più precisi ecco sistemato il tutto:
Salve ragazzi avrei dei problemi con un sito che sto creando. In pratica i problemi consistono nei messaggi e nel reindirizzamento sbagliato. Inizialmente per il reindirizzamento usavo:CODICEheader("location: pagina.php");
Mentre per i vari messaggi:CODICEecho "<script>alert('".$msg."');</script>";
Però quello che ricevevo era:
- Niente messaggi;
- L'url rimaneva identico a quello dove era inserita la funzione "header" con il contenuto, tuttavia della pagina impostata nella suddetta funzione.
Ho provato allora a cambiare metodo, utilizzando solo javascript:CODICEecho "<script>alert('".$msg."');location.href = '".$web."';</script>";
Ma peggio di prima, niente messaggi e niente reindirizzamento, neanche il contenuto questa volta.
Allora ho provato a fare il pezzo in html e javascript ma stessa cosa.. Cosa posso fare? Ora vi mostro come stanno:
Form della pagina index.htmlSPOILER (clicca per visualizzare)CODICE<form name="login" method="POST" action="login.php">
<table align="center" width="60%">
<tr>
<td colspan="2">
<p><font face="Verdana">Username:</font><input type="text" name="username" size="20"></p>
<p><font face="Verdana">Password:</font><input type="password" name="password" size="20"></p>
</td>
</tr>
<tr>
<td width="50%">
<input type="submit" data-icon="check" data-corners="false" value="Login" name="B1" data-theme="g">
</td><td width="50%">
<input type="reset" data-icon="delete" data-corners="false" value="Annulla" name="B2" data-theme="f">
</td>
</tr>
<tr>
<td colspan="2">
<p align="center">Se non sei registrato: <a href="#Registrazione">Clicca qui</a></p>
</td>
</tr>
</table>
</form>
Pagina login.phpSPOILER (clicca per visualizzare)CODICE<?php
session_start();
$hostname = "***";
$nameuser = "***";
$password = "***";
$dataname = "***";
$myusername = $_POST['username'];
$mypassword = $_POST['password'];
$connessione = mysql_connect($hostname, $nameuser, $password);
$database_select = mysql_select_db($dataname, $connessione);
$sql = "SELECT * FROM users WHERE username='$myusername' and password='$mypassword'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
$_SESSION['username'] = $myusername;
$msg = "";
$web = "";
if($count==1){
session_register("myusername");
session_register("mypassword");
if($myusername == 'administrator'){
$_SESSION['autorized'] = 2;
$web = "pannello_amministrativo.php";
}
else{
$_SESSION['autorized'] = 1;
$web = "spedizione.php";
}
}
else{
$_SESSION['autorized'] = 0;
$msg = "I dati che hai inserito sono errati.";
$web = "index.php";
}
?>
<html>
<head>
<script language="javascript">
function act(){
var msg = '<?php echo($msg); ?>';
if(msg != "")
alert(msg);
var web = '<?php echo($web); ?>';
location.href = web;
}
</script>
</head>
<body onload="act()">
</body>
</html>
Cosa posso fare per risolvere tale problema??. -
walter4991.
User deleted
Ho apportato solo delle piccole modifiche, ma già in principio quando ho provato il tuo codice mi visualizzava correttamente gli alert e il reindirizzamento funzionava alla perfezione.
login.phpSPOILER (clicca per visualizzare)CODICE<?php
session_start();
$hostname = "localhost";
$nameuser = "root";
$password = "";
$dataname = "prova";
$myusername = $_POST['username'];
$mypassword = $_POST['password'];
$connessione = mysql_connect($hostname, $nameuser, $password);
$database_select = mysql_select_db($dataname, $connessione);
$sql = "SELECT * FROM users WHERE username='$myusername' and password='$mypassword'";
$result = mysql_query($sql) or die(mysql_error());
$count = mysql_num_rows($result);
$_SESSION['username'] = $myusername;
$msg = "";
$web = "";
if($count==1){
$_SESSION['myuser'] = $myusername;
$_SESSION["mypass"] = $mypassword;
if($myusername == 'administrator'){
$_SESSION['autorized'] = 2;
$msg = "Benvenuto Admin!";
$web = "pannello_amministrativo.php";
}
else{
$_SESSION['autorized'] = 1;
$msg = "Accesso effettuato correttamente!";
$web = "spedizione.php";
}
}
else{
$_SESSION['autorized'] = 0;
$msg = "I dati che hai inserito sono errati.";
$web = "index.php";
}
?>
<html>
<head>
<script language="javascript">
function act(){
var msg = '<?php echo($msg); ?>';
if(msg != "")
alert(msg);
var web = '<?php echo($web); ?>';
location.href = web;
}
</script>
</head>
<body onload="act()">
</body>
</html>
A questo punto credo dipenda dal tuo browser o dal tuo web server. Io ho usato Google Chrome e XAMPP.
PS Ho reso il tuo codice funzionante non ottimizzato.. -
J_aX95™.
User deleted
Ho sistemato come dici tu..ma continuo ad avere lo stesso problema... Hai visto l'index? (Io nell'index.php utilizzo jquery mobile non so quanto influisca..)
Edit: Ho provato ad utilizzare Firefox nel caso fosse Chrome ma niente...
Edited by J_aX95™ - 14/6/2013, 15:34. -
walter4991.
User deleted
A me funzionava tutto perfettamente, prova a cambiare browser. . -
J_aX95™.
User deleted
Utilizzo Chrome io..Ho provato con Firefox ma niente.. . -
walter4991.
User deleted
Provalo su altervista. . -
J_aX95™.
User deleted
Purtroppo è un dominio già comprato..In sostanza è il sito di mio padre e io gli sto sistemando una parte del sito. Non so precisamente su che server sta..
PS: Il sito comunque è su un server linux... -
walter4991.
User deleted
Puoi postare il link? (naturalmente carica le pagine e postami alcune credenziali per provare.) . -
J_aX95™.
User deleted
Il link è: www.infoteck.org/SpedyTeck/
Puoi accorgertene semplicemente digitando un utente a cavolo (quindi credenziali non corrette) per verificare. Se i dati sono incorretti deve darti un messaggio e riportarti nella index.php.. -
walter4991.
User deleted
Ah ok, ora si presenta il problema. Infatti nemmeno a me visualizza il messaggio e riporta indietro.
Però inserendo dati errati, vengo reindirizzato sulla pagina login.php che resta bianca, ma se provo a ricaricarla visualizzo l'alert e vengo rimandato alla index. Credo ci sia qualche problema con il jquery.... -
J_aX95™.
User deleted
XD Si quella cosa me ne sono reso conto ma anche se loggi correttamente restando sempre in login.php e aggiorni da sempre errore e ti porta nella index.php . -
walter4991.
User deleted
Prova il codice senza jquery. . -
J_aX95™.
User deleted
-.- E' quello il problema... Ora che faccio? . -
walter4991.
User deleted
Adatti o cambi il jquery. . -
J_aX95™.
User deleted
Cioè? Non posso sto facendo in modo che sia anche per smartphone e tablet.. .