Avatar billede homemicky Nybegynder
24. juni 2003 - 13:04 Der er 9 kommentarer

Hvordan ser man sit php script? Jeg bruger bruger B-one

Hej hej

Jeg har lavet en hjemmeside kaninburet.dk, og så vil jeg gerne have lavet en gæstebog. jeg troede bare at kunne kopier en php side, og derefter linke til det inde fra min hjemmeside. Problemet er bare at den kun skriver scriptet ud, istedet for at skrive det rigtigt ud. Prøv selv at gå ind og kig på kaninburet.dk under andet -> gæstebog -> skriv

Hilsen Michael
Avatar billede fsconsult.dk Nybegynder
24. juni 2003 - 13:15 #1
kan det være at dit webhotel ikke understøtter php, og derfor viser det som "html" ?
Avatar billede homemicky Nybegynder
24. juni 2003 - 13:17 #2
Hvis du går ind på B-one's hjemmeside så siger de at de undestøtter PHP

http://www.b-one.no
Avatar billede homemicky Nybegynder
24. juni 2003 - 13:17 #3
Og hvad skulle meningen være med at vise PHP som HTML
Avatar billede fsconsult.dk Nybegynder
24. juni 2003 - 13:24 #4
hvis webserveren ikke ved hvad php er, så vil den ofte forsøge at vise filen som tekst/html istedet.

men umiddelbart ser det ud som om at b-one tilbyder php på alle deres webhoteller, og det er så formentlig ikke dit problem.

på din webside ser filen ud til at starte korrekt med <? men gør den det også inde i din .php fil?  (kunne evt være html koderne for < der stod der istedet)
Avatar billede homemicky Nybegynder
24. juni 2003 - 13:34 #5
Kender ikke så meget kendskab til kode, derfor kopierede jeg bare inde fra webcafe
Avatar billede fsconsult.dk Nybegynder
24. juni 2003 - 13:39 #6
kopierede du det fra "View source/kildekode" ?  det kunne forklare problemet..

prøv evt. at kopiere det igen, men direkte fra siden..
Avatar billede homemicky Nybegynder
24. juni 2003 - 13:44 #7
Okay det var måske problemet! Men kan du ikke skrive noget simpel PHP4 f.eks HEJ MED DIG.
Avatar billede fsconsult.dk Nybegynder
24. juni 2003 - 13:47 #8
<?
echo "Hej med dig";
?>
Avatar billede fsconsult.dk Nybegynder
24. juni 2003 - 13:49 #9
Kan se fra din side, at problemet var som jeg beskrev det.

Koden til din side burde være:  (uden brug af view source/kildekode)

<?php
#####################################################################
#                                                                  #
#  Dette er en simpel gæstebog, stillet til rådighed af webcafe.dk  #
#        Skidtet er klampret sammen af claus@webclaus.com          #
#                                                                  #
#  Gennemgang af kode samt installationsvejledning finder du på:    #
#                                                                  #
#      http://webcafe.dk/artikler/php/phpmysqlgaestebog/          #
#                                                                  #
#####################################################################

require("./gbog-ting/mysql-funktioner.php");
require("./gbog-ting/design-funktioner.php");
require("./gbog-ting/indstillinger.php");

#
# Vi skal have fat i vores variabler, uanset hvilken version af PHP der bruges
#

if(is_array($HTTP_GET_VARS)) {
  $start_nr = $HTTP_GET_VARS['start_nr'];
} elseif (is_array($_GET)) {
  $start_nr = $_GET['start_nr'];
}

#
# Når folk kigger på gBogen første gang har de ikke noget $start_nr, så vi giver dem et nul,
# så de starter med det nyeste indlæg.
# Hvis en skuummel gæst selv prøver at sætte $start_nr kan den ende med at blive under nul,
# når man bruger navigationen. Hvis den er under nul laver vi den også om til nul, så
# mysql ikke begynder at brokke sig over ugyldigt input
#

if(!$start_nr || $start_nr < 0) {
  $start_nr = 0;
}

#
# Udskriver den første stump HTML
#

echo top("Min G&aelig;stebog");
echo "<p>Et aktivt eksempel til en <a href=\"./\">artikel</a> p&aring; webcafe.dk</p>";

#
# Vi henter to ting ud af MySQL - først og fremmest alle de indlæg vi skal kigge på
# men også en hurtig optælling af, hvor mange indlæg der er ialt. Det sidste skal vi
# bruge når vi bygger "frem"- og "tilbage"-links.
#
# Der er ingen grund til at åbne databasen endnu - vi skal først lige have bygget
# de to forespørgsler.
#

$sql = "select id, navn, epost, date_format(tid, '%e/%c %Y, %H:%i') as tiden, besked from gaestebog order by tid desc limit $start_nr, $antal_ad_gangen";
$taeller_sql = "select count(*) as antal from gaestebog";

#
# Nu åbner vi databasen, hiver informationerne ud og lukker med det samme igen.
# Det er god skik at en forbindelse til database ikke er åben længere end højst nødvendigt.
#
# Abstraktionerne fra mysql-funktioner.php sørger for alt det grove arbejde og fejlhåndtering - dejligt.
#

aabn_forbindelse_og_vaelgdb();
$resultat = sql_spoerg_og_faa_svar($sql);
$optaelling = sql_spoerg_og_faa_svar($taeller_sql);
luk_forbindelse();

#
# Så går vi igang med at bygge navigationen
# Først bruger vi extract til at få $antal ud til behandling.
# Vi looper ikke igennem resultatet, da vi ved der kun er een række,
# så vi tilgår den direkte ved $optaelling[0].
#

extract($optaelling[0]);

#
# Skal der laves et links til flere indlæg?
#

if($antal > ($start_nr + $antal_ad_gangen)) {
   
    $naeste_start_nr = $start_nr + $antal_ad_gangen;
    $naeste_nav = "<a href=\"$PHP_SELF?start_nr=$naeste_start_nr\">N&aelig;ste</a>";

} else {

    $naeste_nav = "<span class=\"doedt-link\">N&aelig;ste</span>";

}

#
# Skal der laves link til forrige indlæg?
#

if($start_nr > 0 && ($start_nr - $antal_ad_gangen) < $antal) {

    $forrige_start_nr = $start_nr - $antal_ad_gangen;
    $forrige_nav = "<a href=\"$PHP_SELF?start_nr=$forrige_start_nr\">Forrige</a>";

} else {

    $forrige_nav = "<span class=\"doedt-link\">Forrige</span>";

}

#
# Her sætter vi det hele sammen i en tabel vi kan bruge til at sætte ind på siden.
#

$nav = "<table width=\"$tabel_bredde\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">
    <tr><td align=\"left\" width=\"33%\">$forrige_nav</td>
    <td align=\"center\" width=\"34%\"><a href=\"skriv.php\">Skriv</a></td>
    <td align=\"right\" align=\"33%\">$naeste_nav</td></tr>
    </table>";

#
# Og skriver tabellen ud med det samme:
#

echo "$nav <p />";

#
# Her begynder det egentlig interesante - vi looper os igennem de enkelte indlæg
# og skriver dem ud til skærmen.
#
# Hvis forespørgslen ikke har returneret nogle resultater, springer vi alt dette over.
#

if(count($resultat) < 1) {

  echo "Der er ingen indl&aelig;g i gBogen";

} else {

  for($i=0;$i<count($resultat);$i++) {

    #
    # Med extract får vi smidt værdierne i variabler
    #
   
    extract($resultat[$i]);

    #
    # Vi brugte addslashes() da vi lagde tingene i databasen så for at få det til
    # at se læseligt ud, fjerne vi dem igen med stripslashes()
    #

    $besked = stripslashes($besked);
    $navn = stripslashes($navn);
    $epost = stripslashes($epost);

    #
    # Hvis der ikke må bruges HTML fjerner vi lige alle tags med htmlentities()
    #

    if($html_p != "t") {
        $navn = htmlentities($navn);
        $epost = htmlentities($epost);
        $besked = htmlentities($besked);
    }

    #
    # For at vi får linjeskift i HTML også, bruger vi nl2br til at skifte alle \n
    # ud med <br>

    $besked = nl2br($besked);

    #
    # Vi laver et simpelt check: Hvis eposten indeholder et snabel-a, så laver
    # vi det til en mailto:
    #
    # Dette er dog ingen garanti for, at eposten er gyldig.
    #

    if(ereg("@", $epost)) {
        $navn = "<a href=\"mailto:$epost\">$navn</a>";
    }

    #
    # Så er alt klart til browseren og vi spytter en tabel ud med denne besked.
    # Hvis du vil ændre markant i udseendet af din gæstebog, så er det
    # i blokken herunder det foregår. Du skal bare beholde de givne navne i
    # <input>-tagsene.
    #
    # Vi hopper lige ud af PHP-mode lidt, så vi er fri for at escape alle gåseøjnene.
    #

?>

    <table width="<?php echo $tabel_bredde; ?>" cellpadding="1" cellspacing="0" border="0">
        <tr><td class="gbog-baggrund" width="100%" align="center">

            <table border="0" cellpadding="8" cellspacing="0" width="100%">
                <tr><td class="gbog-top" width="100%">Skrevet af: <strong><?php echo $navn; ?></strong>, <?php echo $tiden; ?></td></tr>
            </table>

        </td></tr><tr><td class="gbog-baggrund" align="center" width="100%">

            <table border="0" cellpadding="8" cellspacing="0" width="100%">
                <tr><td class="gbog-bund" width="100%">
                <?php echo $besked; ?>
                <p align="right"><a class="slet" href="<?php echo "slet.php?id=$id&start_nr=$start_nr"; ?>">slet</a></p></td></tr>
            </table>

        </td></tr>
    </table><p />

<?php

  #
  # Vi hopper tilbage i PHP-mode.
  #
  # Her slutter loopet og PHP springer tilbage og går hele turen igennem med den næste
  # besked. Når der ikke er flere indlæg i denne omgang går PHP videre.
  #

  }

  #
  # Endelig skriver vi frem- og tilbage-links på i bunden af siden også.
  #

  echo $nav;

  #
  # Her slutter if-else-konstruktionen der fanger, om der er nogle indlæg overhovedet.
  #

}

#
# Og spytter den sidste stump HTML ud.
#

echo bund();

?>
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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