Das Tippsforum
Link zum Forum
Heute ist mir schon wieder eine Frage aufgefallen, die ich ständig in Forum sehen. Diese Frage ist wie man es machen kann das Gäste das Profil oder andere Seiten nicht betreten können. Dieser Code ist eigentlich dank der fertigen PHP Konstanten sehr einfach.
In der Datei, wo nur Mitglieder Zugriff haben sollen, sucht ihr zuerst nach folgendem Code:
include "maincore.php";
Dieser steht meistens am Anfang der Datei, darunter schreibt ihr dann einfach nur noch:
if(!iMEMBER) { fallback("index.php"); }
Mit diesem Code werdet ihr sofort zur index.php weitergeleitet, wenn ihr kein Mitglied seid.
Viel Spaß mit diesem kleinen Code.
Ich habe jetzt schon dreimal in einem Forum gelsen, dass Webseitenbetreiber die mit PHP-Fusion arbeiten die IP’s der Benutzer nicht speichern wollen. Dafür gibt es verschiedene Gründe, die ich hier nicht nennen möchte.
Es ist eigentlich ganz einfach, ihr müsst nur eine Zeile Code ändern. Öffnet die maincore.php und sucht nach
define("USER_IP", $_SERVER['REMOTE_ADDR']);
Ersetzt diesen code einfach durch
define("USER_IP", "0.0.0.0");
Fertig nun sollten die User IP’s nicht mehr gespeichert werden
Nun müssen nur noch aktuell gespeicherte IP’s geändert werden. Dazu fügt ihr folgenden Befehl in PHPMyAdmin aus. “fusion_” müsst ihr dazu durch euer Präfix ersetzen:
UPDATE fusion_users SET user_ip='0.0.0.0';
UPDATE fusion_shoutbox SET shout_ip='0.0.0.0';
UPDATE fusion_ratings SET rating_ip='0.0.0.0';
UPDATE fusion_posts SET post_ip='0.0.0.0';
UPDATE fusion_online SET online_ip='0.0.0.0';
UPDATE fusion_comments SET comment_ip='0.0.0.0';
Achtung: Bei Webseiten die BS-Fusion benutzen kann es zu Schwierigkeiten kommen.
Viele Leute haben das Problem, dass ihre Webseiten mit PHP-Fusion immer so lange zum laden brauchen. Dies kann man aber beheben indem man seine Webseite mit GZIP komprimiert. Und so geht es:
Als erstes erstellt man eine PHP-Datei im Verzeichnis “includes” und füllt diese mit folgendem Inhalt:
<?php
$force_gzip = "no";
define("GzipCompressionLevel",3);
if($force_gzip == "yes") {$FORCE_COMPRESSION = true;} else {$FORCE_COMPRESSION = false;}
function gzipCompressionHandler($content)
{
preg_match_all("{[\w\-]+}”,$_SERVER["HTTP_ACCEPT_ENCODING"],$matches);
$encoding=false;
if(in_array(”x-gzip”,$matches[0])) $encoding=”x-gzip”;
if(in_array(”gzip”,$matches[0])) $encoding=”gzip”;
if($encoding!==false && function_exists(”gzcompress”)) {
$header=”\x1f\x8b\x08\x00\x00\x00\x00\x00″;
$compressed=substr(gzcompress($content, GzipCompressionLevel),0,-4);
$trailer=pack(”V”,crc32($content)).pack(”V”,strlen($content));
$content=$header.$compressed.$trailer;
@header(”Content-Encoding: $encoding”);
@header(”Content-Length: “.strlen($content));
}
return $content;
}
if(isset($_SERVER['HTTP_ACCEPT_ENCODING'])){$AE = $_SERVER['HTTP_ACCEPT_ENCODING'];}
else{$AE = $_SERVER['HTTP_TE'];}
$support_gzip = (strpos($AE, ‘gzip’) !== FALSE) || $FORCE_COMPRESSION;
if($support_gzip){
ob_start(”gzipCompressionHandler”);
$gzpstatus = “on”;
}
else
{
ob_start(”);
$gzpstatus = “off”;
}
?>
Diese speichert man unter dem Namen gzip.php ab. Jetzt öffnet man die subheader.php. In diese schreibt man ganz oben nach <?php folgendes:
include INCLUDES."gzip.php";
Jetzt nur noch die Dateien auf den Server laden und schon funktioniert das schnellere laden.
In letzter Zeit, habe ich immer mehr auf der deutschen Supportseite von PHP-Fusion gelsen habe, das Leute die sich zum ersten Mal mit PHP-Fusion beschäftigen, ihr LOgo in die Mitte der Seite verschieben möchte ich dazu jetzt einmal ein Tuorial schreiben. Ich benutze für das Tutorial das Theme Similitude06. Dieses Tutorial lässt sich aber auch sehr leicht auf andere Themes anwenden. Dazu brauchen wir nur die Header-Funktion im Thme. Bei Similitude06 sieht diese so auf:
function render_header($header_content) {
global $theme_width;
echo "<table align='center' cellspacing='0' cellpadding='0' width='$theme_width' class='outer-border'>
<tr>
<td>
<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td class='full-header'>
<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td>$header_content</td>
</tr>
</table>
</td>
</tr>
</table>\n";
echo "<table cellpadding='0' cellspacing='0' width='100%'>\n<tr>
<td class='sub-header'>".showsublinks("·","white")."</td>
<td align='right' class='sub-header'>".showsubdate()."</td>
</tr>
</table>\n";
echo "<table cellpadding='0' cellspacing='0' width='100%'>\n<tr>\n";
}
Nun sucht man die Variable $header_content. Diese umschließt man dann mit dem <center>. Tag. Dies Variable sieht jetzt aus <center>$header_content</center>. Nun speichert man das ganze nur noch ab und schon ist das Logo in der Mitte.