Avatar billede hobbittend Novice
29. januar 2009 - 16:16 Der er 10 kommentarer og
1 løsning

Html i PHP

Hej!
Burde jeg ikke sagtens kunne sætte HTML ind i PHP? Jeg synes den giver mig fejl uanset hvad jeg gør..

Fejl:
"Parse error: parse error in C:\Programmer\wamp\www\Gb\index.php on line 9"

Koden:


"<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>G&aelig;stebog</title>
</head>
<body>

<?php
</br>
<form id='form1' name='form1' method='post'>
  <label>Navn:
  <input type="text" name="Navn" />
  </label>
  <p>
    <label>Mail:
    <input type="text" name="Mail" />
    </label>
  </p>
  <p>
    <label>Hjemmeside:
    <input type="text" name="Url" />
    </label>
  </p>
  <p>
    <label>Besked:<br />
    <textarea name="Besked" cols="50" rows="7"></textarea>
    </label>
  </p>
  <p>
    <label>
    <input type="submit" name="Submit" value="Send" />
    </label>
  </p>
</form>




include 'Opendb.php';
include 'Closedb.php';


$Navn = trim($_POST['Navn']);
$Mail = trim($_POST['Mail']);
$Url = trim($_POST['Url']);
$Besked = trim($_POST['Besked']);

$query = "INSERT INTO gæstebog (name, email, url, message, entry_date)
            VALUES ('$Navn', '$Mail', '$Url', '$Besked', current_date)";
           
mysql_query($query) or die('Informationerne blev ikke sendt til databasen')

