Ska försöka mig på att göra en blogg med databas. Den behöver inte se jättefin ut, utan jag vill bara få det att funka.
Jag får inga error på sidan, men blogginläggen som lagts in visas inte alls.
Det funkar att posta nya blogginlägg med formuläret från create.php, det går alltså in i databasen, men inget visas på sidan sen. Vad är det som är fel?
Skrev fel namn på databasen till en början, så ni vet. den heter alltså blog_databse i mysql också.
I slutändan ska jag kunna se och redigera inläggen, logga in för att göra detta och skriva kommentarer. Men nöjer mig med att ens kunna se inläggen på index sidan överhuvudtaget först. Ja jag är en jäkla nybörjare som har gjort 1000 idiotfel, jag vet
tack på förhand.
Index.php:
[PHP]
<html>
<head>
<title>Min blogg</title>
</head>
</html>
<?php
include_once"header.php"; // det här är början på designen på sidan
include_once "scripts/connect.php"; // Skapar kontakt med connect.php
include_once "create.php"; // Skapar kontakt med create.php
$id = 0;
$id2 = 0;
$date = "";
$contents = "";
$author = "";
if (isset($_GET['id'])) {
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM blog WHERE id='$id'");
while($row = mysql_fetch_array($sql)){
$title = $row["title"]; // förvandlar datan till phpvariabler
$contents = $row["contents"];
$author = $row["author"];
$date = $row["date"];
echo "title: $title ";
}
}
else {
// get five post recently
$result = mysql_query("SELECT * FROM blog");
$txt = "";
// display blogs
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$txt .= "<table class=\"blog\">";
$txt .= "<tr><td class=\"blogtitle\">" . $row["title"] . "</td></tr>";
$txt .= "<tr><td class=\"bloguser_date\">Posted by " . $row["author"] . " date: " . $row["date"] . "</td></tr>";
$txt .= "<tr><td class=\"blogtext\">" . $row["contents"] . "</td></tr>";
//$txt .= "<tr><td><a href=?bid=" . $row["id"] . ">show comment</a></td></tr>";
$txt .= "</table>";
}
mysql_free_result($result);
//@mysql_close();
}
?>
[/PHP]
Connect.php:
[PHP]
<?php
$db_host = "localhost"; //your host Database address
$db_username = "Niklas"; //your account username
$db_pass = "hejhej"; //your account password
$db_name = "blog_databse"; //your database name
@mysql_connect("$db_host","$db_username","$db_pass ") or die ("could not connect to mysql");
@mysql_select_db("$db_name") or die ("no database");
?>
[/PHP]
Create.php:
[PHP]
<?php
include_once"scripts/connect.php"; // Skapar kontakt med databasen
$msg = "";
if (isset($_POST['submit']))
if ($_POST['submit'] == "Skicka"){ // If funktionen upptäcker om formuläret har blivit postat
echo "dddd";
$ptitle = $_POST['title']; // Fångar upp titel, innehåll och författare till inlägget.
$pcontents = $_POST['contents'];
$pauthor = $_POST['author'];
$pdate = date("Y-n-d H:i:s"); // right now in date and time format
echo "ptitle $ptitle pconentents $pcontents pauthor $pauthor <br />";
$sqlcreate = mysql_query("INSERT INTO blog (date, title, contents, author)
VALUES('$pdate', '$ptitle','$pcontents','$pauthor')"); // skickar variablerna till rätt plats, "now" har med datumet att göra
if ($sqlcreate){ // Rapporterar om inlägg har skapats eller om det blev fail.
$msg = "<font color=\"#009900\">Ett nytt inlägg har skapats.</font>";
} else {
$msg = "<font color=\"#FF0000\">Problem med att få kontakt med servern.</font>";
}
}
include_once "header.php"; // Har med header.php längst upp
echo $msg;
?>
</html>
<form action="create.php" method="post">
<input type="text" name="title" value="title"/>
<br />
<br />
<textarea rows="8" name="contents" >Innehåll</textarea>
<br />
<input type="text" name="author" value="Författare"/>
<br />
<br />
<input type="hidden" value="new" />
<input type ="submit" name="submit" value="Skicka" />
</form>
</html>
[/PHP]
[PHP]
namn på databas: blog_databse
Table:blog
Fält i blog:
id
date
title
contents
author
samt några blogginlägg i dessa med id, titel, författare osv.
[/PHP]
Jag får inga error på sidan, men blogginläggen som lagts in visas inte alls.
Det funkar att posta nya blogginlägg med formuläret från create.php, det går alltså in i databasen, men inget visas på sidan sen. Vad är det som är fel?
Skrev fel namn på databasen till en början, så ni vet. den heter alltså blog_databse i mysql också.
I slutändan ska jag kunna se och redigera inläggen, logga in för att göra detta och skriva kommentarer. Men nöjer mig med att ens kunna se inläggen på index sidan överhuvudtaget först. Ja jag är en jäkla nybörjare som har gjort 1000 idiotfel, jag vet
tack på förhand.Index.php:
[PHP]
<html>
<head>
<title>Min blogg</title>
</head>
</html>
<?php
include_once"header.php"; // det här är början på designen på sidan
include_once "scripts/connect.php"; // Skapar kontakt med connect.php
include_once "create.php"; // Skapar kontakt med create.php
$id = 0;
$id2 = 0;
$date = "";
$contents = "";
$author = "";
if (isset($_GET['id'])) {
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM blog WHERE id='$id'");
while($row = mysql_fetch_array($sql)){
$title = $row["title"]; // förvandlar datan till phpvariabler
$contents = $row["contents"];
$author = $row["author"];
$date = $row["date"];
echo "title: $title ";
}
}
else {
// get five post recently
$result = mysql_query("SELECT * FROM blog");
$txt = "";
// display blogs
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$txt .= "<table class=\"blog\">";
$txt .= "<tr><td class=\"blogtitle\">" . $row["title"] . "</td></tr>";
$txt .= "<tr><td class=\"bloguser_date\">Posted by " . $row["author"] . " date: " . $row["date"] . "</td></tr>";
$txt .= "<tr><td class=\"blogtext\">" . $row["contents"] . "</td></tr>";
//$txt .= "<tr><td><a href=?bid=" . $row["id"] . ">show comment</a></td></tr>";
$txt .= "</table>";
}
mysql_free_result($result);
//@mysql_close();
}
?>
[/PHP]
Connect.php:
[PHP]
<?php
$db_host = "localhost"; //your host Database address
$db_username = "Niklas"; //your account username
$db_pass = "hejhej"; //your account password
$db_name = "blog_databse"; //your database name
@mysql_connect("$db_host","$db_username","$db_pass ") or die ("could not connect to mysql");
@mysql_select_db("$db_name") or die ("no database");
?>
[/PHP]
Create.php:
[PHP]
<?php
include_once"scripts/connect.php"; // Skapar kontakt med databasen
$msg = "";
if (isset($_POST['submit']))
if ($_POST['submit'] == "Skicka"){ // If funktionen upptäcker om formuläret har blivit postat
echo "dddd";
$ptitle = $_POST['title']; // Fångar upp titel, innehåll och författare till inlägget.
$pcontents = $_POST['contents'];
$pauthor = $_POST['author'];
$pdate = date("Y-n-d H:i:s"); // right now in date and time format
echo "ptitle $ptitle pconentents $pcontents pauthor $pauthor <br />";
$sqlcreate = mysql_query("INSERT INTO blog (date, title, contents, author)
VALUES('$pdate', '$ptitle','$pcontents','$pauthor')"); // skickar variablerna till rätt plats, "now" har med datumet att göra
if ($sqlcreate){ // Rapporterar om inlägg har skapats eller om det blev fail.
$msg = "<font color=\"#009900\">Ett nytt inlägg har skapats.</font>";
} else {
$msg = "<font color=\"#FF0000\">Problem med att få kontakt med servern.</font>";
}
}
include_once "header.php"; // Har med header.php längst upp
echo $msg;
?>
</html>
<form action="create.php" method="post">
<input type="text" name="title" value="title"/>
<br />
<br />
<textarea rows="8" name="contents" >Innehåll</textarea>
<br />
<input type="text" name="author" value="Författare"/>
<br />
<br />
<input type="hidden" value="new" />
<input type ="submit" name="submit" value="Skicka" />
</form>
</html>
[/PHP]
[PHP]
namn på databas: blog_databse
Table:blog
Fält i blog:
id
date
title
contents
author
samt några blogginlägg i dessa med id, titel, författare osv.
[/PHP]
__________________
Senast redigerad av Eight08 2009-12-04 kl. 16:53.
Senast redigerad av Eight08 2009-12-04 kl. 16:53.