Risolvere i problemi dei messaggi:-> Notice: Undefined index

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
43
Massa, Italy
Salve, sto facendo un gioco di ruolo iniziando con uno già fatto non da me.

Ora ho dei problemi con i messaggi -> Notice: Undefined index.

Alcuni lo risolti.. ma alcuni non riesco proprio
PHP:
<?php if(($_SESSION['datiuser']['livello_razza'])==1 && (!$_SESSION['admin']) && (!$_SESSION['master']))
		{
			echo '<td><a href="http://forum.mrwebmaster.it/amministrazione/gst_razza.php?id='.$_SESSION['datiuser']['razza_id'].'" target="centro">gestisci la tua razza</a></td>';
	
		}	
		?>
come faccio ad levarli.. essendo che il giocatore semplice non ha quei permessi lì. per far che gestisce quei link che hanno messo lì.

Mi dite qual'è il metodo come risolverli i messaggi di notice?

scordavo mi da errori :

Notice: Undefined index: admin in D:\xampp\htdocs\opengdr\inc\head.php on line 64

Notice: Undefined index: master in D:\xampp\htdocs\opengdr\inc\head.php on line 64

idee?
grazie mille.
 
ciao
la logica di quell'if sembrerebbe:
se sessione razza ==1 e non esiste sessione admin e non esiste sessione master prova ad aggiungere isset

PHP:
<?php
if(($_SESSION['datiuser']['livello_razza'])==1 && (!isset($_SESSION['admin'])) && (!isset($_SESSION['master'])))
{
	echo '<td><a href="http://forum.mrwebmaster.it/amministrazione/gst_razza.php?id='.$_SESSION['datiuser']['razza_id'].'" target="centro">gestisci la tua razza</a></td>';    
}    
?>
 
ok. ora ho questo messaggio:

PHP:
if($act=='ritira'){//se l'utente vuole ritirare la paga
	$gilda_id=$_SESSION['datiuser']['gilda_id'];//prende la gilda dell'utente
	$livello=$_SESSION['datiuser']['livello_gilda'];//prende il livello che l'utente ha nella gilda
	$livello_gilda=mysql_fetch_array(sql_query('SELECT * FROM livelli_gilde WHERE gilda_id="'.$gilda_id.'" AND priorita="'.$livello.'";'));//cerca le informazioni sul livello di gilda dell'utente, per poi cercare il suo stipendio
	$stipendio=$livello_gilda['stipendio'];
	$last=explode('-',$_SESSION['datiuser']['last_stipendio']);//ora controlla l'ultimo momento in cui l'utente ha preso lo stipendio, qui sotto controlla che non sia lo stesso giorno, se è lo stesso giorno non lascerà prendere la paga all'utente
	if(($last[2])==(date('Y'))){
		if(($last[1])==(date('m'))){
			if(($last[0])==(date('d'))){
				die('<script type="text/javascript">alert("Oggi hai gia preso lo stipendio, ritorna domani...");</script>');
			}
		}
	}
	$last_stipendio_new=date('d-m-Y');//crea una nuova data di pagamento per l'utente
	$dai_paga=sql_query('UPDATE users SET denaro="'.($_SESSION['datiuser']['denaro']+$stipendio).'",last_stipendio="'.$last_stipendio_new.'" WHERE id="'.$_SESSION['datiuser']['id'].'";');//aggiorna il denaro dell'utente sommandolo alla paga
	die('<script type="text/javascript">alert("stipendio ritirato");</script>');
}

ed ottento questo errore:
Notice: Undefined offset: 2 in D:\xampp\htdocs\opengdr\banca.php on line 53
ad questa riga:
if(($last[2])==(date('Y'))){

avete idee?
grazie mille e buona serata.
 
ciao
verifica con un var_dump come è formattata la data
PHP:
<?php
//........
    var_dump($_SESSION['datiuser']['last_stipendio']);//prima dell'explode dovrebbe darti string(xy) ....
	$last=explode('-',$_SESSION['datiuser']['last_stipendio']);
	var_dump($last);//dopo l'explode dovrebbe darti array e come è fatto l'array
//.........
?>
perche se la data è (es) 12-01 2013 la $last[2] non esiste
 

Discussioni simili