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 :)
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
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>"; } ?>
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."; } ?>
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..
13. marts 2009 - 00:18
#4
ups startede body to gange.. du skal lige slette det øverste <body> tag
13. marts 2009 - 00:23
#5
Det virker ikke. man kan ikke lave html før en header i php.
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>
13. marts 2009 - 00:53
#7
Ja, men hvis du indsætter en header (som jeg har gjort), så vil det stadig ikke virke.
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.
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
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 "
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
14. marts 2009 - 16:00
#12
Ser ud til, at jeg har fundet fejlen. Skulle lave en \ i stedet for / .
14. marts 2009 - 16:08
#13
Det virker nu. Hvis du vil have point for hjælpen, så lav et svar ;)
Vi tilbyder markedets bedste kurser inden for webudvikling