//header('Location; ' . $SERVER['REQUEST_URL']);
//exit;
?>
</body>
</html>
"
Avatar billede michael_stim Ekspert
29. januar 2009 - 16:31 #1
Enten skal du echo den:
echo "
din html kode"; (Husk at "backslashe" dine " (\"))

Eller også afslutter du php-koden:
<?php
phpkode
?>
html kode
<?php
phpkode
?>
Avatar billede olebole Juniormester
29. januar 2009 - 16:34 #2
<ole>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>G&aelig;stebog</title>
</head>
<body>

<form id='form1' name='form1' method='post'>
  <label>Navn:
  <input type="text" name="Navn" />
  </label>
  <p>
    <label>Mail:
    <input type="text" name="Mail" />
    </label>
  </p>
  <p>
    <label>Hjemmeside:
    <input type="text" name="Url" />
    </label>
  </p>
  <p>
    <label>Besked:<br />
    <textarea name="Besked" cols="50" rows="7"></textarea>
    </label>
  </p>
  <p>
    <label>
    <input type="submit" name="Submit" value="Send" />
    </label>
  </p>
</form>



<?php
include 'Opendb.php';
include 'Closedb.php';


$Navn = trim($_POST['Navn']);
$Mail = trim($_POST['Mail']);
$Url = trim($_POST['Url']);
$Besked = trim($_POST['Besked']);

$query = "INSERT INTO gæstebog (name, email, url, message, entry_date)
            VALUES ('$Navn', '$Mail', '$Url', '$Besked', current_date)";
           
mysql_query($query) or die('Informationerne blev ikke sendt til databasen')

//header('Location; ' . $SERVER['REQUEST_URL']);
//exit;
?>
</body>
</html>

- og gad vide, hvad dette er for et tag:
    </br>

/mvh
</bole>
Avatar billede michael_stim Ekspert
29. januar 2009 - 16:37 #3
Og så måske en if(isset(....
Hvis den ikke skal smide i basen hver gang du kommer ind på siden.
Avatar billede hobbittend Novice
29. januar 2009 - 16:44 #4
Din kode virker Ole...
Hvad gjorde du anderledes?
Avatar billede psychopixi Nybegynder
29. januar 2009 - 17:54 #5
Ole venter med at starte <?php indtil php-koden starter. I din kode har du startet <?php og fortsat med at skrive html kode.
Avatar billede hobbittend Novice
29. januar 2009 - 18:27 #6
Oles virker åbenbart ikke helt alligevel...
Jeg får nu følgende fejlmelding:

Notice: Undefined index: Navn in C:\Programmer\wamp\www\Gb\index.php on line 41

Notice: Undefined index: Mail in C:\Programmer\wamp\www\Gb\index.php on line 42

Notice: Undefined index: Url in C:\Programmer\wamp\www\Gb\index.php on line 43

Notice: Undefined index: Besked in C:\Programmer\wamp\www\Gb\index.php on line 44

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Programmer\wamp\www\Gb\index.php on line 49

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\Programmer\wamp\www\Gb\index.php on line 49
Informationerne blev ikke sendt til databasen
Avatar billede JanusHoi Praktikant
30. januar 2009 - 11:56 #7
Ole's eksempel var vist kun for at vise dig hvordan dit eget forsøg kunne se ud.
Problemerne med at afvikle det han skrev, skal findes i de henvisninger du selv har angivet i det script du postede.

Jeg prøver lige at lave noget du kan klippe ind i en af dine php-filer og se resultatet af:
--- Eksempel 1 ---
<?php
$navn = "Hobbittend";
$hobby = "Glad for mad";
?>
<html>
  <head>
    <title>Testside</title>
  </head>
  <body>
    Jeg hedder <?php echo $navn; ?> og er <?php echo $hobby; ?>
  </body>
</html>
------------------

--- Eksempel 2 ---
<?php
$navn = "Hobbittend";
$hobby = "Glad for mad";

echo "<html>\n";
echo "  <head>\n";
echo "    <title>Testside</title>\n";
echo "  </head>\n";
echo "  <body>\n";
echo "    Jeg hedder <?php echo $navn; ?> og er <?php echo $hobby; ?>\n";
echo "  </body>\n";
echo "</html>\n";
?>
------------------

De to eksempler gør præcis det samme. Men når man er inde i php, skal alt hvad man skriver behandles på en speciel måde. Hvis det er noget html-kode der skal udskrives til browseren, skal man enten sætte en "echo" eller en "print" foran.

Det er elementær programmering. Vigtigt at lære, for overhovedet at komme i gang, men meget enkelt når det først er lært. Du er godt på vej.
Avatar billede JanusHoi Praktikant
30. januar 2009 - 12:07 #8
Jeg var lidt for hurtig med eksempel 2. Det skal/kan se sådan ud:

--- Eksempel 2 ---
<?php
$navn = "Hobbittend";
$hobby = "Glad for mad";

echo "<html>\n";
echo "  <head>\n";
echo "    <title>Testside</title>\n";
echo "  </head>\n";
echo "  <body>\n";
echo "    Jeg hedder $navn og er $hobby \n";
echo "  </body>\n";
echo "</html>\n";
?>
------------------

(Jeg bruger edit+ og der har jeg lavet nogle makroer, der gør det meget nemt at sætte echo " "\n"; rundt om teksten, så jeg sov lige i timen. Men det sidste eksempel virker.

I øvrigt..

Der er ofte uenighed om hvordan man skal gøre.. Om man kun skal bruge php-kode, når det er nødvendigt (eksempel 1), eller om man skal blive i programmeringssproget, når man nu har valgt at skrive sine sider i php (eksempel 2).

Personligt synes jeg, at det er noget rod at blande det hele sammen. Det ser ofte grimt og uoverskueligt ud. Derudover bruger jeg funktioner til at lave alle html-tags for mig.
--
Janus
Avatar billede RJFreelance Praktikant
30. januar 2009 - 18:01 #9
Hvorfor ikke bruge print istedet for? Så slipper du for at gentage ordet echo så mange gange?
Avatar billede michael_stim Ekspert
30. januar 2009 - 18:43 #10
Næ, så skal man bare skrive print mange gange.

echo"
htmlkode
htmlkode
htmlkode
htmlkode";

Fungerer præcis lige så godt, hvis det er det du tænker på ;o)
Avatar billede hobbittend Novice
30. januar 2009 - 22:28 #11
Tak for alle jeres svar..

Det virker bare som om, at jeg ikke kan hente fra formen når den ikke er inde i PHP-tagget?
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