![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #21 |
| Benutzer Registriert seit: 16.09.2007
Beiträge: 65
|
das wird ausgegeben. HTML-Code: string(76) " Themenzeit: Deine Gilde! " PHP-Code: HTML-Code: string(69) " Themenzeit: Deine Gilde! " Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 67 Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 72 string(0) "" Notice: Undefined index: 0 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 76 |
| | |
| | Nach oben #22 | |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
|
Ok gib mir mal bitte deinen Codebereich nochmal und schreib die Zeilennummern vorne ran. Der Fehler ist einfach: Arrayindex 0 und 1 existieren nicht in dem Moment, in dem du darauf zugreifen willst. Wenn Zitat:
Aber erstmal den Code nochmal mit Zeilennummern vorne dran
__________________ I did it my way - Senseless-Blog | |
| | |
| | Nach oben #23 |
| Benutzer Registriert seit: 16.09.2007
Beiträge: 65
| PHP-Code: HTML-Code: string(66) " {$topic_title} " string(69) " Themenzeit: Deine Gilde! " string(122) "{$name} Themenzeit: Deine Gilde! "
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 67
NULL
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 73
string(0) ""
Notice: Undefined index: 0 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 77
string(122) "{$name} Themenzeit: Deine Gilde! "
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 67
NULL
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 73
string(0) ""
Notice: Undefined index: 0 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 77
string(122) "{$name} Themenzeit: Deine Gilde! "
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 67
NULL
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 73
string(0) ""
Notice: Undefined index: 0 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 77
string(122) "{$name} Themenzeit: Deine Gilde! "
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 67
NULL
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 73
string(0) ""
Notice: Undefined index: 0 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 77
string(122) "{$name} Themenzeit: Deine Gilde! " test Themenzeit: Deine Gilde!
PHP-Code: Geändert von Victorious (19.09.2007 um 18:51 Uhr) |
| | |
| | Nach oben #24 |
| Benutzer Registriert seit: 16.09.2007
Beiträge: 65
|
hm denke woran es liegen könnte, es werden einfach alle werte dran gehängt anstatt sie zu überschreiben. Hab durch das debuging festgestellt das er alle werte übergibt. Siehe hier: HTML-Code: string(66) " {$topic_title} " string(24) "Themenzeit: Deine Gilde!" string(4) "1109"
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 66
NULL string(19) "Wartungen am Montag" string(4) "1077"
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 73
Notice: Undefined index: 0 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 77
|
| | |
| | Nach oben #25 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
|
hm... also laut deiner Ausgabe, ist allein $matches schuld. Du müsstest also mal schauen was nach dem preg_match() in $matches drin steht. Gute optische Ausgabe erreichst du bei einer Debugausgabe so: PHP-Code:
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #26 |
| Benutzer Registriert seit: 16.09.2007
Beiträge: 65
|
hab das mal getan und die ausgabe sieht so aus. HTML-Code: array(2) {
[0]=>
string(91) "{foreach $news}
{$topic_title}
{/foreach}"
[1]=>
string(66) "
{$topic_title}
"
}
array(0) {
}
Geändert von Victorious (20.09.2007 um 00:38 Uhr) |
| | |
| | Nach oben #27 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
|
Das ist eine gute Frage. Du müsstest dich jetzt nach oben "debuggen", also schauen, was in den Variablen steht die du preg_match() übergibst (also in deinem Fall $this->template) bzw schauen was in den Variablen steht, die du deiner Funktion assign_array() übergibst. Also direkt nach dem Funktionskopf einfach mal $replace und $replacement_array ausgeben lassen.
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #28 |
| Benutzer Registriert seit: 16.09.2007
Beiträge: 65
|
Habe ich auch mal gemacht einmal für $replace dann für $replacement_array und für $this->template. Für die $replace kommt das raus HTML-Code: string(4) "news" string(4) "news" HTML-Code: array(2) {
["topic_title"]=>
string(24) "Themenzeit: Deine Gilde!"
["topic_id"]=>
string(4) "1109"
}
array(2) {
["topic_title"]=>
string(19) "Wartungen am Montag"
["topic_id"]=>
string(4) "1077"
}
HTML-Code: string(110) "{$name}
{foreach $news}
{$topic_title}
{/foreach}
"
string(84) "{$name}
Themenzeit: Deine Gilde!
"
{$topic_title} {/foreach} schon ersetzt wurden.Wie kann ich das ändern das er das erst ersetz wenn alles durchlaufen ist? Geändert von Victorious (20.09.2007 um 10:50 Uhr) |
| | |
| | Nach oben #29 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
|
Ich will dich ja bissle zum selber Nachdenken anregen und dir nichts fertiges vorsetzen. Es sieht für mich so aus, als wenn du selbst noch nicht so ganz verstanden hast, was deine Methode macht. Also am besten gehst du jetzt Zeile für Zeile durch und schreibst kurz als Kommentar dahinter was die Zeile macht. Notfalls auch auf Papier schreiben, was in welcher Reihenfolge passiert. Dann siehst du am schnellsten, wo der Fehler ist. Probier das mal. Geht ja recht schnell...
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #30 |
| Benutzer Registriert seit: 16.09.2007
Beiträge: 65
|
hm ich komm einfach ned drauf. Also mit preg_match wird doch die tpl mit meinem suchmuster durchsucht. mit $match[1] wird dann der teil aus dem array rausgeholt der ersetzt werden soll. Durch die foreach schleifen werden alle array durchlaufen. PHP-Code: mit rtrim werden die leerräume entfernt. Bei preg_replace wird wird nach einem regulären ausdruck gesucht und ersetzt PHP-Code: |
| | |
| | Nach oben #31 | |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
| Zitat:
Ich bin grade auf Arbeit und kann daher selbst jetzt nicht Hand anlegen. Ich schau mir das heute Abend en Detail an. Bis dann!
__________________ I did it my way - Senseless-Blog | |
| | |
| | Nach oben #32 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
|
sorry hab erst heute geschafft. PHP-Code: Wenn nicht, sag bescheid, dann versuche ich das nochmal bissle besser zu erklären
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #33 |
| Benutzer Registriert seit: 16.09.2007
Beiträge: 65
|
hm bringt mir auch nicht wirklich weiter. Ich seh halt nur das er beim ersten durch lauf das findet: HTML-Code: vor template:
string(110) "{$name} {foreach $news} {$topic_title} {/foreach} "
Dann das ersetzt HTML-Code: nach template:
string(84) "{$name} Themenzeit: Deine Gilde! "
HTML-Code: vor template:
string(84) "{$name} Themenzeit: Deine Gilde! "
|
| | |
| | Nach oben #34 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
|
Richtig. Nun beleibt doch die Frage: Wenn du $this->template im ersten Durchlauf überschreibst, dann kannst du damit nichts mehr anfangen... Es ist also wichtig, dass du erstmal deine Daten sammelst (z.B. in einer temporären Variable) und dann $this->template überschreibst bzw mit Daten füllst die du auch brauchst. Problem verstanden?
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #35 |
| Benutzer Registriert seit: 16.09.2007
Beiträge: 65
|
jo das habe ich verstanden. nur wie sammel ich die daten am besten? Ich hätte da ne überlegung so zb. PHP-Code: Geändert von Victorious (21.09.2007 um 14:22 Uhr) |
| | |
| | Nach oben #36 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
|
Warum so kompliziert mit Array? PHP-Code: Und jetzt viel Spass beim weiterarbeiten
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #37 |
| Benutzer Registriert seit: 16.09.2007
Beiträge: 65
|
ah ok danke dir. Ich werd das aber trozdem noch mal überarbeiten das ganze t und hier posten und bräuchte dann feedback.Denke dazu werde ich nen neuen thread auf machen. Noch mal vielen dank für die hilfe.Wobei ich hab da trozdem noch mal ne frage?Kann sein das sie ein wenig überstürtz ist, aber ich habe meine seiten damals so gestealltet: PHP-Code: Geändert von Victorious (21.09.2007 um 15:06 Uhr) |
| | |
| | Nach oben #40 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
|
Für den Anfänger und für kleine private Homepages ist dieser weg richtig. Warum dass nun mit deinen Templates nicht funktionieren soll verstehe ich nicht. Für andere Möglichkeiten gibts z.B. URL-Rewrites, Model-View-Controller Technik oder oder oder
__________________ I did it my way - Senseless-Blog |
| | |