Originariamente inviata da
badaze
@riccardo94.
Ti ho già scritto che si possono passare dei parametri alle funzioni. Se scrivi tutto il codice del tuo progetto nel modo attuale allora buona fortuna.
Per l'errore che indichi.
codice:
if(isset($_SESSION['username']) && isset($_SESSION['password'])) {
Mi sa che devi studiare di più, leggere la documentazione. isset ti dice se una variabile esiste o meno.
scusami il ritardo, guarda credo che prima penso a finire il programma e poi ci pensero a ottimizzarlo, adesso il mio problema e che ho uno script che non funziona a dovere
Codice PHP:
<title>profilo.php</title>
<?php
session_start();
if(isset($_SESSION['username'])== false) {
header("location: http://laboraccio.altervista.org/");
}
?>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<style>
div#chat {
width:500px;
height:500px;
border: solid black 2px;
}
div#messaggio input[type="text"] {
width:100%;
padding:10px;
}
</style>
</head>
<script type="text/javascript">
function sendSms(){
sms = document.getElementById("sms").value;
chat = document.getElementById("chat");
console.log(sms);
ajax = new XMLHttpRequest();
ajax.open("get", "server.php?sms="+sms, true);
ajax.send();
ajax.onreadystatechange = function(){
if(ajax.readyState == 4 && ajax.status == 200){
console.log("ajax: "+ajax.responseText);
chat.innerHTML = ajax.responseText;
}
}
}
</script>
<body>
<div id="chat"></div>
<div id="messaggio">
<input type="text" name="sms" id="sms" placeholder="inserisci il tuo messaggio qui">
<button onclick="sendSms()" id="submit">invio</button>
</div>
<div>
<form method="post" action="server.php">
<input type="radio" name="sessione" value="logout">logout
<input type="submit" value="invio">
</form>
</div>
<body>
in teoria se le credenziali sono giuste,dovrei atterrare su questa pagina, ma ogni volta mi rimanda sempre al index
invece se io accedo manualmente allo script di prima attraverso l'url ovvero http://laboraccio.altervista.org/profilo.php
mi fa accedere senza problemi.
di mezzo tra i due script c'e quest altro script
Codice PHP:
<title>server.php</title>
<?php
session_start();
$conex = mysql_connect('localhost', 'root');
mysql_select_db("my_laboraccio", $conex);
/*variabili di index.php*/
$uname = $_GET['username'];
$pw = $_GET['password'];
$opzioneUtente = $_GET['opzioneUtente'];
/*variabili di profilo.php */
echo $_GET['sms'];
if($_POST['sessione'] == "logout") {
session_unset();
session_destroy();
header("Refresh:10; url=http://www.laboraccio.altervista.org/");
echo "sessione scaduta";
}
function registraUtente(){
global $uname;
echo $uname;
global $pw;
$sql = "SELECT * FROM utenti WHERE username='$uname'";
$resource = mysql_query($sql) or die (mysql_error());
$result = mysql_num_rows($resource);
echo $result;
if($result == 0) {
$sql = "INSERT INTO utenti (id, username, password) VALUES (NULL, '$uname', '$pw')";
mysql_query($sql);
header("Refresh:10; url=http://www.laboraccio.altervista.org/");
echo "nuovo utente creato";
echo "registrazione completata";
}
elseif($result == 1){
echo "username gia in uso, riprova con un altro";
header("Refresh:10; url=http://www.laboraccio.altervista.org/");
}
}
function loggareUtente(){
global $uname;
global $pw;
$sql = "SELECT * FROM utenti WHERE username='$uname' AND password='$pw'";
$resource = mysql_query($sql) or die (mysql_error());
$result = mysql_num_rows($resource);
if($result == 1) {
$_SESSION['username'] = $uname;
$_SESSION['password'] = $pw;
echo "benvenuto alla tua area personale".$uname;
header("Refresh:10; url=http://www.laboraccio.altervista.org/profilo.php");
}
elseif($result == 0) {print "utente non valido";
header("Refresh:10; url=http://www.laboraccio.altervista.org/");
}
}
if($opzioneUtente == 'registrareUtente'){
registraUtente();
}
elseif($opzioneUtente == "loggareUtente") {
loggareUtente();
}
?>