[PHP] Stampare dati Form su immagine di sfondo con html

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Salve a tutti sono nuovo ;)

Avrei l'esigenza di stampare su una immagine (che fungerà da sfondo) i dati che un utente ha inviato da un form dopo averlo compilato. (mi stampa solo il testo e non ho la possibilità di salvare l'immagine in JPG)

Ad esempio:

il form contiene questi dati: nome, cognome, città, data di nascita, etc

compilati i campi ed inviato l'utente si ritrova l'immagine come sfondo, provate: qui



<html>
<head>
<body>

<div id="container">
<p id="dichiarazione">
<i> <b> <BODY TEXT="#8B0000"> Il fedele dell'Altissimo chiamato <br /> <?php echo $nome=$_POST["nome"] ; ?> <br /> dopo la prematura morte, <br /> ha ricevuto il sacramento del funerale, <br />
dal <?php echo $grado=$_POST["grado"]; ?> <?php echo $officiante=$_POST["officiante"]; ?><br />
nella Parrocchia di <?php echo $diofun=$_POST["diofun"]; ?>, Arcidiocesi di <?php echo $arcifun=$_POST["arcifun"]; ?>, <br />
in data <?php echo $datafun=$_POST["datafun"]; ?>.<br /> </b> </i>
<p>
</div>


<style type="text/css">


div#container {background: url("http://iabasic1.altervista.org/images/certificato_funerale.jpg") no-repeat scroll center top #8B0000; width: 500px; height: 600px;}
p#dichiarazione{text-align:center; font-size:1.2em; position:relative; top: 350px;}


@font-face {
font-family: "12th c. Fancy Caps";
src: url(http://dl.dafont.com/dl/?f=12th_century_caps) format("truetype");
}
h1 { font-family: "12th c. Fancy Caps", sans-serif }
}

</style>


</head>
</body>
</html>
 
Ciao, le impostazioni del browser o della stampante dell'utente possono bloccare la stampa dello sfondo dell pagine web.
Ti conviene inserire un tag img all'interno del contenitore e usare le proprietà position relative e absolute dei css
Codice:
<div id="container" style="position: relative;">
      <img src="immagini/sfondo.jpg" style="position: absolute;top:0;lef:0;z-index: -1;" alt="sfondo"/>
 
Veramente vorrei che l'utente non la stampasse ma che la salvasse come immagine jpg

Se sostituisco il tuo div id con il mio div#container mi dà solo il testo su sfondo bianco...
 
devi controllare il percorso dell'immagine io l'ho messo a caso
<img src="immagini/sfondo.jpg"
e ripetere le dimensioni
width: 500px; height: 600px;}
 
sbagli qualcosa, a me funziona.
HTML:
<script>
    window.onload = function () {
        print();
    }
