21. september 2006 - 20:14
Der er
7 kommentarer og 1 løsning
Vis kun nyhed hvid du er logget ind
Hej eksperter.. Jeg har dette script, og vil gerne at nyhederne fra databasen kun bliver vist på denne side hvis man er logget ind.. Hvordan gør jeg det? <?php session_start(); require('connect.php'); if(isset($_SESSION['admin'])) { if(is_numeric($_GET['slet'])) { $query = mysql_query("DELETE FROM Nyheder WHERE id = ".$_GET['slet']." LIMIT 1"); header('Location: ' . $_SERVER['PHP_SELF']); exit(); } if(isset($_POST['opretnyhed'])) { $header = mysql_real_escape_string(strip_tags($_POST['header'])); $news = mysql_real_escape_string(strip_tags($_POST['news'])); $query = mysql_query("INSERT INTO Nyheder(id,header,news,writen) VALUES('','".$header."','".$news."',NOW())"); header('Location: ' . $_SERVER['PHP_SELF']); exit(); } //Hack til rediger... $overskrift = ""; $nyhed = ""; if(is_numeric($_GET['rediger'])) { $query = mysql_query("SELECT * FROM Nyheder WHERE id = ".$_GET['rediger']." LIMIT 1"); if(mysql_num_rows($query)==1) { $row = mysql_fetch_assoc($query); $overskrift = $row['header']; $nyhed = $row['news']; } } echo '<table>'; echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">'; echo '<tr><td>Overskrift:</td><td><input type="text" name="header" value="'.$overskrift.'"></td></tr>'; echo '<tr><td>Nyhed:</td><td><textarea name="news" cols="50" rows="10">'.$nyhed.'</textarea></td></tr>'; echo '<tr><td colspan="2"><input type="submit" value="Opret Nyhed" name="opretnyhed"></td></tr>'; echo '</form>'; echo '</table>'; echo '<A href="logud.php">Log ud</A>'; } else { if(isset($_POST['login'])) { if($_POST['user'] == 'admin' && $_POST['pass'] == 'password') { $_SESSION['admin'] = true; header('Location: ' . $_SERVER['PHP_SELF']); exit(); }else { echo '<b>Du har angivet forkert brugernavn eller password!</b>'; print '<br>'; } } echo '<table>'; echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">'; echo '<tr><td>Brugernavn:</td><td><input type="text" name="user"></td></tr>'; echo '<tr><td>Password:</td><td><input type="password" name="pass"></td></tr>'; echo '<tr><td colspan="2"><input type="submit" value="Log Ind" name="login"></td></tr>'; echo '</form>'; echo '</table>'; } echo '<hr>'; $query = mysql_query("SELECT * FROM Nyheder ORDER BY writen DESC") or die (mysql_error()); if(mysql_num_rows($query)>0) { echo '<table>'; while($row = mysql_fetch_assoc($query)) { echo '<tr><td><b><font size="2">' . $row['header'] . '</font></b></td></tr>'; echo '<tr><td style="border-bottom: 2px solid black;"><font size="2">' . $row['writen'] . '</font></td></tr>'; echo '<tr><td><font size="2">' . nl2br($row['news']) . '</font></td></tr>'; if($_SESSION['admin']) { echo '<tr><td><a href="skrivnyhed.php?slet='.$row['id'].'">Slet artikel</a></td></tr>'; echo '<tr><td><a href="skrivnyhed.php?rediger='.$row['id'].'">Rediger artikel</a></td></tr>'; echo '<tr><td><BR></td></tr>'; echo '<tr><td><HR> </td></tr>'; echo '<tr><td><BR></td></tr>'; } } echo '</table>'; } else { echo 'Ingen nyheder endnu'; } ?>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
21. september 2006 - 20:54
#1
Flyt alt nederste: echo '<hr>'; $query = mysql_query("SELECT * FROM Nyheder ORDER BY writen DESC") or die (mysql_error()); if(mysql_num_rows($query)>0) { echo '<table>'; while($row = mysql_fetch_assoc($query)) { echo '<tr><td><b><font size="2">' . $row['header'] . '</font></b></td></tr>'; echo '<tr><td style="border-bottom: 2px solid black;"><font size="2">' . $row['writen'] . '</font></td></tr>'; echo '<tr><td><font size="2">' . nl2br($row['news']) . '</font></td></tr>'; if($_SESSION['admin']) { echo '<tr><td><a href="skrivnyhed.php?slet='.$row['id'].'">Slet artikel</a></td></tr>'; echo '<tr><td><a href="skrivnyhed.php?rediger='.$row['id'].'">Rediger artikel</a></td></tr>'; echo '<tr><td><BR></td></tr>'; echo '<tr><td><HR> </td></tr>'; echo '<tr><td><BR></td></tr>'; } } echo '</table>'; } else { echo 'Ingen nyheder endnu'; } op over den foregående }
21. september 2006 - 21:43
#2
Jo tak, det var slet ikke så indviklet.. :D Du skulle vel ikke vide hvordan jeg kunne lave sådan en [Read more] knap for nyhederne.. Hvor her måske vises de første 50 tegn af sætningen?
21. september 2006 - 21:56
#4
Okay, det tror jeg ikke jeg finder ud af... Det skulle vel ikke være muligt at du kunne skrive kode til det..? Altså sådan her: BlahBlaHHHH BlaHHH[Læs mere] Og så kommer resten af nyheden frem...?
21. september 2006 - 22:12
#5
Tjah, prøv med: <?php $query = mysql_query("SELECT * FROM Nyheder ORDER BY writen DESC") or die (mysql_error()); if(mysql_num_rows($query)>0) { echo '<table>'; while($row = mysql_fetch_assoc($query)) { echo '<tr><td><b><font size="2">' . $row['header'] . '</font></b></td></tr>'; echo '<tr><td style="border-bottom: 2px solid black;"><font size="2">' . $row['writen'] . '</font></td></tr>'; echo '<tr><td><font size="2">' . nl2br(substr($row['news'],0,50)); echo '... [<a href="readmore.php?id=' .$row['id'] . '">læs mere</a>]</font></td></tr>'; if($_SESSION['admin']) { echo '<tr><td><a href="skrivnyhed.php?slet='.$row['id'].'">Slet artikel</a></td></tr>'; echo '<tr><td><a href="skrivnyhed.php?rediger='.$row['id'].'">Rediger artikel</a></td></tr>'; echo '<tr><td><BR></td></tr>'; echo '<tr><td><HR> </td></tr>'; echo '<tr><td><BR></td></tr>'; } } echo '</table>'; } else { echo 'Ingen nyheder endnu'; } ?> Lav så readmore.php <?php session_start(); require('connect.php'); if(isset($_SESSION['admin'])) { $query = mysql_query("SELECT * FROM Nyheder WHERE id = '" . mysql_escape_string( $_GET['id'] ) . "'") or die (mysql_error()); if ( $row = mysql_fetch_assoc( $query ) ) { echo '<table>'; echo '<tr><td><b><font size="2">' . $row['header'] . '</font></b></td></tr>'; echo '<tr><td style="border-bottom: 2px solid black;"><font size="2">' . $row['writen'] . '</font></td></tr>'; echo '<tr><td><font size="2">' . nl2br(row['news']); echo ' [<a href="readmore.php?id=' .$row['id'] . '">læs mere</a>]</font></td></tr>'; echo '<tr><td><a href="skrivnyhed.php?slet='.$row['id'].'">Slet artikel</a></td></tr>'; echo '<tr><td><a href="skrivnyhed.php?rediger='.$row['id'].'">Rediger artikel</a></td></tr>'; echo '</table>'; } } ?>
21. september 2006 - 22:13
#6
Altså, erstat det lige efter den sidste <HR> med: $query = mysql_query("SELECT * FROM Nyheder ORDER BY writen DESC") or die (mysql_error()); if(mysql_num_rows($query)>0) { echo '<table>'; while($row = mysql_fetch_assoc($query)) { echo '<tr><td><b><font size="2">' . $row['header'] . '</font></b></td></tr>'; echo '<tr><td style="border-bottom: 2px solid black;"><font size="2">' . $row['writen'] . '</font></td></tr>'; echo '<tr><td><font size="2">' . nl2br(substr($row['news'],0,50)); echo '... [<a href="readmore.php?id=' .$row['id'] . '">læs mere</a>]</font></td></tr>'; if($_SESSION['admin']) { echo '<tr><td><a href="skrivnyhed.php?slet='.$row['id'].'">Slet artikel</a></td></tr>'; echo '<tr><td><a href="skrivnyhed.php?rediger='.$row['id'].'">Rediger artikel</a></td></tr>'; echo '<tr><td><BR></td></tr>'; echo '<tr><td><HR> </td></tr>'; echo '<tr><td><BR></td></tr>'; } } echo '</table>'; } else { echo 'Ingen nyheder endnu'; } ?> og så lav den fil jeg skriver med det indhold :)
21. september 2006 - 22:38
#7
Får denne fejl i readmore.php Parse error: syntax error, unexpected '[' in /var/www/hotserv.dk/users/hg205/test/readmore.php on line 14
21. september 2006 - 22:46
#8
Har fundet ud af det.. det var bare et lille $ tegn der manglede...
Vi tilbyder markedets bedste kurser inden for webudvikling