Primo script:
<form id="invia_dati_locandina" action="SalvaLocandina.php" method="POST" target="popup_locandina">
Link locandina<br>
<input type="text" name="link_locandina" size="120"><br>
Titolo film<br>
<input type="text" name="titolo_film" size="60"><br>
Anno film (se il film ha un omonimo)<br>
<input type="text" name="anno_film"><br><br>
Dove vuoi salvare la locandina?<br>
<select name="percorso">
<option value="G:/4_-_Film/Locandine/">In film di G</option>
<option value="E:/XAMPP/htdocs/0-NuoviFilm/Locandine/">In 0-NuoviFilm di E</option>
</select><br><br>
<input type="submit" name="invia_dati" value="Invia dati" onclick="ApriSalva()">
<input type="reset" name="cancella_tutto" value="Elimina dati">
</form>
<script>
function ApriSalva(){
var prima=window.open('','popup_locandina','width=400,height=750');
document.getElementById('invia_dati_locandina').submit();
}
</script>
Secondo script:
$link=$_POST["link_locandina"];
$titolofilm=$_POST["titolo_film"];
$annofilm=$_POST["anno_film"];
$percorso=$_POST["percorso"];
if(ControlloExtImg($link)==true){
$ext=EstensioneImg($link);
if($annofilm!=''){
$nomelocandina=TitoloLocandina($titolofilm).' ('.$annofilm.')'.$ext;
}else{
$nomelocandina=TitoloLocandina($titolofilm).$ext;
}
$percorsolocandina=$percorso.str_replace(' ','_',$nomelocandina);
if(file_exists($percorsolocandina)){
$esiste=true;
}else{
$esiste=false;
}
$dimensioni=[];
$dimensioni=getimagesize($link);
$larghezza=$dimensioni[0];
$altezza=$dimensioni[1];
$rap=$altezza/$larghezza;
$l=Dimensioni($larghezza,$altezza,250)[0];
$a=Dimensioni($larghezza,$altezza,250)[1];
echo "Larghezza immagine: $larghezza<br>";
echo "Altezza immagine: $altezza<br>";
echo "Rapporto altezza/larghezza (ottimale è 1,428): $rap<br>";
SeSitoConosciuto($link);
echo '<div><img width='.$l.' height='.$a.' src='.$link.'></img></div><br><br>';
echo '<form id="salva_locandina" action="Conferme.php" method="POST" target="popup_salvataggio">';
echo '<input type="hidden" name="link" value='.$link.' /><br>';
echo '<input type="hidden" name="percorso_locandina" value='.$percorsolocandina.' /><br>';
echo '<input type="radio" name="salva" value="si" checked="si">Salva la locandina<br>';
echo '<input type="radio" name="salva" value="no" >Non salvare la locandina<br>';
echo '<input type="submit" name="conferma_salvataggio" value="Conferma scelta" onclick="ApriConferme()"><br>';
echo '</form><br>';
}else{
echo "Il formato dell'immagine non è accettabile<br>";
}
?>
<script>
function ApriConferme(){
var seconda=window.open('','popup_salvataggio','width=400,height=450');
document.getElementById('salva_locandina').submit();
Con la prossima riga chiudo la prima popup, che quindi si chiude appena la seconda viene caricata.
Ho anche usato l'evento load, ma non ce n'è bisogno.
window.open('','popup_locandina','width=400,height=750').close();
Con la prossima riga (codice trovato in rete) passo la variabile $esiste da PHP a javascript
var $esiste = <?php echo json_encode($variabilePHP, JSON_HEX_TAG); ?>;
Se $esiste è false voglio che questa seconda poup si chiuda in qualche attimo, altrimenti la chiuderò
dalla prossima popup come ho fatto qui per chiudere la prima (se $esiste è false non ci saranno altre popup)
if($esiste==false){
setTimeout(function() {
seconda.close();
}, 10000);
}
</script>
Come ho detto nel mio primo post, si chiude la prima popup ma la seconda rimane aperta. Se non chiudo la prima, invece, la funzione di chiusura della seconda popup fa il suo dovere. Non ne comprendo il motivo.
Comunque ho risolto mettendo i vari setTimeout in tutte le possibili ramificazioni dei vari if else. È un po' bruttino e ripetitivo, ma funziona (e poi tanto l'utente non si lamenterà di sicuro dato che è tutto in locale e l'unico utente sono io).
Spero di essere stata chiara, grazie in anticipo per qualsiasi risposta.