</script>
<style type="text/css">
    div#container { width: 500px; height: 600px;}
    p#dichiarazione{text-align:center; font-size:1.2em; position:relative; top: 350px;}
    @font-face {
        font-family: "12th c. Fancy Caps";
        src: url(http://dl.dafont.com/dl/?f=12th_century_caps) format("truetype");
    }
    h1 { font-family: "12th c. Fancy Caps", sans-serif }
</style>
<div id="container" style='position: relative;'>
    <img src='http://iabasic1.altervista.org/images/certificato_funerale.jpg' style='position: absolute;top:0;lef:0;z-index: -1;'/>
    <p id="dichiarazione">
        <i>
            <b>  Il fedele dell'Altissimo chiamato <br />
                testo <br />
                dopo la prematura morte, <br />
                ha ricevuto il sacramento del funerale, <br />
                dal Papa <br />
                nella Parrocchia di Venezia, Arcidiocesi di Aquileia, <br />
                in data .<br />
            </b>
        </i>
    </p>
</div>
 
Ho appena provato, ma non mi deve stampare l'immagine con la stampante, mi deve scrivere il testo su quell'immagine di sfondo e dar possibilità di salvarla come immagine JPEG

Unire sfondo e testo = immagine jpeg
 
quindi tasto destro e "salva immagine con nome" ? in questo caso bisogna creare l'immagine con le librerie GD di php
 
aiutarti volentieri ma per fare lo script da zero ci vuole un bel po. bisogna studiarsi bene la libreria e magari partire da qualche esempio già pronto che si trova su internet. Comincia a cercare tra gli snippet pubblicati in rete sicuramente trovi qualcosa che gli si avvicina molto poi si può addattare. In alternativa prova a postare nella sezione offerte e richieste di lavoro, puoi anche indicare nel titolo [gratuito]
 
quello è solo un form per l'inserimento dei dati, manca tutta la parte php per la creazione dinamica dell'immagine
dai una letta qui
 
No.... Quella è la pagina che si trova sul server....
Mentre il form inserito con Jumi sul sito alla quale pesca l'immagine e tutto è questo:

Codice:
<?php
$nome = $_POST["nome"];
$grado = $_POST["grado"];
$officiante = $_POST["officiante"];
$arcifun = $_POST["arcifun"];
$diofun = $_POST["diofun"];
$datafun = $_POST["datafun"];
if (!isset($_POST['submit'])) { // if page is not submitted to itself echo the form
?>
<html>
<head>
<title>Certificato Funerale</title>
</head>
<body>
<form action="certificato_funerale.php" method="POST" target="foo" onsubmit="window.open('', 'foo','width=520,height=620,status=yes,resizable=yes,scrollbars=yes')"> 
Nome Defunto:<br />
<input type="text" size="12" maxlength="20" name="nome"><br />
Officiante Funerale:<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 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="Primate">Primate</option>
<option value=" Vice Primate">Vice Primate</option>
<option value="Vice Primate Primo">Vice Primate Primo</option>
<option value="Vicarius Urbis">Vicarius Urbis</option>
<option value="Patriarca">Patriarca</option>
<option value="Arcivescovo Metropolita">Arcivescovo Metropolita</option>
<option value="Vicario Generale">Vicario Generale</option>
<option value="Vicario Generale Aggiunto">Vicario Generale Aggiunto</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="Arcidiacono">Arcidiacono</option>
<option value="Vicario Diocesano">Vicario Diocesano</option></select><br />
Arcidiocesi Funerale:<br />
<select name="arcifun">
<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 Funerale:<br />
<select name="diofun">
<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 funerale:<br />
<script language="javascript" type="text/javascript" src="datetimepicker.js">

//Date Time Picker script- by TengYong Ng of http://www.rainforestnet.com
//Script featured on JavaScript Kit (http://www.javascriptkit.com)
//For this script, visit http://www.javascriptkit.com

</script>

<input id="demo1" type="text" size="25" name="datafun"><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="Crea certificato di Funerale" name="submit">
</form>

<?
} else {
echo "Il nuovo fedele dell'Altissimo chiamato ".$nome.",<br />";
echo "dal ".$grado." <i>".$officiante."</i><br />";
echo "nella Parrocchia di ".$diobat.", Arcidiocesi di ".$arcibat.",<br />";
echo "in data ".$databat.".<br />";
}
?>
 
manca comunque la parte php per creare l'immagine e non è poco, va inserita nell'else della condizione
PHP:
if (!isset($_POST['submit'])) {
anzi anche l'assegnazione delle variabili $_POST andrebbe inserita dopo per non generare warning php
 
il form che hai postato apre la pagina certificato_funerale.php passando tutti i dati inserit e fin qui ci siamo,
all'interno ci vorebbe una struttura simile a questa
PHP:
<?php

if (isset($_POST['submit'])) {
    $nome = $_POST["nome"];
    $grado = $_POST["grado"];
    $officiante = $_POST["officiante"];
    $arcifun = $_POST["arcifun"];
    $diofun = $_POST["diofun"];
    $datafun = $_POST["datafun"];

    // dichiarazione del tipo di immagine
    header("Content-type:image/jpeg");

    // tutte le funzione che servono per la creazione dell'immagine con i dati ricevuti
} else {
    echo "questa pagina ha bisogno di parametri";
}
 
eh lo so, non è facile. La rogna più che altro è creare i vari testi con i font giusti e posizionarli perfettamente con le coordinate x e y, per creare lo sfondo ti basta qeusto codice
PHP:
header("Content-type:image/jpeg");

$img = imagecreatefromjpeg('http://iabasic1.altervista.org/images/certificato_funerale.jpg');
imagealphablending($img, true);
imagesavealpha($img, true);
imagepng($img);
ci vuole pazienza, provare e riprovare e cercare su internet la sintassi delle varie funzioni da utilizzare. Ci vuole tempo, e un po di esperienza, per questo ti avevo consigliato di fartelo fare da qualcuno.
 

Discussioni simili