aslet Skrevet 9. april 2007 Skrevet 9. april 2007 (endret) Jeg har et selvlaget CMS med en eksternside hvor nyheter er publiseres og et adm.system for å legge inn saker osv. I nyhetssakene kan man legge inn bl.a. tittel, ingress, brødtekst. Så vil jeg utvide med et felt som heter php. Det skal være et felt som jeg kan hive inn et php-script, feks et påmeldingsskjema/form som bruker mail(). I databasen har jeg feltet for php-snutter satt typen text. Så kommer problemet. Når jeg i admsystemet limer inn en phpsnutt, feks: PHP <?phpif (isset($_REQUEST['email'])) { $email = $_REQUEST['email'] ; $subject = $_REQUEST['subject'] ; $message = $_REQUEST['message'] ; mail( "[email protected]", "Subject: $subject, $message, From $email" ); echo " <font color='red'>Din melding er sent</font>"; } else { echo " <form method='post' action=''> E-postadresse: <input name='email' type='text' /> Ditt navn: <input name='subject' type='text' /> <textarea name='message' style='width:100%;' rows='14'></textarea> <input type='submit' value ='Send'/> <hr size='1' noshade color='black'>"; } ?> Når jeg i adm.sytemet skal prøve å redigere saken spretter bla. knappen frem. <input type='submit' value ='Send'/> blir tolket som html (logisk i grunn...). Så spørsmålet er hvordan kan jeg få hentet inn php-snutten i et texarea som ren tekst uten at den parses som html. Slik hentes php-snutten inn i adm.systemet: <textarea name="php"><? echo $php; ?></textarea> Endret 9. april 2007 av SparKnekt
Ståle Skrevet 9. april 2007 Skrevet 9. april 2007 prøv <textarea name="php"><? echo htmlentities($php); ?></textarea>
Runar0 Skrevet 9. april 2007 Skrevet 9. april 2007 (endret) Problemet ditt er nok at du har </textarea> i teksten og dermed så lukker du tekst feltet og resten blir parset. Endret 9. april 2007 av Shadows0
aslet Skrevet 9. april 2007 Forfatter Skrevet 9. april 2007 Det var ikke værre nei... Takk skal du ha! Klar for neste nøtt? Når jeg skal vise nyheten så vil jeg jo at php-snutten skal slå til/parses, men da blir det krøll. Legger med et bilde på hvordan det bil seende ut. Slik skrives php-koden ut: PHP <?php if ($php != ''){ ?><p class="brodtekst"><? echo $php; ?></p> <?php } ?> $php starter jo med <?php så da blir det dobbeltkrøll i utskrivningen, eller?
Runar0 Skrevet 9. april 2007 Skrevet 9. april 2007 heh såg ikkje posten din, du må ha postet etter eg trykte på svar. du har heilt rett min feil
Ståle Skrevet 9. april 2007 Skrevet 9. april 2007 (endret) igjen : htmlentites() eller.. vent litt.. den SKULLE ikke vises men virke? Endret 9. april 2007 av Ståle
aslet Skrevet 9. april 2007 Forfatter Skrevet 9. april 2007 eller.. vent litt.. den SKULLE ikke vises men virke? 8343459[/snapback] Dette er for den eksterne siden hvor nyheten vises og bildet er screenshot av visningen av nyheten.. PHP-snuttes skal altså virke, men så vises det feil, bl.a. "; } ?> blir skrevet ut på slutten som du ser i bildet.
tehextinct Skrevet 9. april 2007 Skrevet 9. april 2007 Du poster PHP i en PHP streng som forrosaker at phpen før ?> første gang ikke blir oppfattet som php?
Runar0 Skrevet 9. april 2007 Skrevet 9. april 2007 Slik skrives php-koden ut: PHP <?php if ($php != ''){ ?><p class="brodtekst"><? echo $php; ?></p> <?php } ?> 8343447[/snapback] Du vil at php koden i $php skal evaluerest som vanlig php kode? prøv med eval()
aslet Skrevet 9. april 2007 Forfatter Skrevet 9. april 2007 Kan komme med et lettere eksempel. Dette ligger lagret som ren tekst i databasen: <?php echo 'Hei'; ?> Når jeg skal hente det ut så legges dette i en variabel $php Så skal det skrives ut: <? echo $php; ?> Ingenting kommer ut
Ståle Skrevet 9. april 2007 Skrevet 9. april 2007 <?php $lol = 'loool'; $php = "<?php echo \"Dette er $lol\"; ?>"; ?> <?php $php = str_replace('<'.'?php','<'.'?',$php); eval('?'.'>'.trim($php).'<'.'?'); ?>
aslet Skrevet 9. april 2007 Forfatter Skrevet 9. april 2007 Operamannen slo til igjen. Tusen takk for hjelpen! La bare inn dette, så funke det: <?php $php = str_replace('<'.'?php','<'.'?',$php); eval('?'.'>'.trim($php).'<'.'?'); ?>
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå