PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : News anzeigen, wenn angemeldet



MasterG
27.04.2007, 20:31
Hallo,

also es sollen die News nur für User lesbar sein. Also soll wie man zur Zeit auf grafmails.de sieht, die obere Newsleiste nur erscheinen, wenn der User eingeloggt ist. Kann da jemand helfen? Hier ein kleiner Ausschnitt aus der aktuellen Startseite.php:


<?
$news = db_query("SELECT * FROM ".$db_prefix."_news ORDER BY id DESC LIMIT 1");
while ($nz = mysql_fetch_array($news)) {
head($nz['titel'].' vom '.date("d.m.Y - H:i:s",$nz['zeit']));
echo nl2br($nz['news']);
foot();
}
?>

<?head("");?>
<? $personendaten = mysql_fetch_array(db_query("SELECT `nickname` FROM
".$db_prefix."_userdaten WHERE uid=".$_SESSION['uid']." LIMIT 1")); ?>
<center><b>
<Script Language="JavaScript">
var now = new Date()
var h = now.getHours()
if (h < 10)
document.write("Guten Morgen")
else if (h < 18)
document.write("Guten Tag")
else
document.write("Guten Abend")
</script>

<?if ($_SESSION['login'] == 'true') {?>
<?=$personendaten['nickname'];?> und
<?} else {?>
Gast und
<?}?>
herzlich Willkommen bei Grafmails.de!</b></center>
<br>
Verdienen Sie ganz einfach Euros, Primera, Lose oder MMPs bei Grafmails.de!
<div align="center">
TEXT TEXT TEXT TEXT

Jemand eine Idee, wie ich das umsetzen soll?

swinxx
27.04.2007, 23:02
<?if ($_SESSION['login'] == 'true') {?> = WENN EINGELOGGT

Hier alles was man im eingeloggtem Zustand sieht !


<?} else {?> = WENN NICHT EINGELOGGT

Hier alles was man im ausgeloggtem Zustand sieht !


<? } ?> = ENDE

Hier sieht man alles im eingeloggtem und im ausgeloggtem Zustand.

---------

Mann kann auch, wennman nicht mit else arbeitet, so machen das man den ausgeloggten Zusand extra angibt, und zwar so:


<? if ($_SESSION['login'] != 'true') {?>

MasterG
27.04.2007, 23:17
So geht es leider nicht:


<? if ($_SESSION['login'] != 'true') {?>
<?
$news = db_query("SELECT * FROM ".$db_prefix."_news ORDER BY id DESC LIMIT 1");
while ($nz = mysql_fetch_array($news)) {
head($nz['titel'].' vom '.date("d.m.Y - H:i:s",$nz['zeit']));
echo nl2br($nz['news']);
foot();
}
?>

Wie soll es den richtig heißen?

swinxx
27.04.2007, 23:22
So wie du es hast wird es nur im ausgeloggtem Zusand angezeigt... Wenn garnicht dann probier mal ob du nicht nur das <? } ?> danach vergessen hast um den Befehl zu beenden !

Also dann so:


<? if ($_SESSION['login'] != 'true') {?>
<?
$news = db_query("SELECT * FROM ".$db_prefix."_news ORDER BY id DESC LIMIT 1");
while ($nz = mysql_fetch_array($news)) {
head($nz['titel'].' vom '.date("d.m.Y - H:i:s",$nz['zeit']));
echo nl2br($nz['news']);
foot();
}
?>
<? } ?>


cu, Swinxx

MasterG
27.04.2007, 23:27
FUNKTIONIERT!

Nur leider verkehrt herum :D
Jetzt sieht man es eingeloggt nicht, soll es aber. Und nicht eingeloggt sieht man es, was nicht sein soll.

Gremlin
27.04.2007, 23:28
<? if ($_SESSION['login'] == 'true') {?>
<?
$news = db_query("SELECT * FROM ".$db_prefix."_news ORDER BY id DESC LIMIT 1");
while ($nz = mysql_fetch_array($news)) {
head($nz['titel'].' vom '.date("d.m.Y - H:i:s",$nz['zeit']));
echo nl2br($nz['news']);
foot();
}
?>
<? } ?>

MasterG
27.04.2007, 23:35
Jetzt geht´s aber richtig. Danke euch zwei! :]

swinxx
27.04.2007, 23:43
Jo, sagte ja oben schon das es so wie du es hast im ausgeloggtem Zusatnd angezeigt wird !

Aber jetzt klappts ja !

cu, Swinxx