SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 09.11.2010, 17:05:42
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
Meinung zu diesem controller :)

Ich hab die tage mal ein wenig gebastelt für einen kleinen controller vieleicht ann ich ja was verbessern würd gerne eure meinung dazu hören..

PHP-Code:
<?php
function controler($postarr,$getarr) {
//filtern von get array
foreach ($getarr as $varx => $val)  {
    
$getarr[$varx] = preg_replace('/[^a-z0-9 \\/?=&]/Usi','',$val);
}
//zuweisung der view
$view $getarr['p'];
if (empty(
$view)) {
  
$view 'home';
}
//prüfung der erlaubten seiten.
if(!empty($_SESSION['rang'])) {
  switch(
$_SESSION['rang']) {
     case 
4:
       
$allow = array('member','forum','pm','profile','chat','logout','galerie','uploads','admin');
       break;
     case 
3:
       
$allow = array('member','forum','pm','profile','chat','logout','galerie','uploads','moderator');
       break;
     case 
2:
       
$allow = array('member','forum','pm','profile','chat','logout','galerie','uploads','operator');
       break;
     case 
1:
       
$allow = array('member','forum','pm','profile','chat','logout','galerie','uploads','usercp');
       break;
   }
}else {
  
$allow = array('home','gb','login','kontakt');
}
if(
in_array($view,$allow)){
  
//relative pfadangaben
  
$viewtpl 'templates/'.$view.'.php';
  
$exists file_exists($viewtpl);
  if (
$exists){
    
ob_start();
    
// Das Template-File wird eingebunden und dessen Ausgabe in
    // $output gespeichert.
    
include $viewtpl;
    
$output ob_get_contents();
    
ob_end_clean();
    
// Output zurückgeben.
   
return $output;
  }else {
    
// Template-File existiert nicht-> Fehlermeldung.
    
return 'could not find template';
  }
}else {
  return 
'You dont have the permission to acces this page';
}
}
?>
postarray wird auserhalb vom controller gefiltert (auf wunsch eines freundes für den dieser controller bestimmt ist )

Würde halt gerne wissen was ihr so verbessern würdet.

LG
R4Zz0R
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
  #2  
Alt 19.11.2010, 09:28:06
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Meinung zu diesem controller :)

Hi

Zitat:
Würde halt gerne wissen was ihr so verbessern würdet.
Ich würd ihn verkürzen ;)

Aber sag mal wenn ich mir den code so anschau....
darf ein user/mod/op/admin nicht auf Home???
PHP-Code:
if (empty($view)) {
  
$view 'home';
}
//...
$allow = array('member','forum','pm','profile','chat','logout','galerie','uploads','usercp');
       break; 
//...
if(in_array($view,$allow)){
//...
}else {
  return 
'You dont have the permission to acces this page';

mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #3  
Alt 21.11.2010, 23:10:38
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
AW: Meinung zu diesem controller :)

Öhhm ja doch eigentlich schon aber nach dem login gibt es die seite home nicht mehr diret sondern wird mit member angesprochen da man ja auserhalb des mitgliederbereichs keinerlei funktionen hat wesegen man sich da aufhalten müsste ...
zu 90% spielt sich alles hinterm login ab daher ist es nicht von nöten home mit in das array aufzunehmen :D

zum thema verkürzen habe ich mir auch schon was überlegt was aber zurfolge hätte das ich das array erst nochmal verarbeiten müsste weil es dan mehrdimensional wäre...

vorschläge zum kürzen ?

lg
R4Zz0R
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
  #4  
Alt 22.11.2010, 02:38:27
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Meinung zu diesem controller :)

Hi

Zitat:
vorschläge zum kürzen ?
PHP-Code:
//zuweisung der view
$view $getarr['p'];
if (empty(
$view)) {
  
$view 'home';
}
// vs
//zuweisung der view
$view = empty($getarr['p'])?'home':$getarr['p']; 
PHP-Code:
//prüfung der erlaubten seiten.
if(!empty($_SESSION['rang'])) {
  switch(
$_SESSION['rang']) {
     case 
4:
       
$allow = array('member','forum','pm','profile','chat','logout','galerie','uploads','admin');
       break;
     case 
3:
       
$allow = array('member','forum','pm','profile','chat','logout','galerie','uploads','moderator');
       break;
     case 
2:
       
$allow = array('member','forum','pm','profile','chat','logout','galerie','uploads','operator');
       break;
     case 
1:
       
$allow = array('member','forum','pm','profile','chat','logout','galerie','uploads','usercp');
       break;
   }
}else {
  
$allow = array('home','gb','login','kontakt');
}
// vs
//prüfung der erlaubten seiten.
$allow = array('home','gb','login','kontakt');
if(!empty(
$_SESSION['rang'])) {
  
$allow = array('member','forum','pm','profile','chat','logout','galerie','uploads');
  switch(
$_SESSION['rang']) {
     case 
4:
       
$allow[]='admin'
       
break;
     case 
3:
       
$allow[]='moderator';
       break;
     case 
2:
       
$allow[]='operator';
       break;
     case 
1:
       
$allow[]='usercp';
       break;
   }

PHP-Code:
$exists file_exists($viewtpl);
  if (
$exists){
// vs
  
if (file_exists($viewtpl)){ 
Das würd ich in eine eigene funktion auslagern Wiederverwendbarkeit usw
PHP-Code:
//filtern von get array
foreach ($getarr as $varx => $val)  {
    
$getarr[$varx] = preg_replace('/[^a-z0-9 \\/?=&]/Usi','',$val);

Wobei ich dir davon abrate dich auf Sessiondaten zu verlassen gerade wenns um
geschützte Bereiche geht und wir reden noch nich mal über deaktivierte cookies.

mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #5  
Alt 24.11.2010, 13:45:50
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
AW: Meinung zu diesem controller :)

Zitat:
Das würd ich in eine eigene funktion auslagern Wiederverwendbarkeit usw

PHP-Code:
//filtern von get array
foreach ($getarr as $varx => $val)  {
    
$getarr[$varx] = preg_replace('/[^a-z0-9 \\/?=&]/Usi','',$val);

^^ naajaaa also es sieht bei der funktion so aus das ich alle get variablen über array_merge
zusammenfasse und eine weitere verwendung nicht umbedingt notwendig ist da über get nichts anderes übergeben werden soll auser der angezeigten seite und einigen id´s daher
brauche ich diesen filter auch nur dort.

Deine idee:
PHP-Code:
//prüfung der erlaubten seiten.
$allow = array('home','gb','login','kontakt');
if(!empty(
$_SESSION['rang'])) {
  
$allow = array('member','forum','pm','profile','chat','logout','galerie','uploads');
  switch(
$_SESSION['rang']) {
     case 
4:
       
$allow[]='admin'
       
break;
     case 
3:
       
$allow[]='moderator';
       break;
     case 
2:
       
$allow[]='operator';
       break;
     case 
1:
       
$allow[]='usercp';
       break;
   }

^^ wirklich gut durchdacht verkürzt das ganze schon um einiges! Thx.

Und zu dem hier (sry aber ich hab bisher nicht gewusst das man ? als operator nutzen kann werde es aber gleich mal googeln.. ! )
PHP-Code:
//zuweisung der view
$view = empty($getarr['p'])?'home':$getarr['p']; 
Kann ich nur sagen brauch ich erstmal mehr informationen zur genauen funktionsweise und werde dan sehen in wie weit ich das ganze verändere.

Öhm ja zu den sessions, natürlich kann ich mich nicht 100%tig drauf verlassen aber ich wüsste jetzt auch so auf anhieb nichts wie ich etwas "sichereres" auf die beine stellen söllte was nicht umständlicher wäre.
Eventuell hast du ja einen denkansatz für mich. (Überlegt hab ich ja schon was zb. sozusagen eigene sessions in form von dateien zu erstellen oder in form von datenbanken aber der umstand dan immer eine langwierige überprüfung der daten zu machen befor ich eine ausgabe machen kann ist in meinen gedanken schon ein graus und ich kann mir vorstellen das die performance besonders bei dateioperationen leiden könnte)

/EDIT/
Ahhh alternativer syntax zu if :D ? code der ausgeführt wird :
Thx wieder eine hilfreiche erkentniss :D
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Eure Meinung: Query zum Rollen- / Rechte-Management cortex MySQLi/PDO/(MySQL) 16 03.12.2009 16:13:00
Forum in Ajax - Eure Meinung ist mir wichtig ksticker PHP Entwicklung und Softwaredesign 20 29.06.2008 16:05:54


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:46:52 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt