Hej, jeg har prøvet at lave et nyheds script, men uden held... kan ikke rigtig se hvordan
så jeg fandt nogle guides/tutorials.. Jeg har set på den der er her på Udvikleren men den er så fuld af fejl at jeg ikke engang gider at rette dem. (den virker ikke
)
så jeg fandt en anden men den virker kun lidt
news.php
<?php
include "db_connect.php";
$loadNews = mysql_query("SELECT * FROM news ORDER BY id DESC") or die(mysql_error());
// Men vi skal da lige tjekke, om der overhovedet er oprettet nogle nyheder i vores databse! Det gør vi med mysql_num_rows();
// Vi tæller simpelthen hvor mange data der er indsat, hvis der er 0 data udskriver vi en meddelse
if(mysql_num_rows($loadNews) == 0) {
echo "Der er ikke blevet tilføjet nogle nyheder.";
// Hvis der er mere end 0 nyheder oprettet et databasen udskriver vi dem alle
} else {
// Ved hjælp af en while() også kaldt "løkke", udskriver vi nyhederne
while($showNews = mysql_fetch_array($loadNews)) {
$nName = stripslashes($showNews["name"]); // Vi opretter en variable for overskriften. stripslashes(); fjerner "/" fra selve overskriften hvis dette skulle være tilfældet
$nAuthor = stripslashes($showNews["author"]); // Vi opretter endnu en variable for forfatteren, og bruger stripslashes();
$nText = nl2br(stripslashes($showNews["text"])); // En til variable! Denne gang for selve nyheden. nl2br(); er en funktion der bruges som linjeskift ved ENTER, istedet for man skal bruge <br /> for hver linjeskift, ret smart ikk"?
$nDate = $showNews["date"]; // Og til sidst en variable for datoen!
echo "<b>".$nName."</b><br />"; // Udskriv overskriften med "fed"
echo "<i>Skrevet af ".$nAuthor.", d. ".$nDate."</i><br />"; // Udskriv forfatter og date med "kursiv"
echo "".$nText.""; // Udskriv selve nyheden
echo "<br /><br />"; // Laver plads til næste nyhed
} // Lukker vores while()
} // Lukker vores if();
// Et link som fører til tilfoj.nyhed.php, hvor der kan oprettes nyheder
echo "<a href='add_news.php' title='Tilføj nyhed'>Tilføj nyhed</a>";
?>
News.php ser ud til at virke. kan da se teksten når jeg prøver at åbne siden.
Add_news.php
<?php
// Vi inkluderer vores config fil, som holder forbindelsen til vores database
include "db_connect.php";
// Vi laver en variable ud af vores "action". Det gør det hele meget lettere
$action = $_GET["action"];
// Hvis "action" er lig med "submitNews", gør vi klar til at indsætte selve nyheden
if($action == "submitNewsz") {
$cName = htmlspecialchars(addslashes($_POST['newsName'])); // Vi opretter en variable for overskriften. htmlspecialchars(); gør så der ikke kan bruges HTML i overskrift. addslashes(); sætter / ved " og ", hvis det er tilfældet
$cAuthor = htmlspecialchars(addslashes($_POST['newsAuthor'])); // Vi gør de samme ved forfatter, ligesom vi gjorde ved overskriften
$cText = htmlspecialchars(addslashes($_POST['newsText'])); // Og endnu en gang ved selve nyheden
$cDate = date('d-m/Y'); // Skaffer den nuværende dato og laver en variable af den
// Her bruger vi empty() til at tjekke om et felt er tomt. Læg mærke til at jeg har sat "!" foran. Så nu er det omvendt! Den spørger: "Hvis overskrift, forfatter og text er udfyldt, så indsætter vi i databasen"
if(!empty($cName) && !empty($cAuthor) && !empty($cText)) {
// Simpel mysql_query(); hvor vi indsætter nyheden i databasen
mysql_query("INSERT INTO news (name, author, date, text)VALUES( $cName , $cAuthor , $cDate , $cText )") or die(mysql_error());
// Jubii! Det lykkedes os at oprette en nyhed. Vi udskriver en besked
//echo "<span style="color: green; font-weight: bold;">Nyheden "".$cName."" er blevet tilføjet!</span>";
// Hvis overskrift, forfatter og selve nyheden var tomme udskriver vi en meddelse
} else {
echo "Du skal udfylde alle felter!";
} // Lukker vores if();
// Hvis "action" ikke var lig med "submitNews" udskriver vi html-formularen til at oprettelsen af en nyhed
} else {
?>
<form action="?action=submitNews" method="POST">
<b>Overskrift:</b><br />
<input type="text" name="newsName"><br />
<b>Forfatter:</b><br />
<input type="text" name="newsAuthor"><br />
<b>Overskrift:</b><br />
<textarea name="newsText" style="width: 400px; height: 120px;"></textarea><br />
<input type="submit" value="OK">
</form>
<?php
} // Lukker vores if();
?>
men den her vil ikke virke... og jeg kan ikke se hvorfor. sikkert bare et tegn der magnler eller er for meget...
Indlæg senest redigeret d. 29.07.2007 15:40 af Bruger #11875