PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Content oder Navigation einbinden


Wanginator
2005-01-04, 18:59:24
Wollt meine Seite neu strukturieren, zu was würdet ihr eher raten und weshalb:

1. alles auf einer index-seite mit navigation, banner etc., wo nur noch der content stehts includet wird über php

oder

2. jeden content auf eine eigene seite, die navigation, banner etc. werden includet über php

was hat welche vorteile und ist daher mehr zu empfehlen?

ravage
2005-01-04, 19:50:39
Ich hatte auf meiner letzten Homepage das 2. gewählt.

Auf der HP hatte ich für einige Seiten Untermenüs, die ich so leichter einfügen konnte. Da war auch noch was, weswegen ich die 2. Variante gewählt habe... :uponder:

user08/15
2005-01-07, 12:01:46
1. in Kombination mit mod_rewrite, weil man dann die Includes nicht in jede Datei schreiben muss und es suchmaschinenfreundlich ist.

R300
2005-01-07, 13:35:25
1. in Kombination mit mod_rewrite, weil man dann die Includes nicht in jede Datei schreiben muss und es suchmaschinenfreundlich ist.

Kannst du ein Link zu einem Tutorial geben wie das geht?

Methode 2 kann ich, aber Methode 1 verstehe ich nicht ganz.
Worauf sollen die Links dann verweisen wenn immer nur die index.php offen ist und der Inhalt in sie includet wird?

MadMan2k
2005-01-07, 13:59:53
http://tut.php-q.net/frames.html

ravage
2005-01-07, 16:01:40
Ähm etwas kompliziert. Ich persönlich hatte das etwas anders gemacht. Und zwar...

Da wo in der Index.php Datei der Content hin soll:


include $site;


Vorher natürlich:


if($_GET['site']) {
$site=$_GET['site'];
} else {
$site="news";
}


Ein Link sähe dann so aus:


<a href="index.php?&amp;site=member">Hier gehts zur Membersektion</a>


/EDIT: Nur dürfen die Dateien die man includen will kein Suffix haben...

Gast
2005-01-07, 16:15:37
und wenn jetzt jemand index.php?&site=/etc/passwd aufruft?

R300
2005-01-07, 17:20:16
Ähm noch eine Frage.
Ich habe das jetzt so gemacht wie in dem Tutorial.

Hier ein bischen rumgebastellt: http://r300.r3.funpic.de/test/index.php?section=gb

Wenn ich jetzt allerdings einen neuen Beitrag erstellen will, hängt das Gästebusch Script nochmal ?action=entry an die adresse an.

Wie soll der Link aussehen wenn da gleichzeitig ?section=gb und ?action=entry drin stehen soll?

(PS: und was die beiden Fehler da sollen kapiere ich auch nicht wirklich. Aber das liegt am Script...)

JTHawK
2005-01-07, 17:36:17
Ähm noch eine Frage.
Ich habe das jetzt so gemacht wie in dem Tutorial.

Hier ein bischen rumgebastellt: http://r300.r3.funpic.de/test/index.php?section=gb

Wenn ich jetzt allerdings einen neuen Beitrag erstellen will, hängt das Gästebusch Script nochmal ?action=entry an die adresse an.

Wie soll der Link aussehen wenn da gleichzeitig ?section=gb und ?action=entry drin stehen soll?

(PS: und was die beiden Fehler da sollen kapiere ich auch nicht wirklich. Aber das liegt am Script...)



?section=gb&action=entry


"session_start()" kann man nur einmal machen bzw den HEADER gibts eben nur einmal.

R300
2005-01-07, 17:45:48
THX, jetzt gehts

EDIT:
Ähm noch was.
kann mir jemand helfen die Stellen im Scriptcode des Gästebuchs zu finden wo man überall ?section=gb& einfügen muss damit die ganzen Button funzen?

