Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
dynamische Inhalte [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
dynamische Inhalte


 
yaga77
26-01-2006, 12:51 
 
Hallo Leute,

habe jetzt sämtliche Beiträge durchforstet aber nichts zu diesem Thema gefunden. Es handelt sich um sehr einfaches selbstgebautes pseudo-cms. (oder so ähnlich :) ) Weil ich mit den meisten fertigen cms-Systemen nichts anfangen kann.
In ein php-Gerüst werden über den Befehl "include" einzelne Module hineingeladen. Das ist kein Problem. Nun sind einige Module von einender abhängig und da wird es schwierig.
Angenommen ich habe die Spalten "links", "mitte" und "rechts". In der rechten Spalte habe ich einen Link, der auf die mittlere Spalte verweist. Blöd wäre es natürlich jetzt ein separates Gerüst mit anderen festen Anordnungen zu öffnen. Das sind Unmengen von Seiten mit all diesen Kombinationen. Was ist aber die Lösung? Lassen sich nicht über einen Link (z.B. in der rechten Spalte) zwei Variablen übergeben, die 1. die Position der Änderung ("mitte") und 2. den Dateinamen (mitte.php) des neuen Moduls übergeben und anschließend die Seite neu laden?

So etwas muss doch gehen, oder?
Danke im Voraus.
Christof

 
TobiaZ
26-01-2006, 13:12 
 
Häh???? Was? :D

 
onemorenerd
26-01-2006, 13:37 
 
Ich versteh ihn auch nicht. :dontknow:
Klingt irgendwie nach ?menu=foo&section=bar usw., aber das hätte er in den sämtlichen Beiträgen ja schon gefunden.

 
yaga77
26-01-2006, 13:39 
 
Was war denn unverständlich?

 
yaga77
26-01-2006, 14:03 
 
Es müsste einfachstes php und etwas javaScript sein. Kenne mich aber nicht besonders aus in dieser Materie. Nach was soll ich suchen?

Es geht eigentlich nur darum einzelne extern ausgelagerte html/php-Module (html-Code-Abschnitte) in einer Datei zu organisieren.
Früher hätte man dafür ein Frame-Set verwendet, und es ewig verschachtelt. Suche aber nach einer eleganten Lösung.

Modul: "rechts", (z.B. Menu)
Link1 -> sende variablen position=mitte, modul=text1.php
& position=links, modul=text2.php - lade seite neu
usw.

irgendwo im <div>-Gerüst:
an der Position "mitte":
empfange Variable "modul" -> include (in diesem Fall text1.php)
an der Position "links":
empfange Variable "modul" -> include (in diesem Fall text2.php)

Ist es jetzt verständlicher?

 
yaga77
26-01-2006, 14:06 
 
..ist falsch gelandet

Es müsste einfachstes php und etwas javaScript sein. Kenne mich aber nicht besonders aus in dieser Materie. Nach was soll ich suchen?

Es geht eigentlich nur darum einzelne extern ausgelagerte html/php-Module (html-Code-Abschnitte) in einer Datei zu organisieren.
Früher hätte man dafür ein Frame-Set verwendet, und es ewig verschachtelt. Suche aber nach einer eleganten Lösung.

Modul: "rechts", (z.B. Menu)
Link1 -> sende variablen position=mitte, modul=text1.php
& position=links, modul=text2.php - lade seite neu
usw.

irgendwo im <div>-Gerüst:
an der Position "mitte":
empfange Variable "modul" -> include (in diesem Fall text1.php)
an der Position "links":
empfange Variable "modul" -> include (in diesem Fall text2.php)

Ist es jetzt verständlicher?

 
wahsaga
26-01-2006, 14:09 
 
Gewöhne dir bitte endlich an, in deinem Thread zu antworten, und nicht jedesmal einen neuen zu erstellen!

*zusammenführ* zum zweiten Mal.

 
yaga77
26-01-2006, 14:17 
 
Mit dieser Methode müsste ich nur bei den Links (z.B. Menu) angeben an welcher Stelle des <div>-Gerüsts ("links", "mitte" oder/und "rechts") welcher html-Code-Schnipsel geladen wird. Jede Änderung im Modul (Code-Schnipsel) wirkt sich so auf unzähligen Seiten aus. Und alles bleibt übersichtlich.

Das wäre genial. :)

 
Koala
26-01-2006, 14:18 
 
na dann übergib doch die Variablen mit $_GET

und werte sie dann aus:

if (isset $_GET(modul))
{
$m= $_GET(modul)
include "text".$m.".txt"
}

und in den Link schreibst Du <a href "xyz.php?modul=x">

 
Koala
26-01-2006, 14:24 
 
in den div-Container in der Mitte käme dann:

<?php

