Miniature Blog display problem
Hi, I'm trying to make a blog for a website that I'm making for a group I'm in. It has three pages:
PHP Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Website</title>
<link rel="stylesheet" type="text/css" href="/css/BodyStyles.css" />
<style>
BLOG{
display: block;
}
ENTRY{
display: block;
}
LINE{
display: block;
}
ARTICLETITLE{
margin-left: 0.25in;
color: #666600;
font-family: Comic Sans MS;
font-weight: bolder;
font-size: 175%;
}
ARTICLETITLE:first-letter{
font-size: 180%;
color: #993300;
}
AUTHOR{
font-size: 75%;
color: #FF9900;
font-family: Comic Sans MS;
font-weight: bolder;
}
TIME{
color: #FF0000;
margin-left: 0.55in;
font-family: Comic Sans MS;
font-size: 75%;
font-weight: bolder;
display: block;
}
ABODY{
color: #003399;
display: block;
font-family: Comic Sans MS;
margin-left: 0.75in;
margin-right: 4in;
}
</style>
</head>
<body>
<a href="makeBlogEntry/form.php"><img alt="Create Article" src="/buttons/cooltext463939100.png" onmouseover="this.src='/buttons/cooltext463939100MouseOver.png';" onmouseout="this.src='/buttons/cooltext463939100.png';" /></a>
<hr />
<BLOG>
<?php
$con = mysql_connect ( "localhost" , "username" , "password" ); if (! $con ){die( 'Could not connect: ' . mysql_error ());}
mysql_select_db ( "blog entries" , $con );
$sql = "SELECT * FROM blogs ORDER BY dateOfCreation DESC" ;
$request = mysql_query ( $sql );
while( $row = mysql_fetch_array ( $request )){
echo "<ENTRY><LINE>" ;
echo "<ARTICLETITLE>" . $row [ 'articleTitle' ]. "</ARTICLETITLE>" ;
echo "<AUTHOR>" . $row [ 'authorName' ]. "</AUTHOR></LINE>" ;
echo "<TIME>" . $row [ 'dateOfCreation' ]. "</TIME>" ;
echo "<ABODY>" ;
echo $row [ 'articleBody' ];
echo "</ABODY>" ;
echo "</ENTRY>" ;
}
mysql_close ( $con );
?>
</BLOG>
</body>
</html>
And here is the new entry page pages:
PHP Code:
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" >
< html >
< head >
< meta http - equiv = "Content-Type" content = "text/html; charset=UTF-8" >
< title > Website </ title >
< link rel = "stylesheet" type = "text/css" href = "/css/BodyStyles.css" />
</ head >
< body >
< center >
< h2 >New Blog Entry </ h2 >< br />< br />
< form action = "submitEntry.php" method = "post" >
< p > Title :< input type = "text" name = "articleTitle" size = "20" /></ p >
< p > Author :< input type = "text" name = "author" size = "20" /></ p >
< p >& darr ; Body & darr ;< br />< textarea name = "body" rows = "16" cols = "34" ></ textarea ></ p >
< input type = "submit" />
</ form >
</ center >
</ body >
</ html >
And the processing page:
PHP Code:
<html>
<head>
<title>Website</title>
<link rel="stylesheet" type="text/css" href="/css/BodyStyles.css" />
</head>
<body>
<?php
$title = $_POST [ 'articleTitle' ];
$aName = $_POST [ 'author' ];
$body = $_POST [ 'body' ];
$con = mysql_connect ( "localhost" , "username" , "password" );
if (! $con ){die( 'Could not connect: ' . mysql_error ());}
$sql = "INSERT INTO `blog entries`.`blogs` (`articleTitle`, `authorName`, `articleBody`)
VALUES (' $title ', ' $aName ', ' $body ');" ;
if (! mysql_query ( $sql , $con )){die( 'Error: ' . mysql_error ());}
mysql_close ( $con )
?>
<br /><br /><br />
<center><p>Thank-you!</p></center>
</body>
</html>
It works, although when you view an entry that is longer than the width of the page, it simply extends it rather than jumping to a new line. I am new to PHP and was wondering if there was a function or something I could use, or if this could could be fixed within the CSS. Please help, and thanks in advance.
Is the problematic text, by any chance, stored in the DB with " " instead of regular space characters? Because that's the only way I've been able to reproduce your problem - by using spacebar the text wraps just fine by default (as it should).
If that's the case, you can replace all ' '-s:
Code:
...
echo"<ABODY>";
echo str_replace(' ', ' ', $row['articleBody']);
echo"</ABODY>";
...
Thanks, althought I tried that and it didn't really make a difference. I'm using MySQL, should I add a property? Thanks
Nevermind, I got it to work. I replaced this line in the display page:
echo $row['articleBody'];
-with-
echo wordwrap($row['articleBody'],60,"<br />\n");
Thread Information
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)
Tags for this Thread
Posting Permissions
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Forum Rules
Bookmarks