Avatar billede klamse Nybegynder
03. marts 2004 - 22:16 Der er 29 kommentarer og
2 løsninger

Echo kan i hitte ud af det :D

Hey kunne godt tænke mig at bruge echo som beskrevet her:
http://www.nics.frac.dk/indhold.php?side=php

Er det rigtigt at man kan gøre det sådan...
For jeg kan ikke få det til at virke...
Kender i en anden god tutorial?
:D

Ølbas
Avatar billede rasmusbg Nybegynder
03. marts 2004 - 22:22 #1
Hvis du fjerner parenteserne omkring strengene, som skal echo'es virker det...
Avatar billede klamse Nybegynder
03. marts 2004 - 22:24 #2
ok prøver lige :D
Avatar billede klamse Nybegynder
03. marts 2004 - 22:29 #3
Kan stadig ikke få det til at virke her er min kode:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<table width="886" background="baggrund.gif" height="499"
  border="0" align="center" cellspacing="0" cellpadding="0">
  <tr>
    <td height="36" width="884" colspan="3">
     
    </td>
  </tr>
  <tr>
    <td height="20" width="138">
     
    <p align="center"><b><font size="1" color="#FFFFFF" face="Tahoma">Menu</font></b>
     
    </td>
    <td height="463" width="6" rowspan="9">&nbsp;
     
   
     
    </td>
    <td height="438" width="740" rowspan="8">
     
    <div align="center">
      <center>
      <table border="0" width="641" cellspacing="0" cellpadding="0" height="388">
        <tr>
          <td width="639" height="388" valign="top">
        <?
if($side == "prove") {
echo "dette er bare en prove";
}
elseif $side == "mig" {
echo "ego ego ego";
}
?></td>
        </tr>
      </table>
      </center>
    </div>
     
    </td>
  </tr>
  <tr>
    <td height="11" width="138">
     
      <p align="center"><a href="index.php?side=fisse">Forside</a>
    </td>
  </tr>
  <tr>
    <td height="1" width="138" align="center">
     
    <p align="center"><font color="#FFFFFF" size="1" face="Tahoma"><b>Home</b></font>
     
    </td>
  </tr>
  <tr>
    <td height="1" width="138" align="center">
     
    <p align="center"><font color="#FFFFFF" size="1" face="Tahoma"><b>Movies</b></font>
     
    </td>
  </tr>
  <tr>
    <td height="1" width="138" align="center">
     
    <font color="#FFFFFF" size="1" face="Tahoma"><b>Flash spil</b></font>
     
    </td>
  </tr>
  <tr>
    <td height="1" width="138" align="center">
     
    <font color="#FFFFFF" size="1" face="Tahoma"><b>Andet</b></font>
     
    </td>
  </tr>
  <tr>
    <td height="16" width="138">&nbsp;
     
   
     
    </td>
  </tr>
  <tr>
    <td height="301" width="138">&nbsp;
     
   
     
    </td>
  </tr>
  <tr>
    <td height="63" width="138">&nbsp;
     
   
     
    </td>
    <td height="63" width="740">&nbsp;
     
   
     
    </td>
  </tr>
</table>
</body>
</html>
Avatar billede rasmusbg Nybegynder
03. marts 2004 - 22:35 #4
<?
if($side == 'prove') {
  echo 'dette er bare en prove';
} elseif ($side == 'mig') {
  echo 'ego ego ego';
}
?>

Har lavet nogle smårettelser. Men jeg skal lige høre, hvor bliver $side sat?
Avatar billede klamse Nybegynder
03. marts 2004 - 22:40 #5
hmmm sat?
Jeg er newbie.
Den ligger i index.php
Og min side er www.mybong.repsack.dk/prove/index.php Hvis det skulle hjælpe???
Avatar billede Slettet bruger
03. marts 2004 - 22:42 #6
Prøv at skrive $_GET['side'] i stedet for $side
Avatar billede rasmusbg Nybegynder
03. marts 2004 - 22:44 #7
Okay, så prøv dette:

