php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen
Alt 24.09.2010, 11:11  
mkn
Neuer Benutzer
 
Registriert seit: 24.09.2010
Beiträge: 18
PHP-Kenntnisse:
Anfänger
mkn befindet sich auf einem aufstrebenden Ast
Standard Variable übergeben

Ich will eine HTML Seite als pdf speichern. Diese Funktionalität ist implementiert und jetzt muss ich nur noch den aktuellen Inhalt des Browser in eine Variable speichern. Dies habe ich mit der ob_* Funktionen gemacht. Wenn jetzt jemand auf den Button 'Save as PDF' klickt, dann ruft dieser Button die pdf.php Datei auf. Diese braucht dann nur eine Variable $html2print und es speichert mir den html inhalt als pdf.

Ich habe den html Inhalt gespeichert mit $contents = ob_get_contents(); und das scheint so auch zu funktionieren. Das ganze gebe ich beim Drücken des 'Save as PDF' als eine $_POST Variable mit und lese es dann in der pdf.php wieder aus. aber irgendwie scheint das nicht zu klappen

Hat jemand eine Idee was los ist?
Gibt es bei $_POST eine Beschränkung wie lange der Inhalt sein darf?

Detailliere Eingaben gibt -> siehe weiter unten

Geändert von mkn (24.09.2010 um 11:38 Uhr).
mkn ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.09.2010, 11:22  
Erfahrener Benutzer
 
Registriert seit: 23.03.2010
Beiträge: 672
PHP-Kenntnisse:
Anfänger
ByStones befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Gibt es bei $_POST eine Beschränkung wie lange der Inhalt sein darf?
Das sollte im Normalfall kein Problem sein...
Steht aber auch in der .ini Datei: post_max_size

Zitat:
aber irgendwie scheint das nicht zu klappen
Gehts auch detailierter ?
__________________
Signatur:
PHP-Code:
$s '0048656c6c6f20576f726c64';
while(
$i=substr($s=substr($s,2),0,2))echo"&#x00$i;"
ByStones ist offline  
Alt 24.09.2010, 11:25  
Erfahrener Benutzer
 
Registriert seit: 10.10.2009
Beiträge: 3.025
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer Anblick
Standard

Du hast den HTML Code warscheinlich in ein Hidden-Input gepackt und die " im HTML Code stoppen vorzeitig dein value="" Attribut.

Mehr als Raten können wir bei der sehr dürftigen Beschreibung nicht.

Davon ab das es schon fragwürdig erscheint den kompletten Seitenquelltext via Post verschicken zu wollen.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline  
Alt 24.09.2010, 11:27  
Erfahrener Benutzer
 
Registriert seit: 02.09.2010
Beiträge: 112
PHP-Kenntnisse:
Anfänger
DarkWarrior ist zur Zeit noch ein unbeschriebenes Blatt
Standard

an deiner Stelle würd' ich den Inhalt der betreffenden HTML-Seite erst in dem Skript auslesen, in dem das PDF erzeugt wird.

file_get_contents oder eventuell curl, wenn POST-Variablen benötigt werden.
DarkWarrior ist offline  
Alt 24.09.2010, 11:30  
mkn
Neuer Benutzer
 
Registriert seit: 24.09.2010
Beiträge: 18
PHP-Kenntnisse:
Anfänger
mkn befindet sich auf einem aufstrebenden Ast
Standard

Mittlerweile habe ich weiter gebastelt. Oben beginnt es folgendermassen:
Code:
<?php //Datei: recapAdmin.php
  ob_start();
?>
und aufhören tut es mit
Code:
<?php 
       $contents = ob_get_contents();
?>
Dazwischen ist ein Gemisch aus PHP und HTML Code. Dort steht dann auch noch das:
Code:
		<form action="pdf.php" method="post">
			<input type="hidden" name='test' value="<?php echo $contents ;?>">
			<input name="pdf" type="submit" value="print">
		</form>