if ($_GET(pos) == 2) //die "2" als Code für Mitte
{
if (isset($_GET(modul)
{
include .....

 
yaga77
26-01-2006, 14:26 
 
hmmmm..

das sieht schon ganz gut aus, wenigstens die Verfahrensweise. Jetzt noch bisschen ins Detail:

brauche unbedingt zwei Variablen (position und modul), die nur als Paar funktionieren und mehrmals einsetzbar sind. Es werden mehrere Module an verschiedenen Positionen mit gleichem Link geändert.

 
Koala
26-01-2006, 14:30 
 
tja dann...

dann müßtest Du als GET-Parameter arrays übergeben, also mehrere Module in einem Modul-Array und mehrere in einem Position-Array.

Schau doch mal in der Doku ob so was geht.

 
yaga77
26-01-2006, 14:44 
 
Gibt es keine Tutorials für eine solche Methode? Hat es einen Namen nach dem man suchen kann? Bin ein totaller php-Anfänger. In Flash wäre das kein Problem.
Wie werden solche Systeme sonst gelößt (außer über cms natürlich)?

 
prego
26-01-2006, 14:44 
 
Sorry!


HÄH??!!

 
yaga77
26-01-2006, 14:44 
 
echt sorry. schon wieder falsch plaziert


... als die Polizei erlaubt.

 
yaga77
26-01-2006, 14:45 
 
Gibt es keine Tutorials für eine solche Methode? Hat es einen Namen nach dem man suchen kann? Bin ein totaller php-Anfänger. In Flash wäre das kein Problem.
Wie werden solche Systeme sonst gelößt (außer über cms natürlich)?

 
prego
26-01-2006, 14:48 
 
Was für Systeme meinst du überhaupt?

 
Koala
26-01-2006, 14:56 
 
Du kannst mit GET auch nur eine Id übergeben und dann je nach Id-Nummer die Inhalte definieren:

if ($_GET(id)=10)
{
$pos1 = ....
$modul1 = ....
$pos2 = ....
$modul2 = ....
$pos3 = ....
$modul3 = ....

 
yaga77
26-01-2006, 14:59 
 
um einzelne include-Dateien (div-Module) zu verwalten. Mit Links in den Modulen definiere ich Variablen. An den Festen Positionen im div-Gerüst werden nach einem reload dann anhand der Variablen bestimmte include-Dateien geladen. Habe alles weiter oben beschrieben.

 
Koala
26-01-2006, 15:01 
 
hast Du meine Antwort gelesen?

 
yaga77
26-01-2006, 15:07 
 
an Koala:

Bin gerade am überlegen :)

 
yaga77
26-01-2006, 15:12 
 
Das könnte funktionieren :)
Werde es gliech ausprobieren. Danke

 
yaga77
26-01-2006, 16:18 
 
Könntest Du ein Blick auf die Schreibweise werfen? Werden alle Variablen richtig deklariert? Die Verbindung von PHP und html ist die Hölle.


<?php
echo '<a href "'index.php?pos_rechts=1&modul=m_modul1'">link</a>'
?>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<?php
if (isset $_GET(pos_links)) {
if ($_GET(pos_links) == 1) {
if (isset $_GET(modul)) {
$m= $_GET(modul)
include $m.".php";
}
else {
include 'standard.php';
}
}
}
?>
</td>
<td>
<?php
if (isset $_GET(pos_mitte)) {
if ($_GET(pos_mitte) == 1) {
if (isset $_GET(modul)) {
$m= $_GET(modul)
include $m.".php";
}
else {
include 'standard.php';
}
}
}
?>
</td>
<td>
<?php
if (isset $_GET(pos_rechts)) {
if ($_GET(pos_rechts) == 1) {
if (isset $_GET(modul)) {
$m= $_GET(modul)
include $m.".php";
}
else {
include 'standard.php';
}
}
}
?>
</td>
</tr>
</table>

 
Koala
26-01-2006, 16:33 
 
<?php
echo '<a href "'index.php?pos_rechts=1&modul=m_modul1'">link</a>'
?>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<?php
if (isset ($_GET['pos_links']))
{
if ($_GET['pos_links'] == 1)
{
if (isset ($_GET['modul'])) {
$m= $_GET['modul'];
include $m.".php";
}
else
{
include 'standard.php';
}
}
}
?>
</td>
</tr>
</table>

 
Koala
26-01-2006, 16:35 
 
Die Verbindung von PHP und html ist die Hölle?

Ich finds klasse - macht die Sachen doch schön interaktiv und dynamisch.

 
yaga77
26-01-2006, 16:52 
 
:))))

Danke!!!

 
yaga77
26-01-2006, 17:06 
 
Sorry eines noch:


<?php
echo '<a href="'index.php?pos_rechts=1&modul=m_modul1'">link</a>';
?>


Gibt folgende Fehlermeldung aus:
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /homepages/18/d73904980/htdocs/test/index.php on line 2

Welches Semikolon meint er? Habe schon alle Möglichkeiten ausprobiert.

 
TobiaZ
26-01-2006, 17:15 
 
Oh mann, Grundlagen. Guck mal wo du deinen String beginnst (') und wo du ihn beendest (') und was danach kommt.

Warum beendest du den String also so früh?

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:25 Uhr.