Hoi,

Nog een vraagje:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>

	<title>W3Schools PHP Tutorial</title>
	<link rel="stylesheet" type="text/css" href="layout.css" />

</head>

<body>

<div id="forum">


		<?php
		$con = mysql_connect("localhost","root","");
		if (!$con)
			{
			die('Could not connect: ' . mysql_error());
			}

		mysql_select_db("my_db", $con);

		$result = mysql_query("SELECT * FROM messages");

		while($row = mysql_fetch_array($result))
			{
			echo '<div id="message_user">' . $row['nickname'] . '</div>';
			echo '<div id="message">' . $row['message'] . '</div>';
			echo "<br />";
			}

		mysql_close($con);
		?>



		<form action="post.php" method="post">
Naam:		<input type="text" name="nickname" /><br /><br />
 		<input type="hidden" name="message" />
				<label for="reply">Reply:</label>
				<textarea rows="12" cols="55" id="reply" name="message"></textarea>
			<input type="submit" value="Send Reply" />
		</form>


</div>

</body>
</html>


Als ik een enter intoets in het tekstvak en ik klik op Send Reply, en bekijk later dit bericht staan er geen enters meer in! Ook geen lange spaties enz enz. Is het moeilijk om dit in te voegen en hoe doe ik dat?
bij het uitlezen:

<?
echo nl2br($var);
?>
nl2br($row['message'])

edit
je was me voor :P
		while($row = mysql_fetch_array($result))
			{
			echo nl2br($var);
			echo '<div id="message_user">' . $row['nickname'] . '</div>';
			echo '<div id="message">' . $row['message'] . '</div>';
			echo "<br />";
			}


Zoiets dus? Of bedoel je het anders?
nee nee zo:

<?php

while($row = mysql_fetch_array($result))
{
echo '<div id="message_user">' . $row['nickname'] . '</div>';
echo '<div id="message">' . nl2br($row['message']) . '</div>';
echo "<br />";
}

?>
Dankje! Het werkt :)

Hoe is mijn code verder? Iets op aan te merken? Graag tips voor deze beginner.

Edit:
Ow en waar staat nl2br voor als ik vragen mag?
nl2br staat voor newline to break, wat betekent dat al je op enter drukt om een nieuwe lijn te starten, deze automatisch gaat vertaald worden naar een HTML <br>
@julien, code ziet er al netjes uit, enige minpuntje is dat je je resultset niet controleerd op een fout of output.
Ik heb een aantal tips:

1. zet je database connectie in een apart bestand. Die roep je vervolgens op met include 'pad/pad/connect.php'; .

Anders moet je elke keer op aparte pagina's die dingen overtypen

2. Je zou ipv mysql_fetch_array misschien beter mysql_fetch_assoc doen. Dit is hetzelfde alleen iets sneller.

3. in je query niet alle velden ophalen tenzij je ze allemaal nodig hebt.

4. Als je websites echt op het internet gaat zetten zou ik geen mysql_error() gebruiken dit is wel handig om te testen maar dit is ook een handige functie voor hackers. Gebruik een goede fout afhandeling.

<?php
if(!$row = mysql_fetch_assoc($result)){

echo 'foutmelding';
}
else
{
//while loop en verder weergeven van rows
}

?>
5. De <br /> na je DIV's is niet nodig, zet gewoon even wat margin(CSS) op je div.


Aangepast
Weet niet hoe ik dat doe, kan je een voorbeeld geven (als je wilt)?

Ik heb ervaring met Java, en daar gebruikte ik if statements en booleans.

            boolean checkOk = true;
            String fouttekst = "";
            if (txtfPvoornaam.getText().length() == 0) {
                checkOk = false;
                fouttekst += "\n Voornaam is niet ingevuld!";
            }
            if (txtfPachternaam.getText().length() == 0) {
                checkOk = false;
                fouttekst += "\n Achternaam is niet ingevuld!";
            }
            if (!checkOk) {
                JOptionPane.showMessageDialog(null, fouttekst, "Iets vergeten?",
                                          JOptionPane.ERROR_MESSAGE);
            }
            else {
code to be executed if condition is true


Dit is de java code ervoor. Java en php hebben een hoop gemeen hoor ik.
@jurgen, pas je codestukje even aan, je haalt nu row en result door elkaar

Reageren