Das funktioniert jetzt aber leider sicher nicht, da die $contents Variable ja erst am Schluss mit $contents = ob_get_contents(); ihren Inhalt bekommt


Zitat:
Zitat von DarkWarrior Beitrag anzeigen
file_get_contents oder eventuell curl, wenn POST-Variablen benötigt werden.
Das geht leider nicht, da der Inhalt nicht immer der Gleiche ist. Sprich du kreuzt bei einer Bestellung ein paar Sachen an und wenn du mit file_get_contents den Inhalt holst, dann hast du eine "leere" Seite



Zitat:
Zitat von Dark Guardian Beitrag anzeigen
Du hast den HTML Code warscheinlich in ein Hidden-Input gepackt und die " im HTML Code stoppen vorzeitig dein value="" Attribut.

Mehr als Raten können wir bei der sehr dürftigen Beschreibung nicht.

Davon ab das es schon fragwürdig erscheint den kompletten Seitenquelltext via Post verschicken zu wollen.
Stimmt, habe genau das Problem mit den " und deshalb verreist es mir nachher das ganze. Ich würde es gerne anders machen, aber leider weiss ich nie wie weiter


Im Grossen und den Ganzen muss ich einfach die aktuelle Seite als pdf speichern. Einfachere Lösungen als meine sind herzlich willkommen

Geändert von mkn (24.09.2010 um 11:41 Uhr).
mkn ist offline  
Alt 24.09.2010, 11:42  
Erfahrener Benutzer
 
Registriert seit: 23.03.2010
Beiträge: 672
PHP-Kenntnisse:
Anfänger
ByStones befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Stimmt, habe genau das Problem mit den " und deshalb verreist es mir nachher das ganze. Ich würde es gerne anders machen, aber leider weiss ich nie wie weiter
htmlspecialchars

Zitat:
Das funktioniert jetzt aber leider sicher nicht, da die $contents Variable ja erst am Schluss mit $contents = ob_get_contents(); ihren Inhalt bekommt
Wie genau läuft, das ab, ich versteh deine Vorgehensweise nicht ganz...
1. Daten iwo auslesen und verarbeiten
2. OB an
3. Deine PDF File generieren (für sowas gibts bestimmt schon fertige Klassen) (Bsp.: http://www.fpdf.org/)
4. OB aus und den Inhalt davon holen
5. Deine normale Seite, mit dem PDF-Speichern Button

Wie genau ist dein Ablauf, stimmt der mit meiner Vermutung überein ?

PHP-Code:
$contents ob_get_contents(); 
Beendest du das Output Buffering auch ?
ob_end_clean
__________________
Signatur:
PHP-Code:
$s '0048656c6c6f20576f726c64';
while(
$i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

Geändert von ByStones (24.09.2010 um 11:48 Uhr).
ByStones ist offline  
Alt 24.09.2010, 11:46  
Erfahrener Benutzer
 
Registriert seit: 10.10.2009
Beiträge: 3.025
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer Anblick
Standard

Über gib die URL der aktuellen Seite via POST und zieh dir im Zielscript den Inhalt nochmal mit file_get_contents(deine_url_hier);

Setzt allerdings allow_url_fopen vorraus.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline  
Alt 24.09.2010, 11:49  
Erfahrener Benutzer
 
Registriert seit: 02.09.2010
Beiträge: 112
PHP-Kenntnisse:
Anfänger
DarkWarrior ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Das geht leider nicht, da der Inhalt nicht immer der Gleiche ist. Sprich du kreuzt bei einer Bestellung ein paar Sachen an und wenn du mit file_get_contents den Inhalt holst, dann hast du eine "leere" Seite
dann benutz curl - damit kann man POST-Variablen mitschicken, udn die Seite ebenfalls als String speichern.
DarkWarrior ist offline  
Alt 24.09.2010, 11:55  
mkn
Neuer Benutzer
 
Registriert seit: 24.09.2010
Beiträge: 18
PHP-Kenntnisse:
Anfänger
mkn befindet sich auf einem aufstrebenden Ast
Standard

Ablauf:
1. User macht Angaben und wählt Sachen aus und klickt auf weiter
2. OB an
3. Eine neue Seite wird geladen wo die Angaben des Users nochmals aufgelistet wird.
4. OB aus. Jetzt gibt es dort einen 'Save as PDF' Button und diese aktuelle Seite wird als PDF gespeichert.

Mit dem htmlspecialchars wird jetzt tatsächlich ein pdf generiert mit Inhalt, aber leider sind Umlaute falsch und es gibt fast kein Layout.

Die Umlaute werden glaube ich schon bereits mit $contents = ob_get_contents(); falsch "geladen". Da hilft ein $contents=utf8_encode($contents) nicht mehr...

Geändert von mkn (24.09.2010 um 11:59 Uhr).
mkn ist offline  
Alt 24.09.2010, 11:58  
Erfahrener Benutzer
 
Registriert seit: 10.10.2009
Beiträge: 3.025
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer AnblickDark Guardian ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von mkn Beitrag anzeigen
Mit dem htmlspecialchars wird jetzt tatsächlich ein pdf generiert mit Inhalt, aber leider sind Umlaute falsch und es gibt fast kein Layout. Liegt aber glaube ich am pdf generator (mPDF).
Die Umlaute werden wegen eienr falschen Zeichenkodierung fehlerhaft sein. Das kein Layout da ist wird daran liegen das die meisten (keine Ahnung inwieweit es mPDF betrifft) Generatoren nicht alle CSS Befehle unterstützen.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline  
 


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Wert einer Variable an einen Link übergeben horni23 PHP Tipps 2010 11 10.04.2010 00:32
Variable an ein Input Feld übergeben. Rubio JavaScript, Ajax und mehr 5 18.03.2010 08:25
Variable einer Seite übergeben Sharker PHP Tipps 2009 6 30.09.2009 11:47
Variable per Session übergeben? Spricht etwas dagegen? Lapje PHP Tipps 2008 6 20.10.2008 21:49
Variable übergeben mit Register Globals off trunky PHP Tipps 2008 32 08.07.2008 20:30
[Erledigt] Variable wird nicht übergeben Thorsten PHP Tipps 2008 8 24.05.2008 11:57
variable übergeben philips PHP Tipps 2006 6 08.01.2006 18:36
[Erledigt] variable ohne form mit submit übergeben PHP Tipps 2005-2 6 06.09.2005 20:34
[Erledigt] Fehlermeldung unterdrücken wenn keine variable übergeben... PHP Tipps 2005 6 20.03.2005 13:36
Variable für SQL-Statement wird nicht übergeben PHP Tipps 2005 7 03.02.2005 14:28
Warum wird Variable nicht übergeben??? Anuschka PHP Tipps 2005 2 06.01.2005 13:22
Variable nach $myrow[''] übergeben PHP Tipps 2004 2 20.10.2004 17:56
variable an andere php datei übergeben PHP Tipps 2004 18 19.09.2004 10:09
Variable übergeben me PHP Tipps 2004 14 31.08.2004 18:17
variable per link übergeben PHP Tipps 2004 22 25.06.2004 12:01

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
html variablen übergeben, inhalt php variable als textdatei per button, php pdf erstellen mit variablen, mpdf leere seiten, html variable übergeben, inhalt von variablen an anderes php script übergeben, ob_start ob_get_contents variable ausgeben, fpdf signatur, php curl pdf umlaute, php curl post variablen speichern, pdf mit variablen, curl post variablen mitschicken, php pdf in variable speichern, php werte durch button als pdf speichern, php pdf erstellen mit variablenübergabe, file_get_contents variable übergeben, php meine website als pdf speichern, html variablen übergabe, html variablen button neue seite übergeben, html variable-übergeben

Alle Zeitangaben in WEZ +1. Es ist jetzt 12:15 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum