aiuto: form che dovrebbe restituire immagine

  • Creatore Discussione Creatore Discussione lolalfa
  • Data di inizio Data di inizio

lolalfa

Nuovo Utente
13 Giu 2016
7
1
3
49
Salve a tutti! Aiutatemi:
l'utente inserisce in un form le informazioni richieste, preme invio, e gli si apre una nuova finestra popup in cui compare un immagine in cui è stato stampato il testo inserito nel form.
Solamente che quando vado ad eseguire questa azione nel nuovo sito che sto mettendo su mi esce l'icona dell'immagine non caricata con accanto la scritta "aaa" (che sicuramente prende da alt=aaa).

Ecco i tre file php

form

Codice:
<?phpif(isset($_POST['nome'])){
$filename = $_POST['nome'];
}
if(isset($nome)){ 
echo $nome;
};
if(isset($_POST['grado'])){
$filename = $_POST['grado'];
}
if(isset($grado)){ 
echo $grado;
};
if(isset($_POST['officiante'])){
$filename = $_POST['officiante'];
}
if(isset($officiante)){ 
echo $officiante;
};
if(isset($_POST['arcibat'])){
$filename = $_POST['arcibat'];
}
if(isset($arcibat)){ 
echo $arcibat;
};
if(isset($_POST['diobat'])){
$filename = $_POST['diobat'];
}
if(isset($diobat)){ 
echo $diobat;
};
if(isset($_POST['databat'])){
$filename = $_POST['databat'];
}
if(isset($databat)){ 
echo $databat;
};
if(isset($_POST['submit'])){
$filename = $_POST['submit'];
}
if(isset($submit)){ 
echo $submit;
};
?>
<html>
<head>
<title>Certificato Battesimo</title>
</head>
<body>
<form action="certificato_battesimo.php" method="post" target="foo" onsubmit="window.open('', 'foo','width=520,height=620,status=yes,resizable=yes,scrollbars=yes')">
Nome Battezzato:<br />
<input type="text" size="12" maxlength="20" name="nome"><br />
Officiante Battesimo:<br />
<input type="text" size="12" maxlength="20" name="officiante"><br />
Grado:<br />
<select name="grado">
<option value="Papa">Papa</option>
<option value="Cardinale Camerlengo">Cardinale Camerlengo</option>
<option value="Cardinale Arcidiacono di Roma">Cardinale Arcidiacono di Roma</option>
<option value="Cardinale Romano Elettore">Cardinale Romano Elettore</option><option value="Cardinale Nazionale Elettore">Cardinale Nazionale Elettore</option>
<option value="Cardinale Nazionale Suffragante">Cardinale Nazionale Suffragante</option>
<option value="Cardinale Emerito">Cardinale Emerito</option>
<option value="Arcivescovo Metropolita">Arcivescovo Metropolita</option>
<option value="Arcivescovo">Arcivescovo</option>
<option value="Vescovo">Vescovo</option>
<option value="Parroco">Parroco</option>
<option value="Abate Cistercense">Abate Cistercense</option>
<option value="Priore Cistercense">Priore Cistercense</option>
<option value="Monaco Cistercense">Monaco Cistercense</option>
<option value="Monaco Domenicano">Monaco Domenicano</option>
<option value="Presbitero">Presbitero</option>
<option value="Diacono">Diacono</option>
<option value="Suddiacono">Suddiacono</option>
<option value="Vicario Parrocchiale">Vicario Parrocchiale</option>
<option value="Arcidiacono Primo">Arcidiacono</option>
<option value="Vicario Genarale">Vicario Genarale</option>
<option value="Arcidiacono">Arcidiacono</option>
<option value="Vicario Diocesano">Vicario Diocesano</option></select><br />
Arcidiocesi Battesimo:<br />
<select name="arcibat">
<option value="Aquileia">Aquileia</option>
<option value="Genova">Genova</option>
<option value="Milano">Milano</option>
<option value="Firenze">Firenze</option>
<option value="Pisa">Pisa</option>
<option value="Siena">Siena</option>
<option value="Ravenna">Ravenna</option>
<option value="Roma">Roma</option>
<option value="Capua">Capua</option>
<option value="In Nave">In Nave</option></select><br />
Parrocchia Battesimo:<br />
<select name="diobat">
<option value="Venezia">Venezia</option>
<option value="Padova">Padova</option>
<option value="Parenzo">Parenzo</option>
<option value="Pola">Pola</option>
<option value="Portogruaro">Portogruaro</option>
<option value="Treviso">Treviso</option>
<option value="Mantua">Mantua</option>
<option value="Udine">Udine</option>
<option value="Genova">Genova</option>
<option value="Chiavari">Chiavari</option>
<option value="La Spezia">La Spezia</option>
<option value="Albenga">Albenga</option>
<option value="Ventimiglia">Ventimiglia</option>
<option value="Milano">Milano</option>
<option value="Como">Como</option>
<option value="Lodi">Lodi</option>
<option value="Alessandria">Alessandria</option>
<option value="Novara">Novara</option>
<option value="Savona">Savona</option>
<option value="Pavia">Pavia</option>
<option value="Firenze">Firenze</option>
<option value="Pistoia">Pistoia</option>
<option value="Montevarchi">Montevarchi</option>
<option value="Pisa">Pisa</option>
<option value="Volterra">Volterra</option>
<option value="Livorno">Livorno</option>
<option value="San Miniato">San Miniato</option>
<option value="Massa">Massa</option>
<option value="Siena">Siena</option>
<option value="Orbetello">Orbetello</option>
<option value="Grosseto">Grosseto</option>
<option value="Santa Fiora">Santa Fiora</option>
<option value="Piombino">Piombino</option>
<option value="Modena">Modena</option>
<option value="Mirandola">Mirandola</option>
<option value="Guastalla">Guastalla</option>
<option value="Parma">Parma</option>
<option value="Fornovo">Fornovo</option>
<option value="Piacenza">Piacenza</option>
<option value="L'Aquila">L'Aquila</option>
<option value="Arezzo">Arezzo</option>
<option value="Montepulciano">Montepulciano</option>
<option value="Teramo">Teramo</option>
<option value="Silvi">Silvi</option>
<option value="Chieti">Chieti</option>
<option value="Sulmona">Sulmona</option>
<option value="Avezzano">Avezzano</option>
<option value="Tagliacozzo">Tagliacozzo</option>
<option value="Terracina">Terracina</option>
<option value="Pontecorvo">Pontecorvo</option>
<option value="Capua">Capua</option>
<option value="Sessa Aurunca">Sessa Aurunca</option>
<option value="Gaeta">Gaeta</option>
<option value="Sora">Sora</option>
<option value="Verona">Verona</option>
<option value="Rijeka">Rijeka</option>
<option value="In Nave">In Nave</option></select><br />
Data battesimo:<br />
<script language="javascript" type="text/javascript" src="datetimepicker.js">


</script>


<input id="demo1" type="text" size="25" name="databat"><a href="javascript:NewCal('demo1','ddmmyyyy')"><img src="http://virgus87.altervista.org/images/cal.gif" width="16" height="16" border="0" alt="Pick a date"></a><br /><br />


<input type="submit" value="submit" name="submit">
</form>

file creaimm_batt.php crea l'immagine dal form

Codice:
<?function imagettftextalign($image, $size, $angle, $x, $y, $color, $font, $text, $alignment='L')
{


$bbox = imagettfbbox ($size, $angle, $font, $text);
$textWidth = $bbox[2] - $bbox[0];
switch ($alignment) {
case "R":
$x -= $textWidth;
break;
case "C":
//$x -= $textWidth / 2;
$x=ceil((500 - $bbox[2]) / 2);
break;
}



imagettftext ($image, $size, $angle, $x, $y, $color, $font, $text);


}


if(isset($_GET['databat'])){
$filename = $_GET['databat'];
}
if(isset($databat)){ 
echo $databat;
};
if(isset($_GET['nome'])){
$filename = $_GET['nome'];
}
if(isset($nome)){ 
echo $nome;
};
if(isset($_GET['grado'])){
$filename = $_GET['grado'];
}
if(isset($grado)){ 
echo $grado;
};
if(isset($_GET['officiante'])){
$filename = $_GET['officiante'];
}
if(isset($officiante)){ 
echo $officiante;
};
if(isset($_GET['diobat'])){
$filename = $_GET['diobat'];
};
if(isset($diobat)){ 
echo $diobat;
};
if(isset($_GET['arcibat'])){
$filename = $_GET['arcibat'];
}
if(isset($arcibat)){ 
echo $arcibat;
};
//$riga1="In data $datamat nella parrocchia di";
$riga1="Il nuovo fedele dell'Altissimo chiamato";
$riga2= "$nome";
$riga3= "ha ricevuto il sacramento del battesimo,";
$riga4= "dal $grado $officiante";
$riga5= "nella parrocchia di $diobat, arcidiocesi di $arcibat,";
$riga6= "in data $databat.";


// Intestazione per la creazione di un'immagine jpeg
header('Content-Disposition: Attachment;filename=certificato_battesimo.jpg'); 
header("Content-type: image/jpeg");


$immagine = imagecreatefromjpeg("1zgdi07.jpg");


// Creazione del colore del testo dell'immagine
$ctesto = imagecolorallocate($immagine, 72, 48, 24);


$font = './CloisterBlack.ttf';
// parametri: nome immagine, dimensione font, inclinazione, posx, posy, colore testo, font, testo
imagettftextalign($immagine, 16, 0, 100, 360, $ctesto, $font, $riga1, "C");
imagettftextalign($immagine, 20, 0, 200, 390, $ctesto, $font, $riga2, "C");
imagettftextalign($immagine, 16, 0, 110, 420, $ctesto, $font, $riga3, "C");
imagettftextalign($immagine, 16, 0, 190, 450, $ctesto, $font, $riga4, "C");
imagettftextalign($immagine, 16, 0, 50, 480, $ctesto, $font, $riga5, "C");
imagettftextalign($immagine, 16, 0, 180, 510, $ctesto, $font, $riga6, "C");


// Stampa a video dell'immagine
imagejpeg($immagine);


// Distruzione dell'oggetto image
imagedestroy($immagine);
?>

infine questo chiamato certificato_battesimo.php restituisce nel frontend aprendo il popup l'immagine con il testo stampato

Codice:
<html><head>
<title>Certificato di Battesimo</title>
</head>
<body>
<?php
if(isset($_POST['nome'])){
$filename = $_POST['nome'];
}
if(isset($nome)){ 
echo $nome;
};
if(isset($_POST['grado'])){
$filename = $_POST['grado'];
}
if(isset($grado)){ 
echo $grado;
};
if(isset($_POST['officiante'])){
$filename = $_POST['officiante'];
}
if(isset($officiante)){ 
echo $officiante;
};
if(isset($_POST['arcibat'])){
$filename = $_POST['arcibat'];
}
if(isset($arcibat)){ 
echo $arcibat;
};
if(isset($_POST['diobat'])){
$filename = $_POST['diobat'];
}
if(isset($diobat)){ 
echo $diobat;
};
if(isset($_POST['databat'])){
$filename = $_POST['databat'];
}
if(isset($databat)){ 
echo $databat;
};
if(isset($_POST['submit'])){
$filename = $_POST['submit'];
}
if(isset($submit)){ 
echo $submit;
};
?>
<img src="creaimm_bat.php?databat=<?=$databat?>&diobat=<?=$diobat?>&nome=<?=$nome?>&grado=<?=$grado?>&officiante=<?=$officiante?>&arcibat=<?=$arcibat?>&" border="0" align="top" alt="aaa" />
</body>
 
ti passo un pezzetto di codice che funziona,
le particolarità, l'immagine è salvata e la sequenza degli "header"
(gif o jpg é simile)
PHP:
  // -------------------------------------------------- //
  //                    GENERATE
  // -------------------------------------------------- //

  header('Content-type: image/gif');
  imagegif($im, "image.gif");
  imagedestroy($im);

  header('Content-type: text/html');
echo "
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type'
content='text/html; charset=UTF-8'>
</head>
<body>
<h2>Spectacular Gif</h2>
<img src='image.gif' alt='Gif View' style='width:900px;height:300px;'>
</body>
</html>
";
 
Ultima modifica:
Grazie per la risposta! Quel pezzo di codice in quale dei tre file dovrei inserirlo? :p

Comunque ho verificato il codice sorgente con F12. In effetti nel popup creato da certificato_battesimo.php. mi esce tra le varie parti di codice della pagina alcuni avvisi come "notice: undefined variable: officiante" ad esempio. Per tutte le mie variabili.

Ho notato inoltre che levando questa parte di codice:

<img src="creaimm_bat.php?databat=<?=$databat?>&diobat=<?=$diobat?>&nome=<?=$nome?>&grado=<?=$grado?>&officiante=<?=$officiante?>&arcibat=<?=$arcibat?>&" border="0" align="top" alt="aaa" />

non appare come giusto che sia nessuna immagine e credo che l'errore possa risiedere in creaimm_bat.php. Eppure su un altro sito tutto funziona!
 

Discussioni simili