Vraag & Antwoord

Webprogrammeren & scripting

Nieuwspagina in php net behulp van PDF

14 antwoorden
  • Op mijn site heb ik een nieuwspagina. Deze pagina haalt alle info uit de database. Elk bericht wordt weergegeven met onderaan een link lees verder. Als men op die link klikt wordt het hele bericht weergegeven. Het volledige bericht staat niet in de database, maar is een handmatig gemaakt html bestand. Ik maak dat bestand dus zelf, omdat elk nieuwsbericht niet gelijk is qua layout / inhoud. Dit is de huidige situatie: nieuws.php: [code:1:acf5aa41fc] <table width="600" border="0" cellpadding="0" cellspacing="0"> <!--DWLayoutTable--> <tr> <td width="600" height="67" valign="top"><p align="center"><br> Nieuws<br> <img src="layout/oranjebalk.gif" width="600" height="1"></p></td> </tr> <tr> <td height="409" valign="top"> <table width="600" border="0" class="nieuws"> <?php mysql_pconnect("localhost","user","password"); mysql_select_db("databasenaam"); $result = mysql_query("select * from `nieuws`"); while($r=mysql_fetch_array($result)) { $id = $r["id"]; $titel = $r["titel"]; $bericht = $r["bericht"]; $bron = $r["bron"]; $bron_url = $r["bron_url"]; $datum = $r["datum"]; echo "<tr><td><h4>$titel</h4></td></tr>"; echo "<tr><td></td></tr>"; echo "<tr><td>$bericht<a href=\"index.php?page=artikel&id=$id\" class=nieuws> Lees verder</a></td></tr>"; if ($bron_url == NULL) { echo "<tr><td class=nieuws.bron>bron: $bron</a> Geplaatst op: $datum</td></tr>"; } else { echo "<tr><td class=nieuws.bron>bron: <a href=\"$bron_url\" target=blank class=nieuws>$bron</a> Geplaatst op: $datum</td></tr>"; } echo "<tr><td><img src=\"layout\oranjebalk.gif\" width=590 height=1></td></tr>"; } ?> </table> <!--DWLayoutEmptyCell--> </td> </tr> </table> [/code:1:acf5aa41fc] artikel.php: [code:1:acf5aa41fc] <?php $filenaam = $_GET['id']; include ('nieuws/'.$filenaam.'/'.$filenaam.'.html'); echo "<img src=\"layout\oranjebalk.gif\" width=590 height=1>"; echo "<a href=\"javascript:history.back(1)\"><br><img src=\"images/pijl_links.gif\" border=0 alt=\"terug naar de vorige pagina\"></a>"; ?> [/code:1:acf5aa41fc] Ik wil dit graag in de database zetten, zodat ik later mijn simpel cms kan gebruiken voor het bijwerken. Nu kan ik natuurlijk artikel.php zo maken dat eerst alle tekst wordt weer gegeven en daar onder met include een pagina uit mijn fotoalbum invoegen die de foto's weer geeft die hier bij horen. Maar dan vraag ik me nog af hoe het zit met html code? Kan ik dat gewoon in mijn database opslaan? Heeft iemand een goede opzet voor mij? Alvast bedankt voor het meedenken.
  • Je kan html code gewoon opslaan in de database. Waarom zou dat niet kunnen, denk je?
  • Ik had het wel eens geprobeerd, maar wist niet of het gebruikelijk is om html code in de database op te slaan. Ik ben bezig met een simpel cms, zodat ook mensen met geen html ervaring de site kunnen bijwerken. Ik zou graag willen weten hoe ik het beste de nieuwspagina kan vormgeven. Ik heb een aantal opties: -Ik kan de fotopagina met foto's gaan includen onder de tekst. -Ik kan mijn tabel nieuws uitbreiden met een stuk of 4 fotovelden en de opmaak zo maken dat op vaste plekken een foto weergegeven kan worden. -Ik kan eventueel nog de tabel nieuwsuitbreiden met een aantal hyperlink velden, zodat onder elke nieuwsitem een aantal hyperlinks weergegeven kunnen worden. -Tenslotte kan ik de nieuwspagina ook weer handmatig gaan maken, zodat ik zelf de layout voor elk bericht kan aanpassen. Ik zou dus graag willen weten hoe iemand dit zou aanpakken. Voor de huidige situtatie zie: http://www.racingteamdesikken.nl Alvast bedankt voor het meedenken
  • Ik zit er over na te denken om alle nieuwsberichten voortaan in pdf formaat te gaan maken. Nu ben ik een beetje aan het experimenteren gegaan. Nu krijg je als je via een link op de site een pdf bestand opent dat een scherm van adobe reader in je browser wordt geopend. Kun je ook instellen dat bij het openen van een pdf bestand alleen het bestand wordt weergegeven en niet de extra knoppen van de pdf reader?
  • Nee, dat is bij mijn weten niet mogelijk.
  • ook niet als je deze headers mee geeft? [code:1:145ffe9b1f] $path = ''; $strFilename = ''; // jou file $FileSize = filesize($strFilename); $ctype = "application/force-download"; header("Pragma: public"); // required header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private",false); // required for certain browsers header("Content-Type: $ctype"); header("Content-Disposition: attachment; filename=". $strFilename . ";" ); header("Content-Transfer-Encoding: binary"); header("Content-Length: ". $FileSize ); readfile($path . $strFilename); [/code:1:145ffe9b1f]
  • [quote:81bae20af0="_arno_"]ook niet als je deze headers mee geeft? [/quote:81bae20af0] En waarom zouden in dat geval de knoppen van de acrobat reader niet worden getoond? Het enige wat je doet, is een andere content-disposition meegeven.
  • Ik kan ook een pdf bestand invoegen d.m.v: <embed width="600" height="600" src="file:///C:/Xitami/webpages/test/1.pdf"> Bij een flash bestand kun je een aantal zaken in stellen als je zoiets als bovenstaande code gebruikt. Zou dat misschien bij pdf ook kunnen? [code:1:de51ee28d4] <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="700" height="450"> <param name="movie" value="site/layout/intro.swf"> <param name="quality" value="high"> <embed src="site/layout/intro.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="700" height="450"></embed></object> [/code:1:de51ee28d4] Als ik aan de <embed> regel de volgende code toevoeg (type="application/pdf") geeft hij geen werkbalken weer, maar nog wel de tabbladen aan de zijkant en en de onderste balk waar mee je kunt bladeren e.d. Mijn bedoeling is om de alle nieuwsberichten uit de database te halen en weer te geven met onder aan elk nieuwsbericht een link lees verder om het hele bericht te lezen. Het hele bericht (pdf bestand) zal dan worden geopend in een pagina genaamd artikel.php. Dit lijkt mij het makkelijkst, want dan ik in mijn cms gewoon aan mijn formulier dat nieuwsberichten toevoegt een veld maken waar mee ik een pdf bestand kan uploaden.
  • Ik ga geen pdf meer gebruiken, omdat ik die (irritante) werkbalken e.d. niet kan laten verdwijnen. Ik had graag alleen de pdf willen zien, net zo als alle andere pagina's worden weer gegeven. Dus ga ik het anders aanpakken: Ik ben nu zo ver dat ik de eerste paar regels van een bericht kan laten weergeven op het scherm. Als een gebruiker dan op 'lees verder' klikt zal het hele bericht getoond worden. Ik heb hier voor de volgende code gebruikt: [code:1:cae789f2a7] while($r=mysql_fetch_array($result2)) { $id = $r["id"]; $titel = $r["titel"]; $bericht = $r["bericht"]; $bron = $r["bron"]; $bron_url = $r["bron_url"]; $datum = $r["datum"]; $bericht = substr ("$bericht", 0, 150); echo "<tr><td><h4>$titel</h4></td></tr>"; echo "<tr><td></td></tr>"; echo "<tr><td>"; echo nl2br ($bericht); echo "<a href=\"index.php?page=artikel&id=$id\" class=nieuws>Lees verder</a></td></tr>"; if ($bron_url == NULL) { echo "<tr><td class=nieuws.bron>bron: $bron</a> Geplaatst op: $datum</td></tr>"; } else { echo "<tr><td class=nieuws.bron>bron: <a href=\"$bron_url\" target=blank class=nieuws>$bron</a> Geplaatst op: $datum</td></tr>"; } echo "<tr><td><img src=\"layout\oranjebalk.gif\" width=590 height=1></td></tr>"; } [/code:1:cae789f2a7] Dit is slechts een gedeelte van de code. Nu vraag ik me af hoe ik de pagina (artikel.php) die het volledige bericht weer geeft het beste maken. Ik kan natuurlijk ook gewoon een template maken dwz een aantal pagina's met verschillende indelingen. Dan zou ik in artikel.php een template moeten includen. [code:1:cae789f2a7] ?php $id = $_GET ['id]; $template = $_GET ['template']; include ($template'.php'); [/code:1:cae789f2a7] De url voor het linkje lees verder wordt dan zoiets als: index.php?page=artikel?id=1&template=1 Ik zou graag willen weten wat iemand hier van vindt. Mocht iemand een betere oplossing hebben dan hoor ik die ook graag.
  • Als je graag verschillende templates voor de nieuwsberichten wilt houden dan is dat inderdaad een goede oplossing, maar het lijkt mij mooier om alles uniform te houden; met een template.
  • [quote:7ead84bdb0="padvinder95"]Als je graag verschillende templates voor de nieuwsberichten wilt houden dan is dat inderdaad een goede oplossing, maar het lijkt mij mooier om alles uniform te houden; met een template.[/quote:7ead84bdb0] Met template bedoel ik de indeling van de tekst en foto's, maar 1 template kan natuurlijk ook. Ik zou graag willen weten hoe ik de pagina dan het beste kan indelen. Ik kan het als volgt doen: -Eerst alle tekst weergeven daarna een paar foto's of een hyperlink naar een fotoserie en daar onder een paar hyperlinks naar websites, filmpjes e.d. -Of ik mix de tekst met foto's. Ik kan natuurlijk ook gewoon het hele bericht handmatig maken. Alvast bedankt voor het meedenken.
  • Je zou es naar een wysiwyg-html-editor voor in een webpagina moeten kijken, zoals [url=http://www.fckeditor.net/]fckeditor[/url] c.s. Je kan je gebruikers dan in een FrontPage-achtige dummy-vriendelijke editor berichten laten invoeren en voorzien van plaatjes (tabellen, links, etc.). De html waarin dat resulteert kun je opslaan in de database en bij bewerken daar weer uit ophalen. PDF moet je idd loslaten, dat is geen formaat om webpagina's in op te maken, want daar hebben we al html en css voor. PDF gebruik je alleen als je de content ook op andere plekken wil gebruiken, of eerder andersom: als je content van andere plekken ook op je website wil, zoals brochures, techsheets, flyers, etc.
  • [quote:59065c6637="Paulus"]Je zou es naar een wysiwyg-html-editor voor in een webpagina moeten kijken, zoals [url=http://www.fckeditor.net/]fckeditor[/url] c.s. Je kan je gebruikers dan in een FrontPage-achtige dummy-vriendelijke editor berichten laten invoeren en voorzien van plaatjes (tabellen, links, etc.). De html waarin dat resulteert kun je opslaan in de database en bij bewerken daar weer uit ophalen. PDF moet je idd loslaten, dat is geen formaat om webpagina's in op te maken, want daar hebben we al html en css voor. PDF gebruik je alleen als je de content ook op andere plekken wil gebruiken, of eerder andersom: als je content van andere plekken ook op je website wil, zoals brochures, techsheets, flyers, etc.[/quote:59065c6637] Hartstikke bedankt hier kan ik mee verder. Zo'n editor kan ik dan mooi integreren in mijn cms (die nog in ontwikkeling is)
  • Ik heb nu HTMLarea gedownload en geinstalleerd. Er zit een examples map bij met voorbeelden van de editor met verschillende opties, zoals fullscreen editor e.d. Zie [url]http://www.dynarch.com/projects/htmlarea/[/url] [code:1:acf38239de] <html> <head> <title>Test of FullPage plugin</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript"> _editor_url = "../"; _editor_lang = "en"; </script> <!-- load the main HTMLArea files --> <script type="text/javascript" src="../htmlarea.js"></script> <script type="text/javascript"> HTMLArea.loadPlugin("FullPage"); function initDocument() { var editor = new HTMLArea("editor"); editor.registerPlugin(FullPage); editor.generate(); } </script> </head> <body onload="initDocument()"> <h1>Test of FullPage plugin</h1> <textarea id="editor" style="height: 30em; width: 100%;"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html> <head> <title>FullPage plugin for HTMLArea</title> <link rel="alternate stylesheet" href="http://dynarch.com/mishoo/css/dark.css" /> <link rel="stylesheet" href="http://dynarch.com/mishoo/css/cool-light.css" /> </head> <body style="background-color: #ddddee; color: #000077;"> <table style="width:60%; height: 90%; margin: 2% auto 1% auto;" align="center" border="0" cellpadding="0" cellspacing="0"> <tr> <td style="background-color: #ddeedd; border: 2px solid #002; height: 1.5em; padding: 2px; font: bold 24px Verdana;"> FullPage plugin </td> </tr> <tr> <td style="background-color: #fff; border: 1px solid #aab; padding: 1em 3em; font: 12px Verdana;"> <p> This plugin enables one to edit a full HTML file in <a href="http://dynarch.com/htmlarea/">HTMLArea</a>. This is not normally possible with just the core editor since it only retrieves the HTML inside the <code>body</code> tag. </p> <p> It provides the ability to change the <code>DOCTYPE</code> of the document, <code>body</code> <code>bgcolor</code> and <code>fgcolor</code> attributes as well as to add additional <code>link</code>-ed stylesheets. Cool, eh? </p> <p> The development of this plugin was initiated and sponsored by <a href="http://thycotic.com">Thycotic Software Ltd.</a>. That's also cool, isn't it? ;-) </p> </td> </tr> </table> </body> </html> </textarea> <hr /> <address><a href="http://dynarch.com/mishoo/">Mihai Bazon</a></address> <!-- Created: Wed Oct 1 19:55:37 EEST 2003 --> <!-- hhmts start --> Last modified: Wed Jan 28 11:10:07 EET 2004 <!-- hhmts end --> <!-- doc-lang: English --> </body> </html> [/code:1:acf38239de] Nu wordt hier een <textarea> gebruikt, maar ik zie nergens de <form> tags. Dus heb ik zelf toegevoegd <form action="savedata.php" method="post"> NU heb ik een php script gemaakt savedata.php en met behulp van $variabele = $_POST["variabele"]; op geprobeerd te halen Dat <textarea> veld en $variabele hadden de zelfde naam. Het probleem hier bij is dat ik steeds de melding krijg undifined index variabele, terwijl mijn script voor het inserten van de gegevens in de database goed is. Wie heeft een oplossing? Ik wil dus dmv een webtexteditor tekst opslaan in een database. Oja het script hier boven is het standaard script zonder aanpassingen.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.