Die Buttons für neuer Eintrag und Zurück habe ich gefunden, aber den Rest finde ich nicht. :(


session_start();

function bbcode($string)
{
$string = preg_replace("#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $string);
$string = preg_replace("#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $string);
$string = preg_replace("#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $string);
$string = preg_replace("#\[link\]www\.(.+?)\[/link\]#is", "<a href=\"http://www.\\1\">www.\\1</a>", $string);
$string = preg_replace("#\[link\](.+?)\[/link\]#is", "<a href=\"\\1\">\\1</a>", $string);
$string = preg_replace("#\[link=(.+?)\](.+?)\[/link\]#is", "<a href=\"\\1\">\\2</a>", $string);
$string = preg_replace("#\[url\]www\.(.+?)\[/url\]#is", "<a href=\"http://www.\\1\">www.\\1</a>", $string);
$string = preg_replace("#\[url\](.+?)\[/url\]#is", "<a href=\"\\1\">\\1</a>", $string);
$string = preg_replace("#\[url=(.+?)\](.+?)\[/url\]#is", "<a href=\"\\1\">\\2</a>", $string);
return $string;
}

function smilies($string)
{
global $smiley_folder;
$string = str_replace(":-)", "<img src=\"".$smiley_folder."smile.gif\" alt=\":-)\" width=\"15\" height=\"15\" />", $string);
$string = str_replace("(-:", "<img src=\"".$smiley_folder."smile.gif\" alt=\":-)\" width=\"15\" height=\"15\" />", $string);
$string = str_replace(":)", "<img src=\"".$smiley_folder."smile.gif\" alt=\":)\" width=\"15\" height=\"15\" />", $string);
$string = str_replace("(:", "<img src=\"".$smiley_folder."smile.gif\" alt=\":)\" width=\"15\" height=\"15\" />", $string);
$string = str_replace(";-)", "<img src=\"".$smiley_folder."wink.gif\" alt=\";-)\" width=\"15\" height=\"15\" />", $string);
$string = str_replace(":-D", "<img src=\"".$smiley_folder."biggrin.gif\" alt=\":-D\" width=\"15\" height=\"15\" />", $string);
$string = str_replace(":D", "<img src=\"".$smiley_folder."biggrin.gif\" alt=\":D\" width=\"15\" height=\"15\" />", $string);
$string = str_replace(":-P", "<img src=\"".$smiley_folder."tongue.gif\" alt=\":-P\" width=\"15\" height=\"15\" />", $string);
$string = str_replace(":-p", "<img src=\"".$smiley_folder."tongue.gif\" alt=\":-p\" width=\"15\" height=\"15\" />", $string);
$string = str_replace(":-|", "<img src=\"".$smiley_folder."neutral.gif\" alt=\":-|\" width=\"15\" height=\"15\" />", $string);
$string = str_replace(":|", "<img src=\"".$smiley_folder."neutral.gif\" alt=\":|\" width=\"15\" height=\"15\" />", $string);
$string = str_replace(":-(", "<img src=\"".$smiley_folder."frown.gif\" alt=\":-(\" width=\"15\" height=\"15\" />", $string);
$string = str_replace(":(", "<img src=\"".$smiley_folder."frown.gif\" alt=\":(\" width=\"15\" height=\"15\" />", $string);
$string = str_replace(")-:", "<img src=\"".$smiley_folder."frown.gif\" alt=\":-(\" width=\"15\" height=\"15\" />", $string);
return $string;
}

function make_link($string)
{
$string = ' ' . $string;
$string = preg_replace("#(^|[\n ])([\w]+?://.*?[^ \"\n\r\t<]*)#is", "\\1<a href=\"\\2\">\\2</a>", $string);
$string = preg_replace("#(^|[\n ])((www|ftp)\.[\w\-]+\.[\w\-.\~]+(?:/[^ \"\t\n\r<]*)?)#is", "\\1<a href=\"http://\\2\">\\2</a>", $string);
$string = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $string);
$string = substr($string, 1);
return $string;
}

function browse()
{
global $p, $entries_per_page, $entry_count, $previous_page, $next_page;

if ($entry_count > $entries_per_page)
{
$new_index_before = $p - 1;
$new_index_after = $p + 1;
$site_count = ceil($entry_count / $entries_per_page);
?><p class="gb-browse"><?php
if ($new_index_before >= 0) { ?><a href="<?php echo basename($_SERVER["PHP_SELF"]); ?>?section=gb&amp;?p=<?php echo $new_index_before; ?>" title="<?php echo $previous_page; ?>">&laquo;</a>&nbsp;<?php }
if ($new_index_before >= 0 && $new_index_before < $site_count) echo "";
if ($p==0) { ?><span class="caution">1</span>&nbsp;<?php } else { ?><a href="<?php echo basename($_SERVER["PHP_SELF"]); ?>?section=gb&amp;?p=0">1</a>&nbsp;<?php }
for($x=$p-3; $x<$p+4; $x++)
{
if ($x > 0 && $x < $site_count) { if ($x==$p) { ?><span class="caution"><?php echo $x+1; ?></span>&nbsp;<?php } else { ?><a href="<?php echo basename($_SERVER["PHP_SELF"]); ?>?section=gb&amp;?p=<?php echo $x; ?>"><?php echo $x+1; ?></a>&nbsp;<?php } }
}
if ($new_index_after < $site_count) { ?><a href="<?php echo basename($_SERVER["PHP_SELF"]); ?>?section=gb&amp;?p=<?php echo $new_index_after; ?>" title="<?php echo $next_page; ?>">&raquo;</a><?php }
?></p><?php
}
}

function parse_time($time_dump)
{
global $months_translated;
if (isset($months_translated))
{
$months = array("January","February","March","April","May","June","July","August","September","October","November","December");
$time_dump = str_replace($months,$months_translated,$time_dump);
}
if (substr($time_dump,0,1)=="0") $time_dump = substr($time_dump, 1);
return $time_dump;
}

if (isset($_POST['action'])) $action = $_POST['action'];
if (isset($_GET['action'])) $action = $_GET['action'];

if (isset($_POST['login_password']))
{
if ($_POST['login_password'] == $password)
{
$_SESSION['admin'] = true;
header("location: ".basename($_SERVER["PHP_SELF"]));
die("<a href=\"".basename($_SERVER["PHP_SELF"])."\">further...</a>");
}
else { $action="none"; $show="login failed"; }
}

if (isset($_POST['edit']))
{
if (isset($_SESSION['admin']))
{
$data = file($gbdata);
$row_count = count($data);
for ($row = 0; $row < $row_count; $row++)
{
$parts = explode("|", $data[$row]);
if ($parts[0] == $_POST['entry_uniqid'])
{
$entry_uniqid = $parts[0];
$time = $parts[1];
$ip = $parts[2];
$name = urldecode($parts[3]);
$email = base64_decode(urldecode($parts[4]));
$hp = urldecode($parts[5]);
$place = urldecode($parts[6]);
$text = urldecode($parts[7]);
$comment = urldecode($parts[8]);
break;
}
}
$action="edit";
$show="form";
}
else { $action = "none"; $show = "no authorization"; }
}

// Eintrag löschen:
if (isset($_POST['delete']) && isset($_POST['entry_uniqid']))
{
if (isset($_SESSION['admin']))
{
$data = file($gbdata);
$row_count = count($data);
$fp = fopen($gbdata, 'w+');
flock($fp, 2);
for ($row = 0; $row < $row_count; $row++)
{
$parts = explode("|", $data[$row]);
if ($parts[0] != $_POST['entry_uniqid']) { fwrite($fp, trim($data[$row])."\n"); }
}
flock($fp, 3);
fclose($fp);

header("location: ".basename($_SERVER["PHP_SELF"]));
die("<a href=\"".basename($_SERVER["PHP_SELF"])."\">further...</a>");
}
else { $action = "none"; $show = "no authorization"; }
}

// wenn Formular abgeschickt wurde:
if (isset($_POST['form_submited']))
{
// &uuml;bergebene Variablen ermitteln:
if (isset($_POST['time'])) $time = $_POST['time'];
if (isset($_POST['entry_uniqid'])) $entry_uniqid = $_POST['entry_uniqid'];
$name = $_POST['name'];
$text = $_POST['text'];
$place = $_POST['place'];
$email = $_POST['email'];
$hp = $_POST['hp'];
if (isset($_POST['comment'])) $comment = $_POST['comment']; else $comment="xxx";
// unn&ouml;tige Leerzeichen abschneiden:
$name = trim($name);
$email = trim($email);
$hp = trim($hp);
$place = trim($place);
$text = trim($text);
$comment = trim($comment);
if ($comment=="") $comment="xxx";
// "http://" von Homepage abschneiden:
if (substr($hp,0,7) == "http://") { $hp = substr($hp,7); }
// &Uuml;berpr&uuml;fungen der Daten:
unset($errors);

// Ckeck if IP already posted in the last 5 minutes:
$data = file($gbdata);
foreach($data as $line)
{
if (trim($line)!="")
{
$parts = explode("|", $line);
$saved_time = (int)$parts[1];
if (time() < $saved_time+300 && $_SERVER["REMOTE_ADDR"] == $parts[2] && !isset($_SESSION['admin']))
{
$errors[] = $error_already_made_entry; break;
}
}
}

if ($name == "") $errors[] = $error_no_name;
if ($text == "") $errors[] = $error_no_text;
if(isset($email) && $email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/", $email)) $errors[] = $error_email_wrong;
if (strlen($text) > $text_maxlength) { $error_text_too_long = str_replace("[characters]", strlen($text), $error_text_too_long); $error_text_too_long = str_replace("[max_characters]", $text_maxlength, $error_text_too_long); $errors[] = $error_text_too_long; }
if ($text != "" && strlen($text) < $text_minlength) $errors[] = $error_text_too_short;
// Schauen, ob zu lange Wörter vorhanden sind:
$text_arr = explode(" ",$name); for ($i=0;$i<count($text_arr);$i++) { trim($text_arr[$i]); $laenge = strlen($text_arr[$i]); if ($laenge > $name_word_maxlength) {
$error_word_too_long_x = str_replace("[word]", htmlspecialchars(stripslashes(substr($text_arr[$i],0,$name_word_maxlength)))."...", $error_word_too_long); $errors[] = $error_word_too_long_x; } }
$text_arr = explode(" ",$place); for ($i=0;$i<count($text_arr);$i++) { trim($text_arr[$i]); $laenge = strlen($text_arr[$i]); if ($laenge > $place_word_maxlength) {
$error_word_too_long_x = str_replace("[word]", htmlspecialchars(stripslashes(substr($text_arr[$i],0,$place_word_maxlength)))."...", $error_word_too_long); $errors[] = $error_word_too_long_x; } }
$text_arr = str_replace("\n", " ", $text);
if ($bbcode == true); { $text_arr = preg_replace("#\[b\](.+?)\[/b\]#is", "\\1", $text_arr); $text_arr = preg_replace("#\[i\](.+?)\[/i\]#is", "\\1", $text_arr); $text_arr = preg_replace("#\[u\](.+?)\[/u\]#is", "\\1", $text_arr); $text_arr = preg_replace("#\[link\](.+?)\[/link\]#is", "\\1", $text_arr); $text_arr = preg_replace("#\[link=(.+?)\](.+?)\[/link\]#is", "\\2", $text_arr); }
$text_arr = explode(" ",$text_arr); for ($i=0;$i<count($text_arr);$i++) { trim($text_arr[$i]); $laenge = strlen($text_arr[$i]); if ($laenge > $text_word_maxlength) {
$error_word_too_long_x = str_replace("[word]", htmlspecialchars(stripslashes(substr($text_arr[$i],0,$text_word_maxlength)))."...", $error_word_too_long);$errors[] = $error_word_too_long_x; } }

// save entry when no errors:
if (empty($errors) && isset($_POST['entry']) && $action=="entry")
{
$time = time();
$text = urlencode($text);
$name = urlencode($name);
$email = urlencode(base64_encode($email));
$hp = urlencode($hp);
$place = urlencode($place);
$ip = $_SERVER["REMOTE_ADDR"];
$comment = urlencode($comment);
$entry = uniqid("")."|".$time."|".$ip."|".$name."|".$email."|".$hp."|".$place."|".$text."|".$comment."\n";
$data = file($gbdata);
$c = count($data);
$fp = fopen($gbdata, 'w+');
flock($fp, 2);
fwrite($fp, $entry);
for ($i = 0; $i < $c; $i++) { fwrite($fp, trim($data[$i])."\n"); }
flock($fp, 3);
fclose($fp);

// e-mail notification:
if (isset($adminemail) && $adminemail != "")
{
$emailbody = urldecode($text);
$absender = urldecode($name);
if ($email != "") $absender_email = base64_decode(urldecode($email)); else $absender_email = "no@ema.il";
$header= "From: ".$absender."<".$absender_email.">\n"; $header .= "X-Mailer: PHP/" . phpversion(). "\n";
$header .= "X-Sender-IP: $ip\n";
$header .= "Content-Type: text/plain";
@mail($adminemail, $mail_subject, $emailbody, $header);
}

header("location: ".basename($_SERVER["PHP_SELF"]));
die("<a href=\"".basename($_SERVER["PHP_SELF"])."\">further...</a>");
}

elseif (empty($errors) && isset($_POST['entry']) && $action=="edit")
{
if (isset($_SESSION['admin']))
{
$entry_uniqid = $_POST['entry_uniqid'];
$name = urlencode($name);
$email = urlencode(base64_encode($email));
$hp = urlencode($hp);
$place = urlencode($place);
$text = urlencode($text);
$comment = urlencode($comment);
$data = file($gbdata);
$row_count = count($data);
$fp = fopen($gbdata, "w+");
flock($fp, 2);
for ($row = 0; $row < $row_count; $row++)
{
$parts = explode("|", $data[$row]);
if ($parts[0] == $entry_uniqid) { fwrite($fp, $parts[0]."|".$parts[1]."|".$parts[2]."|".$name."|".$email."|".$hp."|".$place."|".$text."|".$comment."\n"); }
else { fwrite($fp, trim($data[$row])."\n"); }
}
flock($fp, 3);
fclose($fp);
header("location: ".basename($_SERVER["PHP_SELF"]));
die("<a href=\"".basename($_SERVER["PHP_SELF"])."\">further...</a>");
}
else $show="no authorization";
}
else $show="form";
}

if (empty($action)) $action="main";

switch ($action)
{
case "main":
if (isset($_GET['p'])) $p = $_GET['p'];
$data = file($gbdata);
$entry_count = count($data);
if (empty($p)) $p = 0;
$last = ($p+1) * $entries_per_page;
if ($last > $entry_count) $last = $entry_count;
$show="main";
break;
case "entry":
$show="form";
break;
case "login":
if (isset($_SESSION['admin'])) { session_destroy(); header("location: ".basename($_SERVER["PHP_SELF"])); die("<a href=\"".basename($_SERVER["PHP_SELF"])."\">further...</a>"); }
else $show="login form";
break;
}

################################################################################
// Begin HTML
################################################################################
?>
<h1><?php echo $title; ?></h1>
<p class="gb-browse">
<?php if ($show=="main") { ?>[ <a href="<?php echo basename($_SERVER["PHP_SELF"]); ?>?section=gb&amp;action=entry"><?php echo $new_entry; ?></a> ]<?php }
else { ?>[ <a href="<?php echo basename($_SERVER["PHP_SELF"]); ?>?section=gb"><?php echo $back; ?></a> ]<?php } ?>
</p>
<?php
switch ($show)
{
case "main":
if ($entry_count == 0) { echo "<i>".$still_no_entries_marking."</i>"; }
for ($i = $p*$entries_per_page; $i < $last; $i++)
{
if (trim($data[$i]) != "")
{
$nr = $entry_count -$i;
$parts = explode("|", $data[$i]);
$name = urldecode($parts[3]);
$email = base64_decode(urldecode($parts[4]));
if ($email != "")
{
$email_parts = explode("@", $email);
$email_name = $email_parts[0];
$email_domain_tld = $email_parts[1];
$domain_parts = explode(".", $email_domain_tld);
$email_domain = "";
for ($x = 0; $x < count($domain_parts)-1; $x++)
{
$email_domain .= $domain_parts[$x].".";
}
$email_tld = $domain_parts[$x];
}
$hp = urldecode($parts[5]);
$place = urldecode($parts[6]);
$text = urldecode($parts[7]);
$comment = urldecode($parts[8]);
$text = htmlspecialchars(stripslashes($text));
#$text = htmlspecialchars(stripslashes($text));
$text = nl2br($text);
if ($autolink == true) $text = make_link($text);
if ($bbcode == true) $text = bbcode($text);
if (isset($smiley_folder) && $smiley_folder != "") $text = smilies($text);
$comment = htmlspecialchars(stripslashes($comment));
$comment = nl2br($comment);
if ($autolink == true) $comment = make_link($comment);
if ($bbcode == true) $comment = bbcode($comment);
if (isset($smiley_folder) && $smiley_folder != "") $comment = smilies($comment);
?>
<div class="gb">
<div class="gb-author">
<p class="gb-author-left">
<?php
echo "<b>" . htmlspecialchars(stripslashes($name)) . "</b>";
if ($email != "" or $hp != "") { echo "&nbsp;&nbsp;<span class=\"small\">"; }
if ($hp != "") { if (isset($homepage_icon) && $homepage_icon != "") { ?><a href="http://<?php echo $hp; ?>"><img src="<?php echo $homepage_icon; ?>" alt="<?php echo $hp_link_marking; ?>" title="<?php echo $hp_link_marking; ?>" /></a><?php } else echo "[ <a href=\"http://" .$hp ."\">".$hp_link_marking."</a> ]"; }
if ($email != "" && $hp != "") { echo "&nbsp;"; }
if ($email != "") { if (empty($email_icon) or $email_icon == "") echo "[ "; ?><script type="text/javascript">
<!--
document.write('<a href="mai'); document.write('lto:<?php echo $email_name; ?>'); document.write('@'); document.write('<?php echo $email_domain; ?>'); document.write('<?php echo $email_tld; ?>'); document.write('">');
//-->
</script><?php if (isset($email_icon) && $email_icon != "") { ?><img src="<?php echo $email_icon; ?>" alt="<?php echo $email_link_marking; ?>" title="<?php echo $email_link_marking; ?>" /><?php } else echo $email_link_marking;
?><script type="text/javascript">
<!--
document.write('</a>');
//-->
</script><?php
if (empty($email_icon) or $email_icon == "") echo " ]"; }
if ($email != "" or $hp != "") echo "</span>";
?></p>
<p class="gb-author-right">
<?php
if ($place != "") { echo htmlspecialchars(stripslashes($place)) . ", "; }
echo parse_time(strftime($time_format, $parts[1]));
?></p></div>
<div class="gb-entry"><?php echo $text; ?>
<?php if (substr($comment,0,3)!="xxx") { ?><p class="comment"><?php echo $comment; ?></p><?php }
if (isset($_SESSION['admin'])) { ?><form method="post" action="<?php echo basename($_SERVER["PHP_SELF"]); ?>?section=gb"><p class="gb-admin-buttons"><input type="hidden" name="entry_uniqid" value="<?php echo $parts[0]; ?>" /><input type="hidden" name="delete_name" value="<?php echo $parts[3]; ?>" /><input type="submit" name="edit" value="<?php echo $edit_button; ?>" />&nbsp;<input style="color:red; font-weight:bold;" type="submit" name="delete" value="<?php echo $delete_button; ?>" /></p></form><?php }
?></div></div>
<?php
}
}
browse();
break;

case "form":
if(isset($errors))
{
?><p class="caution"><?php echo $error_marking; ?></p><ul><?php foreach($errors as $f) { ?><li><?php echo $f; ?></li><?php } ?></ul><br /><?php
}
elseif (empty($errors) && isset($_POST['preview']))
{
$pr_text = htmlspecialchars(stripslashes($text));
$pr_text = nl2br($pr_text);
if ($autolink == true) $pr_text = make_link($pr_text);
if ($bbcode == true) $pr_text = bbcode($pr_text);
if (isset($smiley_folder) && $smiley_folder != "") $pr_text = smilies($pr_text);
$pr_comment = htmlspecialchars(stripslashes($comment));
$pr_comment = nl2br($pr_comment);
if ($autolink == true) $pr_comment = make_link($pr_comment);
if ($bbcode == true) $pr_comment = bbcode($pr_comment);
if (isset($smiley_folder) && $smiley_folder != "") $pr_comment = smilies($pr_comment);
?>
<p class="caution"><?php echo $preview_marking; ?></p>
<div class="gb">
<div class="gb-author">
<p class="gb-author-left">
<?php
echo "<b>" . htmlspecialchars(stripslashes($name)) . "</b>";
if ($email != "" or $hp != "") { echo "&nbsp;&nbsp;<span class=\"small\">"; }
if ($hp != "") { if (isset($homepage_icon) && $homepage_icon != "") { ?><a href="http://<?php echo $hp; ?>"><img src="<?php echo $homepage_icon; ?>" alt="<?php echo $hp_link_marking; ?>" /></a><?php } else echo "[ <a href=\"http://" .$hp ."\">".$hp_link_marking."</a> ]"; }
if ($email != "" && $hp != "") { echo "&nbsp;"; }
if ($email != "") { if (isset($email_icon) && $email_icon != "") { ?><a href="mailto:<?php echo $email; ?>"><img src="<?php echo $email_icon; ?>" alt="<?php echo $email_link_marking; ?>" /></a><?php } else echo "[ <a href=\"mailto:" .$email ."\">".$email_link_marking."</a> ]"; }
if ($email != "" or $hp != "") { echo "&nbsp;&nbsp;</span>"; }
?>
</p>
<p class="gb-author-right">
<?php
if ($place != "") { echo htmlspecialchars(stripslashes($place)) . ",&nbsp;"; }
if ($action=="edit") { echo parse_time(strftime($time_format, $_POST['time'])); } else echo parse_time(strftime($time_format));
?></p></div>
<div class="gb-entry"><?php echo $pr_text; ?>
<?php if (substr($pr_comment,0,3)!="xxx") { ?><p class="comment"><?php echo $pr_comment; ?></span></p><?php } ?>
</div>
</div><br />
<?php
}
?><form method="post" action="<?php echo basename($_SERVER["PHP_SELF"]); ?>?section=gb"><div>
<input type="hidden" name="form_submited" value="true" />
<input type="hidden" name="action" value="<?php echo $action; ?>" />
<?php if ($action=="edit") { ?><input type="hidden" name="entry_uniqid" value="<?php echo $entry_uniqid; ?>" /><input type="hidden" name="time" value="<?php echo $time; ?>" /><?php } ?>
<table class="normal" border="0" cellpadding="3" cellspacing="0">
<tr>
<td><b><?php echo $name_marking; ?></b></td>
<td><input type="text" name="name" value="<?php if (isset($name)) echo htmlspecialchars(stripslashes($name)); else echo ""; ?>" size="40" maxlength="<?php echo $name_maxlength; ?>" /></td>
</tr>
<tr>
<td><b><?php echo $email_marking; ?></b></td>
<td><input type="text" name="email" value="<?php if (isset($email)) echo htmlspecialchars(stripslashes($email)); else echo ""; ?>" size="40" maxlength="<?php echo $email_maxlength; ?>" />&nbsp;<span class="small"><?php echo $optional_marking; ?></span></td>
</tr>
<tr>
<td><b><?php echo $hp_marking; ?></b></td>
<td><input type="text" name="hp" value="<?php if (isset($hp)) echo htmlspecialchars(stripslashes($hp)); else echo ""; ?>" size="40" maxlength="<?php echo $hp_maxlength; ?>" />&nbsp;<span class="small"><?php echo $optional_marking; ?></span></td>
</tr>
<tr>
<td><b><?php echo $place_marking; ?></b></td>
<td><input type="text" name="place" value="<?php if (isset($place)) echo htmlspecialchars(stripslashes($place)); else echo ""; ?>" size="40" maxlength="<?php echo $place_maxlength; ?>" />&nbsp;<span class="small"><?php echo $optional_marking; ?></span></td>
</tr>
<tr>
<td colspan="2"><br /><textarea name="text" cols="59" rows="13"><?php if (isset($text)) echo htmlspecialchars(stripslashes($text)); else echo ""; ?></textarea></td>
</tr>
<?php if ($action=="edit") {
?><tr>
<td colspan="2"><b><?php echo $comment_marking; ?></b><br /><textarea name="comment" cols="59" rows="5"><?php if (isset($comment) && substr($comment,0,3)!="xxx") echo htmlspecialchars(stripslashes($comment)); ?></textarea></td>
</tr>
<?php } ?>
<tr>
<td colspan="2"><br /><input type="submit" name="entry" value="<?php echo $submit_button; ?>" />&nbsp;<input type="submit" name="preview" value="<?php echo $preview_button; ?>" /></td>
<td>&nbsp;</td>
</tr>
</table>
</div></form>
<?php if ($bbcode==true) { ?><p class="small"><br /><?php echo $bbcode_exp; ?></p><?php }

break;

case "login form":
?>
<form action="<?php echo basename($_SERVER["PHP_SELF"]); ?>?section=gb" method="post">
<p><b><?php echo $password_marking; ?></b><br /><input type="password" name="login_password" />&nbsp;<input type="submit" value="<?php echo $log_in_marking; ?>" /></p>
</form>
<?php
break;

case "login failed":
?><p class="caution"><?php echo $password_wrong_marking; ?></p><?php
break;

case "no authorization":
?><p class="caution"><?php echo $no_authorisation_marking; ?></p><p>[ <a href="<?php echo basename($_SERVER["PHP_SELF"]); ?>?section=gb&amp;action=login"><?php echo $log_in_marking; ?></a> ]</p><?php
break;
}

################################################################################
// End of HTML
################################################################################

// Bitte den Copyright-Link lassen oder ein paar Euro spenden:
// http://www.mylittlehomepage.net/de/donation.html

?><p class="small" style="text-align: right;"><a href="<?php echo basename($_SERVER["PHP_SELF"]); ?>?section=gb&amp;action=login">Admin-Login</a></p>

R300
2005-01-07, 21:00:01
Soll ich vielleicht in diesen Zeilen noch ?section=gb einfügen?
Wenn ja Wo genau. bin ein n00b in php :tongue:


header("location: ".basename($_SERVER["PHP_SELF"]));
die("<a href=\"".basename($_SERVER["PHP_SELF"])."\">further...</a>");

ravage
2005-01-08, 00:22:40
und wenn jetzt jemand index.php?&site=/etc/passwd aufruft?
Zu derzeit hatte ich mit logins etc. noch nichts am hut. Heute mach ich das eh anders ;)

Aber du hast schon recht. Die sicherste Methode ist das nicht

/EDIT:
Und ausserhalb meines /htdocs/ ordners kommt eh niemand über den Webserver

MadMan2k
2005-01-08, 01:48:34
Und ausserhalb meines /htdocs/ ordners kommt eh niemand über den Webserver
wo stellt man das ein? ich kann bei meinem lokalen Server die ganze Platte includen.

ravage
2005-01-08, 02:55:17
Man kann in der Apache conf den User angeben, der die Scipts ausführt, und dieser hat nur im /htdocs/ ordner zugriffsreche ;)

R300
2005-01-08, 13:57:20
War klar das keiner Hilft...
OK ich habe alles selbst gefunden, aber an einer Sachen beiße ich mir die Zähne aus.

Die Funktion, die einen z.B. nach dem Eintragen wieder zum Gästebuch befördert.
Im Moment wird man nach dem Eintragen wieder auf die index.php befördert und ich weiß nicht wo da noch ?section=gb in den Code kommen soll.

Help PLS :massa: