Was kann man während der bezwungenen Fahrt mit der S-Bahn alles erreichen, weil man sich nicht aufs Auto fahren konzentrieren muss? Man findet die Lösung auf das Problem...
Im Prinzip ganz simpel, weder muss ich/irgendeiner jede PHP öffnen und bearbeiten noch ist die Anpassung an neue Mods schwer.
Lösung:
EIn mehrdimensionaler Array mit Überprüfung auf Exitenz in der Datenbank...
Ein Beispiel an der Newsseite. ( Es sind ja immer Zahlen, die eine Anzeige bewirken bsp. user-details-1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <?php
$array = array (
"news" => array ( "prefix_news" , "news_id" ),
"user" => array ( "prefix_user" , "details" , "id" ),
....
);
$array2 = array (
"privmsg" => array ( "prefix_pm" , "privmsg" , "showmsg" , "id" ),
....
);
function check_url_exist(){
global $array , $array2 ;
$url = $_SERVER [ 'QUERY_STRING' ];
$url_teil = explode ( "-" , $url );
if ( ! is_array ( $array [ $url_teil [0]] ) ){
return (false);
break ;
}
$nutz = "array" ;
if ( is_array ( $array2 [ $url_teil [1]] ) ) $nutz = "array2" ;
if ( count ( $url_teil ) <= count ($ $nutz [ $url_teil [0]] )){
$url_exist = false;
for ( $i =1; $i < count ( $url_teil ); $i ++){
$erg = db_num_rows(db_query( "SELECT * FROM " .$ $nutz [ $url_teil [0][0]]. " WHERE " .$ $nutz [ $url_teil [0][ $i ]]. " = " . $url_teil [ $i ]));
if ( (int( $url_teil [ $i ] ) AND $erg > 0) xor ( $ $nutz [ $url_teil [0][ $i ]] == $url_teil [ $i ]) ){
$url_exist = true;
} else {
return (false);
break ;
}
}
return ( $url_exist );
}
return (false);
}
?>
|
Ich denke mal das wars, jetzt muss die Datei nur noch in der index.php geladen werden und die Funktion check_url_exist() ausführen und wenn "true" zurück kommt, existiert die Page.
Ich hoffe ich hab in der Eile keine Fehler eingebaut.^^
*EDIT: Mit fällt das gerade ein, dass noch ein 2te Array fehlt für sachen wie forum-privmsg, user-gbook
Zuletzt modifiziert von boehserdavid am 15.05.2008 - 17:18:54