Tlac obrazku vykresleneho cez php – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Tlac obrazku vykresleneho cez php – PHP – Fórum – Programujte.comTlac obrazku vykresleneho cez php – PHP – Fórum – Programujte.com

 

shuto0
Duch
17. 6. 2011   #1
-
0
-

Zdravím.Robím jednuduchý kupónový systém kde uživateľ zadá meno, to sa spolu s náhodne vytvoreným kódom vpíśe do obrázku a zobrazí. Potreboval by som ho po zobrazení vytlačiť bez akéhokoľvek kliknutia.(proste hneď vyhodí okno tlače).
Vie niekto pomôcť?A ďalšia podotázka: ako nastavím iný charset?(pretože mi to nechce vypisovať ľ,š,č,ť,ž).Díky

<?php

$meno=$_GET["name"];

function kontrola()
{
$db="dat";
$tab="tab";
$connection=mysql_connect("server","meno","heslo") or die("neeeeeee");
mysql_select_db($db, $connection);
$dotaz = "SELECT meno FROM $tab WHERE meno LIKE '%$_GET[name]%'";
$query = mysql_query($dotaz) or die("SQL dotaz nešlo provést");
while($zaznam = mysql_fetch_array($query) )
{
$vysl= $zaznam["meno"];
}
if ($GLOBALS['meno'] == $vysl){
echo 'Na zadane meno je uz poukaz vystaveny!';
echo'<br>';
echo '<a href="http://stranka.sk/generator/">Spat</a>';
}
else{


//////////////////////////////////////////


function nahodneheslo ($meno)
{
$moznosti= array("1","2","3","4","5","6","7","8","9","0","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
$mista="10";

$kod="";

for ($i=0 ;$i<=$mista-1 ;$i++)
{
$nahoda=rand(0, count($moznosti)-1);
$kod.=$moznosti[$nahoda];
}
//zistenie IP
$ip=$_SERVER["REMOTE_ADDR"];
//Zápis do databázy
$db="dat";
$tab="tab";
$connection=mysql_connect("server","meno","heslo") or die("neeeeeee");
mysql_select_db($db, $connection);
mysql_query("INSERT INTO $tab values ('$ip', '$kod' ,'0','$meno')",$connection);
return $kod;
}

//$code = nahodneheslo($_GET["name"]);

function obrazok()
{
//obrazok
$font_file = 'calibri.ttf';//font file
$font_size=15; //font size
$image_file= 'kupon.jpg'; //image file
///////////////////////////////////////////////////////

//vytvorenie obrazku
$image = imagecreatefromjpeg($image_file);

//farba textu
$font_color = imagecolorallocate($image, 67, 67, 67);

//imagettftext(image,font size ,angle,x-axis,y-axis,color,font file, text);
$px= (Imagesx($image) - 155);
imagettftext($image, $font_size, 0, 25, 170, $font_color, $font_file, $GLOBALS['meno']);
imagettftext($image, $font_size, 0, $px, 170, $font_color, $font_file, nahodneheslo($_GET["name"]));
//vytup hlavicky stranky
Header('Content-type: image/jpeg;');

//vystup obrazku ako jpg
imagejpeg($image , NULL, 100);

//uvolnenie server pamate
imagedestroy($image);
//konec obrazok
//printing
}
//vyvolane Funkcie
obrazok();
}}
kontrola();

?>


P.S: viem,že to neni moc dobre napísané ale len pred nedávnom som začal s PHP

Nahlásit jako SPAM
IP: 178.40.74.–
insider0
Věrný člen
17. 6. 2011   #2
-
0
-

tisk pres javascript
charset - zkus nastavit hlavicky, popr vyzkousej iconv pro prevod mezi kodovanim

Nahlásit jako SPAM
IP: 90.178.222.–
I don't want to see you go,[br] The sky is over[br] Even though we can't afford[br] The sky is over,[br] The sky is over us.[br][br] CIVILIZATION IS OVER
shuto0
Duch
17. 6. 2011   #3
-
0
-

skusal som javu ,presnejsie:

<script language="javascript" type="text/javascript">

window.print();
</script>

ale nedialo sa nic. Mozno som ho len zle zaclenil do kodu.Nejaky napad kam to pichnut?

Nahlásit jako SPAM
IP: 178.40.74.–
3517
~ Anonymní uživatel
1 příspěvek
17. 6. 2011   #4
-
0
-

a co treba:

<a href="javascript:void(0)" onclick="window.print();">Tisknout</a>

Nahlásit jako SPAM
IP: 80.95.113.–
shuto0
Duch
17. 6. 2011   #5
-
0
-

hmm...dobry napad len som to chcel automaticky a pri content-type image/jpeg myslim odkaz neukaze:/

Nahlásit jako SPAM
IP: 178.40.74.–
CZechBoY+4
Věrný člen
17. 6. 2011   #6
-
0
-

pokud chceš do stránky vložit obrázek generovaný PHP tak musíš udělat druhý soubor, ten ti pošle Header:Content-type:image/xxx a pošle data obsahující obrázek, nemůžeš dát echo $image a zobrazí ti to vygenerovaný obrázek :D

pokud chceš formulář odeslat ihned po načtení stránky tak dáš window.onload=function(){form.submit()}

Nahlásit jako SPAM
IP: 213.192.10.–
shuto0
Duch
17. 6. 2011   #7
-
0
-

nie nechcem vkladať do stránky, vytvorím novú samostatnú typu image/xxx. Teraz som skúsil vyskakovací dialóg(po kliknutí na ok vytlačí).V podstate to funguje ale asi zle umiestnené, pretože dialóg vyhodí až po refreshi stránky(čiže po ďalšej kontrole mena a to už vyhodí, že meno už je použité).Kam to vložiť aby to vyhadzovalo po načítaní obrázku?

Toto je ten dialóg:

<SCRIPT language="JavaScript">

<!--
var dotaz = confirm("Prajete si vytlacit stranku???");

if (dotaz){
window.print();
}else{
alert("zrusit");
}
//-->
</SCRIPT>


A CZechBoY kam dať ten window.onload...pardon ak sú otázky primitívne ale prednedávnom som začal s PHP takže newbie

Nahlásit jako SPAM
IP: 178.40.74.–
CZechBoY+4
Věrný člen
20. 6. 2011   #8
-
0
-

window.onload dej kamkoliv do <script>, nejspíš do tagu <head>

Nahlásit jako SPAM
IP: 213.192.10.–
shuto0
Duch
20. 6. 2011   #9
-
0
-

ok...vyriesil som to inak..obrazok som ulozil do na ftp...v dalsom kroku som ho vyvolal do popupu a ten vytlacil..ale aj tak dakujem za radu

Nahlásit jako SPAM
IP: 178.40.50.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 16 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý