Avatar billede Alcazar Nybegynder
12. marts 2009 - 23:47 Der er 13 kommentarer

HTML i PHP

Hey eksperter!

Jeg har et admin login script, hvor jeg skal have tilføjet noget HTML i koden. Problemet er, at jeg ikke kan få indtastet noget html fordi jeg har lavet en header. Her kommer koden:

<?php
if($_POST['brugernavn'] == ja && $_POST['password'] == ja)
{
    echo "Rigtigt login";
}else{
header("refresh: 5; index.php");
echo "Du skrev enten brugernavn eller password forkert.<br>Du vil blive sendt videre til login siden indenfor 5 sekunder.";   
}  ?>

Det er ved begge echo's jeg skal have indsat noget html i

På forhånd mange tak :)
Avatar billede nicolailissau Nybegynder
12. marts 2009 - 23:59 #1
Du kan bare skrive html. Det php gør er jo at den "skriver noget ud(echo)" til browseren. Når du sætter "gåsetegn" efter echo kan du skrive html som du har lyst til. Bare huske at afslutte det igen jo.

Eksempel

<?php
if($_POST['brugernavn'] == ja && $_POST['password'] == ja)
{
    echo "<b>Rigtigt login</b>";
}else{
header("refresh: 5; index.php");
echo "<div>Du skrev enten brugernavn eller password forkert.<br>Du vil blive sendt videre til login siden indenfor 5 sekunder.</div>"; 
}  ?>
Avatar billede Alcazar Nybegynder
13. marts 2009 - 00:08 #2
Når jeg indsætter mit template til scriptet, så kommer der en fejl..
Her er koden:

<?php
if($_POST['brugernavn'] == ja && $_POST['password'] == ja)
{
    echo "Rigtigt login<html>
<head>
<title>title</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center">
  <table id="Table_01" width="1024" height="768" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td colspan="5">
        <img src="images/index_01.jpg" width="1024" height="100" alt=""></td>
      </tr>
    <tr>
      <td rowspan="2">
        <a href="index.php"><img src="images/index_02.jpg" alt="" width="250" height="30" border="0"></a></td>
        <td rowspan="2">
            <a href="login.php"><img src="images/index_03.jpg" alt="" width="157" height="30" border="0"></a></td>
        <td colspan="3">
            <img src="images/index_04.jpg" width="617" height="1" alt=""></td>
      </tr>
    <tr>
      <td>
        <a href="faq.php"><img src="images/index_05.jpg" alt="" width="125" height="29" border="0"></a></td>
        <td>
            <a href="highscore.php"><img src="images/index_06.jpg" alt="" width="216" height="29" border="0"></a></td>
        <td>
            <a href="support.php"><img src="images/index_07.jpg" alt="" width="276" height="29" border="0"></a></td>
      </tr>
    <tr>
      <td width="1024" height="638" colspan="5" background="images/index_08.jpg" alt=""><div align="center">
        <p>Her indsætter vi tekst</p>
        </div></td>
      </tr>
  </table>
</div>
</body>
</html>";
}else{
header("refresh: 5; index.php");
echo "Du skrev enten brugernavn eller password forkert.<br>Du vil blive sendt videre til login siden indenfor 5 sekunder.";   
}  ?>
Avatar billede nicolailissau Nybegynder
13. marts 2009 - 00:17 #3
I dit tilfælde der er det lettere bare at "stoppe" scriptet inden dit html.. og så skal <html> jo altid være før du vil printe noget ud til browseren..

Dvs. du skriver bare:
<html>
<body>
<?php
if($_POST['brugernavn'] == ja && $_POST['password'] == ja)
{
    echo "Rigtigt login";
?>
<head>
<title>title</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center">
  <table id="Table_01" width="1024" height="768" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td colspan="5">
        <img src="images/index_01.jpg" width="1024" height="100" alt=""></td>
      </tr>
    <tr>
      <td rowspan="2">
        <a href="index.php"><img src="images/index_02.jpg" alt="" width="250" height="30" border="0"></a></td>
        <td rowspan="2">
            <a href="login.php"><img src="images/index_03.jpg" alt="" width="157" height="30" border="0"></a></td>
        <td colspan="3">
            <img src="images/index_04.jpg" width="617" height="1" alt=""></td>
      </tr>
    <tr>
      <td>
        <a href="faq.php"><img src="images/index_05.jpg" alt="" width="125" height="29" border="0"></a></td>
        <td>
            <a href="highscore.php"><img src="images/index_06.jpg" alt="" width="216" height="29" border="0"></a></td>
        <td>
            <a href="support.php"><img src="images/index_07.jpg" alt="" width="276" height="29" border="0"></a></td>
      </tr>
    <tr>
      <td width="1024" height="638" colspan="5" background="images/index_08.jpg" alt=""><div align="center">
        <p>Her indsætter vi tekst</p>
        </div></td>
      </tr>
  </table>
</div>
<?php
}else{
header("refresh: 5; index.php");
echo "Du skrev enten brugernavn eller password forkert.<br>Du vil blive sendt videre til login siden indenfor 5 sekunder."; 
}
?>
</body>
</html>

Er ikke selv super ekspert men prøv det..
Avatar billede nicolailissau Nybegynder
13. marts 2009 - 00:18 #4
ups startede body to gange.. du skal lige slette det øverste <body> tag
Avatar billede Alcazar Nybegynder
13. marts 2009 - 00:23 #5
Det virker ikke. man kan ikke lave html før en header i php.
Avatar billede nicolailissau Nybegynder
13. marts 2009 - 00:30 #6
Det her virker fx. det er sådan du kan gøre det.
<html>
<?php
if(1>0)
{
echo "Det virker";
?>
<body>
<table border="1" width="100px";>
<tr>
<td>
Det her er skrevet i <html>
</td>
</tr>
</table>
</body>
<?php
}
else
{
echo "Det virker ikke";
}
?>
</html>
Avatar billede Alcazar Nybegynder
13. marts 2009 - 00:53 #7
Ja, men hvis du indsætter en header (som jeg har gjort), så vil det stadig ikke virke.
Avatar billede dkfire Nybegynder
13. marts 2009 - 11:37 #8
Din fejl skyldes jo at du bruger " til at starte dit output, men i dit html har du jo også ".
Du skal rette " til /" for at det virker.

Dernæst så hjælper det ikke særlig meget at du skiver at din giver fejl, hvis ikke du også skriver hvilken fejl den giver dig.
Avatar billede Alcazar Nybegynder
13. marts 2009 - 17:39 #9
Har rettet " til / nu, men det virker stadig ikke.
Koden:
<?php
if($_POST['brugernavn'] == ja && $_POST['password'] == ja)
{
    echo /Rigtigt login
<html>
<head>
<title>title</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center">
  <table id="Table_01" width="1024" height="768" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td colspan="5">
        <img src="images/index_01.jpg" width="1024" height="100" alt=""></td>
      </tr>
    <tr>
      <td rowspan="2">
        <a href="index.php"><img src="images/index_02.jpg" alt="" width="250" height="30" border="0"></a></td>
        <td rowspan="2">
            <a href="login.php"><img src="images/index_03.jpg" alt="" width="157" height="30" border="0"></a></td>
        <td colspan="3">
            <img src="images/index_04.jpg" width="617" height="1" alt=""></td>
      </tr>
    <tr>
      <td>
        <a href="faq.php"><img src="images/index_05.jpg" alt="" width="125" height="29" border="0"></a></td>
        <td>
            <a href="highscore.php"><img src="images/index_06.jpg" alt="" width="216" height="29" border="0"></a></td>
        <td>
            <a href="support.php"><img src="images/index_07.jpg" alt="" width="276" height="29" border="0"></a></td>
      </tr>
    <tr>
      <td width="1024" height="638" colspan="5" background="images/index_08.jpg" alt=""><div align="center">
        <p>Her indsætter vi tekst</p>
        </div></td>
      </tr>
  </table>
</div> / ;
}else{
header("refresh: 5; index.php");
echo "Du skrev enten brugernavn eller password forkert.<br>Du vil blive sendt videre til login siden indenfor 5 sekunder.";
}
?>
</body>
</html>

FEJL:
Parse error: syntax error, unexpected '/' in C:\Documents and Settings\jonne\Desktop\xamp\xampplite\htdocs\bog\login.php on line 4
Avatar billede dkfire Nybegynder
14. marts 2009 - 11:52 #10
Jeg sagde intet om at du skulle ændre " til /, men at du i din html skal sætte / før alle " så det bliver til /"
Du kan jo af gode grunde ikke åbne en tekststreng med en /. Det kan kun lade sig gøre med enten " eller '.

Dit problem skyldes at du har " i din html. Og da du åbner din streng med " tror php at første gang den kommer til en " så vil du lukke strengen, men dette er ikke rigtig da du har mere tekst. En måde at omgås dette er ved at sætte en / for dine "
Avatar billede Alcazar Nybegynder
14. marts 2009 - 15:51 #11
Har indsat / til ALLE ", som er i html koden. Scriptet melder stadig om fejl. Her er min nuværende kode:

<?php
if($_POST['brugernavn'] == ja && $_POST['password'] == ja)
{
    echo "Rigtigt login
<html>
<head>
<title>title</title>
<meta http-equiv=/"Content-Type/" content=/"text/html; charset=iso-8859-1/">
</head>
<body bgcolor=/"#fff/" leftmargin=/"0/" topmargin=/"0/" marginwidth=/"0/" marginheight=/"0/">
<div align=/"center/">
  <table id=/"Table_01/" width=/"1024/" height=/"768/" border=/"0/" cellpadding=/"0/" cellspacing=/"0/">
    <tr>
      <td colspan=/"5/">
        <img src=/"images/index_01.jpg/" width=/"1024/" height=/"100/" alt=/"/"></td>
      </tr>
    <tr>
      <td rowspan=/"2/">
        <a href=/"index.php/"><img src=/"images/index_02.jpg/" alt=/"/" width=/"250/" height=/"30/" border=/"0/"></a></td>
        <td rowspan=/"2/">
            <a href=/"login.php/"><img src=/"images/index_03.jpg/" alt=/"/" width=/"157/" height=/"30/" border=/"0/"></a></td>
        <td colspan=/"3/">
            <img src=/"images/index_04.jpg/" width=/"617/" height=/"1/" alt=/"/"></td>
      </tr>
    <tr>
      <td>
        <a href=/"faq.php/"><img src=/"images/index_05.jpg/" alt=/"/" width=/"125/" height=/"29/" border=/"0/"></a></td>
        <td>
            <a href=/"highscore.php/"><img src=/"images/index_06.jpg/" alt=/"/" width=/"216/" height=/"29/" border=/"0/"></a></td>
        <td>
            <a href=/"support.php/"><img src=/"images/index_07.jpg/" alt=/"/" width=/"276/" height=/"29/" border=/"0/"></a></td>
      </tr>
    <tr>
      <td width=/"1024/" height=/"638/" colspan=/"5/" background=/"images/index_08.jpg/" alt=/"/"><div align=/"center/">
        <p>Her indsætter vi tekst</p>
        </div></td>
      </tr>
  </table>
</div>";
}else{
header("refresh: 5; index.php");
echo "Du skrev enten brugernavn eller password forkert.<br>Du vil blive sendt videre til login siden indenfor 5 sekunder.";
}
?>
</body>
</html>

FEJL:Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\Documents and Settings\Admin\Desktop\xampplite\htdocs\delete.php on line 8
Avatar billede Alcazar Nybegynder
14. marts 2009 - 16:00 #12
Ser ud til, at jeg har fundet fejlen. Skulle lave en \ i stedet for / .
Avatar billede Alcazar Nybegynder
14. marts 2009 - 16:08 #13
Det virker nu. Hvis du vil have point for hjælpen, så lav et svar ;)
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