<?
if($side == $_GET['prove']) {
  echo 'dette er bare en prove';
} elseif ($side == $_GET['mig']) {
  echo 'ego ego ego';
}
?>
Avatar billede klamse Nybegynder
03. marts 2004 - 22:44 #8
hmm hvorhenne? :D
Avatar billede klamse Nybegynder
03. marts 2004 - 22:45 #9
prøver
Avatar billede rasmusbg Nybegynder
03. marts 2004 - 22:46 #10
Samme sted i htmldokumentet som før.
Avatar billede klamse Nybegynder
03. marts 2004 - 22:47 #11
Har jeg prøvet så hvis man skulle linke skulle det være til:
http://mybong.repsack.dk/prove/index.php?side=prove
IK?
Men der kommer ik rigtigt noget????
Avatar billede fangel Nybegynder
03. marts 2004 - 22:48 #12
den guide er en pænt dårlig fejl da den har en del "begynder fejl" -

der er tale om at
1) bruge register_globals = off (vil ikke komme indpå hvorfor det er en dum ide - men det er det !)
2) der køres ikke med ordenlig error_reporting (=E_ALL)
3) der tages for lempeligt på brugen af "-er og '-er (der ER forskel)

der findes faktisk ikke så mange guider der tager højde for alle disse ting ! så rigtig mange guide vil ikke falde inden for min beskrivels af "gode" - da disse 3 punkter er meget vigtige for gode PHP-kundskaber !

---

tilbage til spørgsmål...

du er sikker på du har PHP installeret?
kommer der nogle fejl meddelser?

Morten
Avatar billede fangel Nybegynder
03. marts 2004 - 22:49 #13
efter at have set i kilde:

---
...
<td width="639" height="388" valign="top">
        <?
if($side == $_GET['prove']) {
  echo 'dette er bare en prove';
} elseif ($side == $_GET['mig']) {
  echo 'ego ego ego';
}
?></td>
...
---

kan man se at PHP slet ikke er installeret på serveren - og der har du dit svar på hvorfor det ikke virker !

Morten
Avatar billede rasmusbg Nybegynder
03. marts 2004 - 22:50 #14
Doh!!! Det var selvfølgelig sådan:

<?
if($_GET['side'] == 'prove') {
  echo 'dette er bare en prove';
} elseif ($_GET['side'] == 'mig') {
  echo 'ego ego ego';
}
?>
Avatar billede fangel Nybegynder
03. marts 2004 - 22:51 #15
rasmusbg + klamse -> i har da liiige fange $_GET konceptet forkert... det skal være:

<?

if($_GET['side'] == 'prove')
{
  echo 'dette er bare en prove';
} elseif ($_GET['side'] == 'mig')
{
  echo 'ego ego ego';
}

?>

nu tror jeg ikke der kommer flere kommentare fra min side... (lige forløbigt)

Morten
Avatar billede klamse Nybegynder
03. marts 2004 - 22:51 #16
Mit php burde da virke? Jeg prøver på anden server 2 sec
Avatar billede rasmusbg Nybegynder
03. marts 2004 - 22:54 #17
dea_pg > Opdagede det selv... ;o)
Har på min egen server sat register_globals til 'on', så jeg kunne slippe for alt det med $_GET[] og $_POST[]...
Avatar billede fangel Nybegynder
03. marts 2004 - 22:55 #18
efter som at PHPen kommer fra i din endeligt html-output så kan der konkluderes at PHP ikke virker !
Avatar billede klamse Nybegynder
03. marts 2004 - 22:55 #19
Havde jeg ikke ;D
(dumt)
Nå nu ligger den her
http://www.repsack.dk/prove/index.php

og det virker efter det du sagde morten ;)
Men øhhh et lille spørgsmål til...
Kan man godt have html kode inde i echo tagget???

Eller må det kun være tekst?
Avatar billede rasmusbg Nybegynder
03. marts 2004 - 22:57 #20
Der må du skam godt have html...
Avatar billede klamse Nybegynder
03. marts 2004 - 22:58 #21
godt smider i du også lige et svar rasmus?
Avatar billede rasmusbg Nybegynder
03. marts 2004 - 22:59 #22
Svar
Avatar billede fangel Nybegynder
03. marts 2004 - 23:00 #23
klamse -> der kan være alt det du vil...

rasmusbg -> det er et ufateligt (ok, det er fateligt) dumt valg... ! det åbner for SÅ mange mulige måder at gå forbi systemer på og i sidste ende give adgang for crackere til at ødelægge filer på serveren !
det er også dårligt kode-skik ikke at have en anelse om hvor ens variabler kommer fra !

Morten
Avatar billede klamse Nybegynder
03. marts 2004 - 23:00 #24
Tak for hjælpen :D
Avatar billede klamse Nybegynder
03. marts 2004 - 23:02 #25
Tror sgu jeg skifter nick
Ik så fedt at hedde Klamse ;)
Avatar billede rasmusbg Nybegynder
03. marts 2004 - 23:04 #26
dea_pg > Jeg ved det godt...det var dovenskaben, der vandt...

klamse > Det var så lidt
Avatar billede fangel Nybegynder
03. marts 2004 - 23:06 #27
rasmusbg -> det tager ikke ekstra tid at lave det - kun lidt ekstra omtanke - det kan kun betale sig ! det samme kan det at kører med error_reporting = E_ALL så du får kode der kører uden notice's - og derfor kører langt bedre !

Morten
Avatar billede klamse Nybegynder
04. marts 2004 - 12:43 #28
I sagde jeg kunne sætte alt ind i det?
ja... Den her virker på en almindelig php side...
Men hvorfor ikke her:
Min kode er:
}elseif ($_GET['side'] == 'Flashspil')
{
  echo '
$mappe = 'flash'; // navn på din mappe med Flash filer
$out = '<table>';
$data = listFiler($mappe);
foreach($data['navn'] as $key=>$name) {
    $size = round($data['size'][$key]/1024,2);
    $titel = substr($name, 0, -4);
    $out .= "<tr><td><img src='ikoner/flash.gif' /></td><td><a

href='$mappe/$name'>$titel</a><br />$size Kb</td></tr>";
}
$out .= '</table>';
echo $out;

function listFiler($dir) {
    $d = dir($dir);
    while (false !== ($entry = $d->read())) {
        if (is_file($dir."/".$entry)) {
            if (eregi("swf$", $entry)) {
                $data['size'][] = filesize($dir."/".$entry);
                $data['navn'][] = $entry;
            }
        }
    }
    $d->close();
    return $data;
}
';
Avatar billede Slettet bruger
04. marts 2004 - 12:55 #29
Vil du have at php-koden inde i den echo skal udskrives? Hvad skulle formålet være?

Hvis det er det, du vil, skal du bare rette hver eneste ' inde i din echo til \'

En lettere måde er at bruge heredoc-metoden. Den ser således ud:

echo <<<END

her står en masse, der bliver udskrevet

END;

Men heredoc virker anderledes end en streng, der er omsluttet af ' - blandt andet bliver variable erstattet med deres indhold, ligesom hvis man havde haft " om strengen.
Avatar billede klamse Nybegynder
04. marts 2004 - 13:04 #30
hmm er ikke lige så vild i php ;D

Men det jeg gerne vil have er at når jeg skriver http://www.repsack.dk/prove/index2.php?=Flashspil

Så lister den alle flashspillene!!!
Som den kode jeg har sat ind gerne skulle gøre...
Avatar billede Slettet bruger
04. marts 2004 - 13:20 #31
Så skal du bare fjerne linierne

echo '
og
';

så koden bliver udført i stedet for at blive udskrevet.
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