mit pm.php?site=neu und if bestimmten Bereich ansprechen

Pranox

Mitglied
hi, ich wusste nicht unter welchem begriff ich das genau suchen soll also poste ich es mal ich habe ein problem ich hab ein pm system gebaut nun möchte ich alles in einer datei haben also lesen schreiben etc..

also mit
pm.php?site=neu
neue pm schreiben
mit pm.php?site=lesen
zu den bereich in den mal sie lesen kann !


nun hab ich kein plan wie ich das machen soll ich habe da an if gedacht aber wie ich das umsetzten soll weiß ich leider nicht !
 
Hi,

du könntest folgendes Konstrukt verwenden:
PHP:
if (isset ($_GET['site'])
	and !empty ($_GET['site'])) {
	
	switch ($_GET['site']) {
		case 'neu':
		
			// Code für "neu"
			
			break;
		case 'lesen':
		
			// Code für "lesen"

	}
}
 
So:

PHP:
switch ($_GET["site"]){

case "neu":
   echo "Hier das Zeugs für die neue PM";
break;

case "lesen":
   echo "Hier das Zeugs um die PMs zu lesen";
break;

default:
   echo "Hier die Aktion falls keines der beiden zutrifft";
break;

}

EDIT: Zu spät...
 
Zuletzt bearbeitet:
Jeder Bereich in einer extra Datei in einem bestimmten Ordner.
Z.b. in der pm.php befindet sich der Bereit der Privaten Mitteilungen. UNd alle diese Dateien in einem Ordner.

Dann kann man es in etwa so verwenden:

PHP:
<?php

$file = $_GET["site"];
include("ordner/".file.".php");

?>

Ist jetzt nur mal schlicht und kurz geschrieben, habe irgendwo noch eine genaue Lösung dafür, werde diese mal raussuchen und eventuell morgen posten.

Bye, Tombi
 
Jeder Bereich in einer extra Datei in einem bestimmten Ordner.
Z.b. in der pm.php befindet sich der Bereit der Privaten Mitteilungen. UNd alle diese Dateien in einem Ordner.

Dann kann man es in etwa so verwenden:

PHP:
<?php

$file = $_GET["site"];
include("ordner/".file.".php");

?>

Ist jetzt nur mal schlicht und kurz geschrieben, habe irgendwo noch eine genaue Lösung dafür, werde diese mal raussuchen und eventuell morgen posten.

Bye, Tombi

Das sollte man nicht machen, da so ganz schnell Fehlermeldungen auftreten können und ggf Schadcode eingeführt werden kann.
Wenn du auf die oben genannten switch methoden verzichten möchtest, dann wäre es besser diesen Code so umzschreiben:
PHP:
if( file_exists($_GET['site'].'.php') )
  include($_GET['site'].'.php');
In die lesen bzw. schreiben.php schreibst du dann den Code dafür. Das include lässt sich natürlich ach in die switch funktion einbauen ;)
 
Hi,

also von dem case und switch Sachen möchte ich dir mal abraten, ich hab bisher damit nur schlechte Erfahrungen gemacht.

Diese Möglichkeit ist schon wesentlich besser
PHP:
if( file_exists($_GET['site'].'.php') )
include($_GET['site'].'.php');

du solltest aber ein sowas wie eine Standard Datei wählen die includet wird wenn die Datei nicht existiert, und die Überprüfung mit file exists is auch überflüssig.

Try this
PHP:
if(!include($_GET['site'].'.php') )   include('default.php');

Daraus würde sich eine gewissen Struktur ergeben.
Der obere Code steht in dem Einstiegspunkt deines PM Systems.
Dort kannst du auch Grundfunktionen definieren die du in mehreren Unterseiten benötigst.
In den Includeten Daten sind die abschnitte die für das anzeigen des zb Posteingangs wichtig sind.

Dadurch bleibt dein Code sehr übersichtlich. Am Anfang ist das zwar egal aber geh immer davon aus das deine Projekte wachsen werden und halt dir entsprechende Möglichkeiten offen.
Wenn du jetzt alles in eine Datei schreiben würdest und das ganze immer weiter erweiterst zb um Postausgang, Einstellungen, Blocklisten, Rundmails und was es noch alles an Spielerei von PMs gibt, wird dein Code sehr schnell unleserlich und verwirrend.

Optimal hierfür ist natürlich wieder OOP, denn da icludest du einfach alle Datein und Erweiters den "PM Object" dann nur noch um die entsprechenden Funktionen.

Hier mal nen Code Beispiel grob verkürzt um das ganze in Code zu fassen

PHP:
abstract class Pm {
  // Instanzieren der Grundfunctionen und Variablen
  public $example;
  
  public function foo() {
    // Irgend welche Aufghaben
    // zb Badword filter
  }
}

class Postin extends Pm {
  // variablen für den Posteingang
  
  public function __ construct () {
    // zB. laden der Liste mit neuen Nachrichten
  }
}
 
Erstmal Danke für die zahlreichen antworten!

Ich hätte nicht gedacht das es da so viele möglichkeiten giebt :p .

Also heist es jetzt für mich mal rum zu probieren =)

mir wurde gestern vom kollege noch ne andere methode erklärt

PHP:
if($_GET['seite'] == "new")
{
echo "";
 }
else
{
code
}

aber das funktioniert nicht ^^
 
Zurück