Problema con UPDATE table SET username = $_SESSION["username"]

Alessio Pinna

Nuovo Utente
15 Set 2012
22
0
0
Mi scuso se ultimamente sto postando più del dovuto (secondo i miei canoni).

Mi trovo nelle fasi finali della costruzione del mio sito e sto letteralmente scapocciando .

Ho una pagina index con un form login con la sessione attiva :

HTML:
<?php session_start(); ?>
<html>
<head>
</head>
                                                
<body>
<form method="post" action="login.php" id="formvoti">
<li><label for="link"><b>LOGIN <br><br> Your ID :</b><br><br></label>
<?php	if(isset($_SESSION["link"]))
{echo "<input type=\"hidden\" name=\"link\" id=\"link\" value=\"".$_SESSION["link"]."\"/>"; echo $_SESSION["link"];
}else{echo "<input type=\"text\" name=\"link\" id=\"link\" />";  }?>
</li><br>
<li><label for="username"><b>Your username:</b><br><br></label>
<?php	if(isset($_SESSION["username"]))
{echo "<input type=\"hidden\" name=\"username\" id=\"username\" value=\"".$_SESSION["username"]."\"/>";echo $_SESSION["username"];
}else{echo "<input type=\"text\" name=\"username\" id=\"username\" />";  }?>
</li><br>
<input type="submit" name="invia" id="login" value="login" style="margin-left:110px;"/><br>
</form>

questo form spedisce i dati (ID , username) in un file login.php (Anch'esso con la sessione ecc.) che li analizza e vede se l'utente è registrato ecc.

Subito dopo questo form (sempre nella pagina index) ho incluso una pagina oggetto1.php:


PHP:
<?php						
include 'oggetto1.php';						
?>
</body>
</html>


La parte che mi interessa di questa pagina è un'UPDATE all'interno di un controllo isset di un pulsante (se è stato premuto fa determinate cose) :

PHP:
if (isset($_POST['button'])) {
		
$query="UPDATE admin SET utenti = ".$_SESSION["username"]." WHERE id = 1";

}

Come potete vedere una volta che spingo il pulsante dovrei aggiornare la colonna "utenti" nella tabella admin dove l'ID = 1 con ".$_SESSION["username"]."

Indovinate?

Non mi aggiorna NULLA !!!!!

Cosa posso fare?
 
Ultima modifica:

Alessio Pinna

Nuovo Utente
15 Set 2012
22
0
0
ah mi sono sbagliato la query per l'UPDATE è :

PHP:
mysql_query ("UPDATE admin_oggetti SET utenti = ".$_SESSION["username"]." WHERE id = 1");

e non funziona lo stesso
 
Ultima modifica:

Alessio Pinna

Nuovo Utente
15 Set 2012
22
0
0
niente non funziona , eppure dentro al controllo del pulsante (isset) ho un altro UPDATE molto simile a quello di cui ho bisogno io solo che al posto di "utenti" ho oggetto quindi la questione dell'errore nel digitare le coordinate della query è impossibile
 

Alessio Pinna

Nuovo Utente
15 Set 2012
22
0
0
la session_start(); è inserita nell'index come puoi vedere , e sempre nella pagina index è anche inclusa la pagina "oggetto1.php" che contiene l'UPDATE che mi serve , quest'ultima pagina però ovviamente non ha la session_start(); perchè seno mi darebbe errore visto che si trova già nell'index
 

Alessio Pinna

Nuovo Utente
15 Set 2012
22
0
0
si infatti è cosi , ed ho fatto cosi , questo controllo (isset) funziona .

All'interno dell'isset ho questi due controlli :

PHP:
if (isset($_POST['button'])) {
		
mysql_query("UPDATE admin SET utenti = ".$_SESSION["username"]." WHERE id = 1");
		
mysql_query("UPDATE admin SET seconds = seconds + 30 WHERE id = 1");
        		
		
		
header("Location: index.php"); 
		
}

-il primo controllo (quello che mi serve e che non funziona) deve aggiornare la colonna utenti con il nome dell'utente loggato
-il secondo controllo aggiorna una variabile $seconds (che va a modificare un countdown in javascript) gestita dalla colonna seconds sommando quello che c'era prima con + 30 secondi , quest'ultimo controllo ovviamente funziona (alla pressione del pulsante 'button'
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
dividi la query e metti un var_dump
PHP:
<?php
if (isset($_POST['button'])) {
    $query= "UPDATE admin SET utenti = ".$_SESSION["username"]." WHERE id = 1";
	var_dump($query);//e verifica cosa riporta
	mysql_query($query);
    mysql_query("UPDATE admin SET seconds = seconds + 30 WHERE id = 1");
    header("Location: index.php"); 
}
?>

p.s.
una volta chiami la tabella admin_oggetti e qui admin ???
come gia detto sei sicuro dei nomi sia tabella che campi?
se la tabella è la stessa perche fai due query?
 

Alessio Pinna

Nuovo Utente
15 Set 2012
22
0
0
Notice: Undefined variable: _SESSION in C:\xampp\htdocs\oggetto1.php on line 40
string(47) "UPDATE admin SET utenti = WHERE id = 1"

C'è da sottolineare che ho dovuto togliere header("Location: index.php"); e analizzare solo la pagina "oggetto1.php" per vadere la risposta , infatti la <?php session_start(); ?> non si trova dentro questa pagina ma si trova dentro index.php che include "oggetto1.php"
 

Alessio Pinna

Nuovo Utente
15 Set 2012
22
0
0
RICAPITOLIAMO :


PAGINA INDEX.PHP:

HTML:
<?php session_start(); ?>
<html>
<head>
</head>
                                                
<body>
<form method="post" action="login.php" id="formvoti">
<li><label for="link"><b>LOGIN <br><br> Your ID :</b><br><br></label>
<?php	if(isset($_SESSION["link"]))
{echo "<input type=\"hidden\" name=\"link\" id=\"link\" value=\"".$_SESSION["link"]."\"/>"; echo $_SESSION["link"];
}else{echo "<input type=\"text\" name=\"link\" id=\"link\" />";  }?>
</li><br>
<li><label for="username"><b>Your username:</b><br><br></label>
<?php	if(isset($_SESSION["username"]))
{echo "<input type=\"hidden\" name=\"username\" id=\"username\" value=\"".$_SESSION["username"]."\"/>";echo $_SESSION["username"];
}else{echo "<input type=\"text\" name=\"username\" id=\"username\" />";  }?>
</li><br>
<input type="submit" name="invia" id="login" value="login" style="margin-left:110px;"/><br>
</form>

<div style="border-style:solid; height:100px; width:110px;padding:10px;margin-left:20px;margin-top:10px;">
						<?php
						
						include 'oggetto1.php';						
						?>
						</div>
						
</div>						
</body>
</html>


PAGINA LOGIN.PHP:

PHP:
<?php session_start(); ?>
<?php 			
		

     $connx=mysql_connect("localhost", "root", "");
     if (!$connx)
     {
     die ("Connessione a Mysql non riuscita. - " . mysql_error());
     }
     $connx_db=mysql_select_db("sito", $connx);
     if (!$connx_db)
     {
     die ("Connessione non riuscita al database specificato. - " . mysql_error());
      }	      	
	  if(isset($_COOKIE["username"])&&isset($_COOKIE["link"])){
      $_SESSION["username"]=$_COOKIE["username"];
      $_SESSION["link"]=$_COOKIE["link"];
      }	  
	  
	 $link = mysql_real_escape_string(trim($_POST['link']));
	 $username = mysql_real_escape_string(trim($_POST['username']));
	
	
	if (is_numeric($link)){
	 
	 $member_control = mysql_query("SELECT link FROM utenti WHERE link = '$link'");
	 if(mysql_num_rows($member_control)) 
	 {
	 $_SESSION["link"]=$link;
	 $_SESSION["username"]=$username;
	 header("Location: index.php"); 
	 	 
	 }
         else
         {
         echo $username; echo "<b> you aren't member  !!!</b><br><br>";
         
                  
         }
         }
         else
         {
if(empty($link)){

         echo $username ; echo " ERROR : link empty !!!<br>";

         }else{
         echo $username ; echo " ERROR : insert only your ID<br>"; 
         }
         }
 
         
      session_write_close();   
        ?>


PAGINA OGGETTO1.PHP


HTML:
<?php 


   $connx=mysql_connect("localhost", "root", "");
     if (!$connx)
     {
     die ("Connessione a Mysql non riuscita. - " . mysql_error());
     }
     $connx_db=mysql_select_db("sito", $connx);
     if (!$connx_db)
     {
     die ("Connessione non riuscita al database specificato. - " . mysql_error());
      }	
	  if(isset($_COOKIE["username"])&&isset($_COOKIE["link"])){
      $_SESSION["username"]=$_COOKIE["username"];
      $_SESSION["link"]=$_COOKIE["link"];
      }
	  
	  
	  
  
  $admin1= mysql_query("SELECT month,day,year,hour,minutes,seconds FROM admin_oggetti WHERE id=1;");
  while ($row1= mysql_fetch_assoc($admin1)){
  $month1 = $row1["month"];
  $day1 = $row1["day"];
  $year1 = $row1["year"];
  $hour1 = $row1["hour"];
  $minutes1 = $row1["minutes"];
  $seconds1 = $row1["seconds"];
  }
  
       
	   
	    echo $_SESSION["username"];
		
	    
        if (isset($_POST['button'])) {
		
    $query= "UPDATE admin SET utenti = ".$_SESSION["username"]." WHERE id = 1"; 
    var_dump($query);//e verifica cosa riporta 
    mysql_query($query); 
    mysql_query("UPDATE admin SET seconds = seconds + 30 WHERE id = 1"); 
    header("Location: index.php");  
        		
		
		
		
		
        }
		
	
  
  ?>
<script type="text/javascript">
/*countdown - conto alla rovescia*/
function countdown()
{
var_anno= ("<?php echo $year1 ; ?>") ;

var_mese= ("<?php echo $month1 ; ?>") ;

var_giorno= ("<?php echo $day1 ; ?>") ;

var_ore= ("<?php echo $hour1 ; ?>") ;

var_minuti= ("<?php echo $minutes1 ; ?>") ;

var_secondi= ("<?php echo $seconds1 ; ?>") ;

data_scandeza= new Date(var_anno,var_mese-1,var_giorno,var_ore,var_minuti,var_secondi);
data_oggi= new Date();
differenza=(data_scandeza-data_oggi);
giorni=parseInt(differenza/86400000);
differenza=differenza-(giorni*86400000);
ore=parseInt(differenza/3600000);
differenza=differenza-(ore*3600000);
minuti=parseInt(differenza/60000);
differenza=differenza-(minuti*60000);
secondi=parseInt(differenza/1000);
differenza=differenza-(secondi*1000);
if (giorni <= "0" && ore <= "0" && minuti <= "0" && secondi <= "0")
{
document.getElementById("countdown").innerHTML="CLOSED";
document.getElementById("xx1").disabled = true;
}
else
{
document.getElementById("countdown").innerHTML=minuti+' min '+secondi+' sec';
setTimeout("countdown()",1000)
}
}


</script>
<div style="border-style:solid; height:60px; width:80px;padding:10px;margin-left:7px;"> 
<body onload="countdown()"><div id="countdown"style="margin-left:3px;"></div>
<div> </div>
<FORM action="oggetto1.php" method="post">
<input type="submit" name="button" value="button" id="xx1" style="margin-left:15px;"/>
</form>

</div>

</input>
</form>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ecco la sessione non è valorizzata
Notice: Undefined variable: _SESSION in C:\xampp\htdocs\oggetto1.php on line 40
string(47) "UPDATE admin SET utenti = WHERE id = 1"
infatti ti da utenti = e non c'è il valore
verifica perchè e ricorda che l'istruzione session_start() deve essere presente in TUTTE le pagine in cui usi le sessioni
 

Alessio Pinna

Nuovo Utente
15 Set 2012
22
0
0
Considerando che l'UPDATE che mi serve è questo :

PHP:
$query= "UPDATE admin SET utenti = ".$_SESSION["username"]." WHERE id = 1"; 
    var_dump($query);//e verifica cosa riporta 
    mysql_query($query);

e considerando che il var_dump mi dice che nella colonna utenti non sto mettendo niente (valore vuoto)

se io provo a fare :
PHP:
echo $_SESSION["username"];
, mi compare sullo schermo il nome dell'utente che ha loggato quindi è una cosa stranissima ... che sta succedendo?

I codici che ho a disposizione li ho scritti tutti , non so prp che fare
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Molte volte l'errore è in una dimenticanza o in una distrazione quindi prova a controllare se esiste un utente che ha id=1 :)
 

Alessio Pinna

Nuovo Utente
15 Set 2012
22
0
0
Considerando le 3 pagine che compongono per adesso il mio sito e vi ho mostrato in 2-3 commenti precedenti ecco la tabella admin (quella che devo far entrare la sessione dell'username dell'utente loggato quando questo preme il pulsante)

http://prntscr.com/1gb2mv

e questa è la struttura :

http://prntscr.com/1gb33p

come potete vedere è presente l'ID = 1 , è presente la colonna utenti ..... non so proprio perchè non avviene l'UPDATE con la sessione , mi manca solo questo :-/
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
altro piccolp dubbio mi sembra che tu abbia definito utenti unique. giusto?
se mella tabella esiste un altro utente col nome uguale alla sessione non te lo uppa in quanto essendo unique non possono essereci due nomi uguali
 
Discussioni simili
Autore Titolo Forum Risposte Data
C Problema con update di un file PHP 6
K Problema con update di un database in un ciclo Classic ASP 1
C Problema con Update di una tabella di un db PHP 3
blips Problema con Update multiplo PHP 1
P problema con l'update della data PHP 30
P Problema con update PHP 93
R Problema con UPDATE su DB mysql MySQL 1
G problema con insert e update PHP 2
jan267 Problema con UPDATE Classic ASP 3
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
N Problema con position absolute e overflow HTML e CSS 4
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
O problema con query PHP 4
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema con eccessiva nitidezza apertura Camera Raw Photoshop 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 5

Discussioni simili