Non riesco a capire cosa mi sfugge.
Ho studiato da poco php ed ero (fino a poco fa) certa che non fossero raggiungibili, dall'esterno, solo le variabili inizializzate ed utilizzate all'interno delle funzioni (se si escludono le eccezioni). Ora però mi sovvengono dei dubbi poiché ottengo un errore (Notice: undefined) cercando di accedere ad una variabile inizializzata all'interno di un' istruzione if-else
Però mi sembra strano. Forse l'errore è di altro tipo 
Il codice:
index.php
Codice PHP:
<?php include('header.php');
?>
<div id=header>
<a href="index.php"><img id="logo" src="<?php echo $logo; ?>" alt=""/></a>
</div>
header.php
Codice PHP:
<?php
$folder = 'Loghi/';
$logo="";
if(isset($_POST['submit'])){
$target_dir='C:/Users/******/Documents/offline/htdocs/libri/Loghi/';
$img_temp=$_FILES['userfile']['tmp_name'];
$img_name=$_FILES['userfile']['name'];
$img_type=$_FILES['userfile']['type'];
$img_size=$_FILES['userfile']['size'];
$homepage= '<a id="comeback" href="index.php">Torna alla homepage</a>';
if($img_size > 1048576){
echo "L'immagine caricata è troppo grande";
echo $homepage;
} elseif (file_exists($target_dir . basename($img_name))){
echo "L'immagine caricata è già esistente.";
echo $homepage;
} elseif (($img_type!= "image/png")&&($img_type!= "image/jpg")&&($img_type!= "image/jpeg")) {
echo "Solo le estensioni .jpg, .png e .jpeg sono ammesse.";
echo $homepage;
} else {
if((move_uploaded_file($img_temp, $target_dir.$img_name))){
echo "L'immagine è stata caricata con successo.";
$logo=$folder.$img_name;
echo $homepage;
} else {
echo "Non è stato possibile caricare l'immagine.";
}
}
}
if (isset($_POST['submit1']) && !empty($_POST['immagine']))
{
$logo=$folder.$_POST['immagine'];
echo "<a href='index.php'> Torna alla Homepage</a>";
}
?>
openloghi.php
Codice PHP:
<form method="post" action="header.php">
<?php
$target_dir='Loghi/';
if ($handle = opendir($target_dir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "<img class='banner'src='".$target_dir.$file."' alt='banner-libri'/><input type='radio' name='immagine' value='".$file."'></input> <br/>";
}
}
closedir($handle);
}
?>
<input id="submit" name="submit1" type="submit" value="Invia">
</form>
Tento di generare il logo/banner del sito concedendo all'utente di scegliere tra i file sul suo pc o selezionando un'immagine già caricata sul server. Per ora sono in locale.
Ho messo quasi tutto il codice per completezza, ma in realtà il problema è solo in header.php
Ottengo un errore Notice: undefine variable logo in index.php
Grazie in anticipo per ogni eventuale risposta