Avatar billede fhansen Praktikant
23. november 2009 - 23:16 Der er 6 kommentarer og
1 løsning

udskriv PDF formular efter at data er blevet gemt

Hejsa.

Jeg har lidt problemmer med at få udskrevet en formular oprettet, med fpdf.

jeg har en side, hvor brugeren indtaster en del oplysninger, tilsidst skal brugeren udskrive en formular til brug for underskrift, men inden denne udskrives, skal oplysningerne gemmes i mysql.
Jeg kan få de 2 ting til at virke hver for sig, men ikke sammen.

Hvis jeg kalder submit, på en denne form  <form name="opret" method="post" action="../Docs/scripts/salefrm.php" /> bliver formularen åbnet og udskrevet korrekt, men functionen der gemmer data, bliver ikke kaldt.

Egentlig vil jeg gerne have, at formularen først bliver udskrevet efter at data er blevet godkendt og gemt i databasen, men hvordan får jeg $_POST[] til at fungere inde fra min function.
Avatar billede showsource Seniormester
24. november 2009 - 08:35 #1
øhh, noget kode for det du vil, kan nok hjælpe !

Men først poster du, gemmer i db, og efterflg. henter du så fra db til fpdf
Avatar billede fhansen Praktikant
24. november 2009 - 10:04 #2
Jeg har nedenstående form, som fungere udemærket, ved klik på Sndmail, kalder form salefrm.php og poster værdier hertil.

<form name="opret" method="post" action="../Docs/scripts/salefrm.php"/>
  <input name="VRestvalue" type="text" size="25" value="<? echo ' kr. '.number_format($_POST["VRestvalue"],2,',','.');?>" onchange=" submit()" />
  <input name="Sndmail" type="Submit" value="Udskriv formularen" />
  <input name="Sndmail2" type="reset" value="Anullere" />
</Form>

Men det jeg gerne ville var at ved klik på Sndmail blev nedenstående function kaldt

if(isset($_POST["Sndmail"])){

//opdatere salgsliste
$date = date(Y-m-d);
$sql = 'INSERT INTO salelist (Andel, Client, Berth, Date, Reg, Conto, Value, Afgift, Provision) VALUES (\''.$_POST["VAndel"].'\', \''.$row["Nummer"].'\', \''.$_POST["VBerth"].'\', \''.$date.'\', \''.$_POST["VReg"].'\', \''.$_POST["VKonto"].'\', \''.convert($_POST["VAndelsvalue1"]).'\', \''.convert($_POST["VRestvalue"]).'\', \''.convert($_POST["VGebyr"]).'\')';
  $result=mysql_query($sql) or die($sql);
 
include("../Docs/scripts/salefrm.php");
}

mit ønske var at kalde salefrm.php efter opdatering af databasen, jeg vil gerne kalde salefrm.php, med muligheden for at poste til salefrm.php, men det kan jo ikke lade sig gøre med include(), hvis man ønsker at salefrm.php skal skrive til browseren, det virker fint, hvis pdf filen skal sendes som mail.

Hvordan kalder jeg salefrm.php fra function, på en sådan måde at jeg kan poste til salefrm.php
Avatar billede showsource Seniormester
24. november 2009 - 10:22 #3
hmm, er nu ikke helt med.
På sider jeg har lavet, kan jeg sagtens include en fil som håndterer POST ?

Og din escape i $sql kan jeg ikke lige overskue ?
Bliver der overhovedet gemt i DB ?
Avatar billede fhansen Praktikant
24. november 2009 - 11:04 #4
jeg får denne error

Warning: Cannot modify header information - headers already sent by (output started at C:\Apache\htdocs\Havnen\Lockfiles\saleform.php:22) in C:\Apache\htdocs\Havnen\fpdf16\fpdf.php on line 1017
FPDF error: Some data has already been output, can't send PDF file

Min sql fungere fint, det er ikke der jeg har problemmer
Avatar billede showsource Seniormester
25. november 2009 - 10:11 #5
Øhh, jeg mener at du IKKE kan sende nogle headers hvis du vil vise en pdf med fpdf.
Avatar billede fhansen Praktikant
25. november 2009 - 18:36 #6
netop det er det der mit problem, man hvad gør jeg så, har forsøgt med lidt javascript, men kan ikke få den til at poste til pdf formen
Avatar billede fhansen Praktikant
01. december 2010 - 22:47 #7
Lukning
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester