Avatar billede fire-fox Nybegynder
11. april 2006 - 07:28 Der er 18 kommentarer og
1 løsning

Vise kildekode i guide

Hejsa Eksperter...

Hvordan kan man få vist kildekoder i en guide man er ved at lave...??? ( med de røde grønne gule farver )

//Fire-Fox
Avatar billede hmortensen Nybegynder
11. april 2006 - 07:55 #1
Du kan bruge highlight_string() (http://se.php.net/highlight_string).
Avatar billede fire-fox Nybegynder
11. april 2006 - 08:36 #2
Hvordan fungere det highlight_string()kan nogen komme med en kode eksempel ???
Avatar billede fire-fox Nybegynder
11. april 2006 - 08:41 #3
Tror jeg har fået det til at virke nu, men den viser det med så bogstaver men skal have en lup for at kunne se det...?

http://www.firefox.webftp.dk/phplogin.php?file=phplogin
Avatar billede showsource Seniormester
11. april 2006 - 09:38 #4
med linie numre:

<?php

function vis_php_kode($filename) {

$fil = file($filename);
$linebreak = "";

    for($i = 0; $i < count($fil); $i++) {
    $linebreak .= ($i+1) ."<br />\r\n";
    }

echo"<table><tr>\r\n";
echo"    <td colspan=\"2\" style=\"padding-left: 24px; padding-bottom: 6px;\"><small>Sourcekode for <b>". $_SERVER["PHP_SELF"] ."</b>, sidst &aelig;ndret d ". date("d-m-Y H:i:s", filemtime($filename)) ."</small></td>\r\n";
echo"    </tr><tr>\r\n";
echo"    <td><code>". $linebreak ."</code></td>\r\n";
echo"    <td style=\"padding-left: 4px;\" nowrap>". highlight_file($filename, true) ."</td>\r\n";
echo"</tr></table>";
}

?>
<html><head><title>Vis kode med linienumre</title></head>
<body>

<?php

if(isset($_GET["source"])) {
    show_php_code(__FILE__);
}else{

// Vis indholdet af siden
echo"<a href=\"". $_SERVER["PHP_SELF"] ."?source=\">Vis kode</a>";

}
?>

</body></html>

Størrelsen på tekst, kan du bl.a. ændre med CSS

Det er så "code" du skal formattere
Avatar billede showsource Seniormester
11. april 2006 - 09:43 #5
hov, ........

når man sidder og tester fra en side og er ændrer lidt, ås går det sgu nemt galt!!
Skal selvf. være:

<?php

function vis_php_kode($filename) {

$fil = file($filename);
$linebreak = "";

    for($i = 1; $i <= count($fil); $i++) {
    $linebreak .= $i ."<br />\r\n";
    }

echo"<table><tr>\r\n";
echo"    <td colspan=\"2\" style=\"padding-left: 24px; padding-bottom: 6px;\"><small>Sourcekode for <b>". $_SERVER["PHP_SELF"] ."</b>, sidst &aelig;ndret d ". date("d-m-Y H:i:s", filemtime($filename)) ."</small></td>\r\n";
echo"    </tr><tr>\r\n";
echo"    <td><code>". $linebreak ."</code></td>\r\n";
echo"    <td style=\"padding-left: 4px;\" nowrap>". highlight_file($filename, true) ."</td>\r\n";
echo"</tr></table>";
}

?>
<html><head><title>Vis kode med linienumre</title></head>
<body>

<?php

if(isset($_GET["source"])) {
    vis_php_kode(__FILE__);
}else{

echo"<a href=\"". $_SERVER["PHP_SELF"] ."?source=\">Vis kode</a>";

}
?>

</body></html>

Og du behøver vel ikke få at vide du skal være opmærksom på hvilken fil du vil vise koden for!!!
Avatar billede fire-fox Nybegynder
11. april 2006 - 10:30 #6
Showsource ---> Jeg tror lige jeg skal have lidt mere guide i det vis php kode, inden jeg rykke alt hår af i frustrationer >:o) Jeg har en fil som hedder oret.php ( plus flere andre seperate filer ) hvordan får jeg det til at vise koden de rette steder, og de ik deforkerte steder >:o)

p.s. Kan man ik lave noget include til det ???
Avatar billede showsource Seniormester
11. april 2006 - 10:36 #7
de andre filer, er det filer du includer "efter behov"

Sidder og er i geng med phpbegynder.dk, og har gjordt flg.

Ved hver request, includes en phpfil. (bruger .htacces)
I den fil, har jeg så bl.a.

$source = false;

    if(isset($_GET["show"]) && $_GET["show"] == "source") { // SÆT $source = true FOR AT VISE SOURCEKODE FOR DIV. FILER
    $source = true;
    }
Avatar billede showsource Seniormester
11. april 2006 - 10:37 #8
Hov, kom til at poste før jeg var færdig!
Avatar billede showsource Seniormester
11. april 2006 - 10:43 #9
På de forskellige filer som hentes via url, bruger jeg så:

if($source !== false) { // VIS SOURCEKODE ???

    show_php_code(__FILE__);

}else{

// indholdet af f.eks. index.php

}

på et passende sted i dokumentet
"pasende sted" er f.eks. i en tabelcelle

F.eks.

<?php include("settings.php"); ?>
<html><head><title>Index</title></head>
<body>
<center><img src="/logo.jpg"></center>
<table><tr>
    <td>Link i venstre celle<br />
links i venstre celle</td>
    <td><php
if($source !== false) { // VIS SOURCEKODE ???

    show_php_code(__FILE__);

}else{
?>Indhold af "hovedcelle"

<?php
}
?></td>
</tr><tr>
    <td colspan="2"><center>copyright.....</td>
</tr></table>
</body></html>
Avatar billede showsource Seniormester
11. april 2006 - 10:51 #10
Har så lavet det med et "browsescript" som viser dir og filer, med et link til de enkelte filer.

("includedir" er så også defineret i settings.php)

Og hvis det er en fil som ligger i "includedir", laves linket til filen så med ?show=source

I includefilen, bruger jeg så:

$fil_dir er defineret i den fil som includes ved hver request
<?php
if($source !== false && $_SERVER["PHP_SELF"] == $fil_dir ."/en_fil.php") { // VIS SOURCEKODE ???

    start_doc(); // funktion som laver <html><head> m.m.

    echo"<div class=\"source\">";

    show_php_code(__FILE__);

    echo"</div>";

    doc_end(); // en funktion som afslutter html

}else{


    if($_SERVER["PHP_SELF"] == "/index.php") { // Bliver "en_fil.php" includet af /index.php ?
    // det den nu skal når den includes
    }
}
?>
Avatar billede showsource Seniormester
11. april 2006 - 10:52 #11
$fil_dir == "includedir"
Avatar billede showsource Seniormester
11. april 2006 - 10:55 #12
På showsource.dk har jeg lavet en dropdown boks med navne på de filer som includes, og som ligger udenfor dokument roden, for på den måde at vise kode for filer man ellers ikke kan komme til.
Avatar billede fire-fox Nybegynder
11. april 2006 - 20:11 #13
Jeg er stadig lost >:o( jeg har en side jeg gerne vil have vist en guide til en login script ik...? det skal skal være på følgende side: http://www.firefox.webftp.dk/phplogin.php
Den starter ud med alm. html ( login box ) så kommer der så php i i andre filer, men vil gerne så jeg kan stille det op på følgende måde:
1. opret.php // lige nedenunder kommer koden til filen
2. opret-ok.php // -||-
p.s. en meget grundig guide ville ik være dårlig, så er der osse flere points >:o)
Avatar billede fire-fox Nybegynder
11. april 2006 - 23:33 #14
Jeg fandt ud af det showsource :)
gjorde på følgende måde....
<b>create.php</b><b />                       
<span style="font: small sans-serif;">
<?
highlight_string('
<html><head></head><body>
<form action="#" method="post">
Brugernavn: <input type="text" name="brugernavn"><br>
Password: <input type="password" name="password"><br>
<input type="submit" name="opret" value="Opret">
</form></body></html>', false);
?>
</span>

Smid et så og du får points
Avatar billede fire-fox Nybegynder
11. april 2006 - 23:58 #15
hmm det driller lidt endnu når jeg bruger den og laver følgende:
<b>create-ok.php</b><b />                       
<span style="font: small sans-serif;">
<?php
highlight_string('
<?php // PHP script start.
require("config.php"); // Variabler til mysql hentes
$opret = &$HTTP_POST_VARS['opret'];
if(empty($opret)) {
  print "Du skal aktivere dette script vha. formen i opret.php."
  ?>
  <br><a href="opret.php">Klik her for at oprette bruger</a>
  <?php
  } else {

$brugernavn = &$HTTP_POST_VARS['brugernavn']; // Brugernavn fra form i opret.php.
$password = &$HTTP_POST_VARS['password']; // Password fra form i opret.php.

if(empty($brugernavn) OR empty($password)) { //Her tjekkes om ET af felterne er tomme.
    echo 'Et af felterne er tomme';}   
    else {
// Her åbnes for mysql-serveren og der logges ind med data fra config.php.
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db); // Der åbnes for databasen defineret i config.php.

$result = mysql_query("select brugernavn from users where brugernavn = '$brugernavn'")
or die (mysql_error());
$number = mysql_num_rows($result);
if ($number > 0) {
print 'Desværre brugernavnet er optaget';
} else {
mysql_query("insert into users (brugernavn, password) values ('$brugernavn', '$password')")
or die(mysql_error());
print "Brugernavn $brugernavn er oprettet!";
?>
<a href="login.php">Klik her for at logge ind</a>
<?php
}
}
}
?>, false);
?>
</span>
skriver den:
Parse error: parse error in C:\Programmer\xampp\htdocs\firefox\kildekode\create-ok.php on line 6
Avatar billede showsource Seniormester
12. april 2006 - 00:14 #16
du kan prøve at "rode" lidt med de to eks. :O)
<?php

$str = 'Her noget "tekst"
    Hvordan ser det ud? <?php echo $_SERVER["PHP_SELF"]; ?>
    Hmm sgu da! Hvad er \'nu\' DET?';

highlight_string($str);

echo"<p>";

$str2 = "Her noget \"tekst\"
    Hvordan ser det ud? <?php echo \$_SERVER['PHP_SELF']; ?>
    Hmm sgu da! Hvad er 'nu' DET?";

highlight_string($str2);

?>
Avatar billede showsource Seniormester
12. april 2006 - 00:22 #17
<?php

highlight_string('<?php // PHP script start.
require("config.php"); // Variabler til mysql hentes
$opret = &$HTTP_POST_VARS["opret"];

if(empty($opret)) {
  print "Du skal aktivere dette script vha. formen i opret.php."
  ?>
  <br><a href="opret.php">Klik her for at oprette bruger</a>
  <?php
  } else {

$brugernavn = &$HTTP_POST_VARS["brugernavn"]; // Brugernavn fra form i opret.php.
$password = &$HTTP_POST_VARS["password"]; // Password fra form i opret.php.

    if(empty($brugernavn) OR empty($password)) { //Her tjekkes om ET af felterne er tomme.
    echo \'Et af felterne er tomme\';
    }else {

    // Her åbnes for mysql-serveren og der logges ind med data fra config.php.
    mysql_connect($mysql_host, $mysql_user, $mysql_pw);
    mysql_select_db($mysql_db); // Der åbnes for databasen defineret i config.php.

    $result = mysql_query("select brugernavn from users where brugernavn = \'$brugernavn\'") or die (mysql_error());
    $number = mysql_num_rows($result);

        if ($number > 0) {
        print "Desværre brugernavnet er optaget";
        } else {
        mysql_query("insert into users (brugernavn, password) values (\'$brugernavn\', \'$password\')") or die(mysql_error());
        print "Brugernavn $brugernavn er oprettet!";
        }
?>
<a href="login.php">Klik her for at logge ind</a>
<?php
    }
}
?>');
?>
Avatar billede fire-fox Nybegynder
14. april 2006 - 01:42 #18
smid svar show, du får points
Avatar billede showsource Seniormester
14. april 2006 - 02:29 #19
jow da
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