[TYPO3-german] Eigene Extension, FEHLER bei Ausgabe! ECHO oder nicht????
denis
denisschulz at gmx.net
Tue Sep 5 16:22:58 CEST 2006
Danke Chris,
ich begreife jetzt auch langsam!
Viele Grüße
Denis
Christian Wolff schrieb:
> Am 05.09.2006, 15:28 Uhr, schrieb denis <denisschulz at gmx.net>:
>
>> Christian Wolff schrieb:
>>> gibt deine funktion am entde content mit
>>>
>>> return $content;
>>>
>>> wieder?
>>> hatte ich vergessen dazu zu sagen. sollte deine funktion natürlich tun.
>>> gruss chris
>>>
>>> Am 05.09.2006, 13:45 Uhr, schrieb denis <denisschulz at gmx.net>:
>>>
>>>> Siegfried Schultz schrieb:
>>>>> Servus Dennis,
>>>>>
>>>>> nicht
>>>>> echo "$row[vorname]
>>>>> $row[name]</a></b><br>\n";
>>>>>
>>>>> entweder
>>>>> echo $row["vorname"] $row["name"]
>>>>>
>>>>> oder aber
>>>>>
>>>>> echo" '".$row["vorname"]."''".$row["name"]."' </a></b><br>\n
>>>>>
>>>>>
>>>>>
>>>>> Denn du kannst eine Tabellenspalte nicht einfach nur mit $row[name]
>>>>> abfragen
>>>>> ;)
>>>>>
>>>>> Mit freundlichen Grüßen
>>>>> Siggi
>>>>>
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: typo3-german-bounces at lists.netfielders.de
>>>>> [mailto:typo3-german-bounces at lists.netfielders.de] Im Auftrag von
>>>>> denis
>>>>> Gesendet: Dienstag, 5. September 2006 12:00
>>>>> An: typo3-german at lists.netfielders.de
>>>>> Betreff: [TYPO3-german] Eigene Extension,FEHLER bei Ausgabe! ECHO oder
>>>>> nicht????
>>>>>
>>>>> habe eine Ext. programmiert, die ausgewählte Personen ausgibt (aus
>>>>> fe_user):
>>>>>
>>>>> Über FE-Plugin wähle ich die Person aus.
>>>>>
>>>>> Meine class_tx_personenliste_pi.php Datei:
>>>>>
>>>>> $num = mysql_numrows($result);
>>>>> $row = mysql_fetch_array($result);
>>>>> if ($input2 == $row[uid]) {
>>>>>
>>>>> if (substr($row[namenstitel], 0, 1) == 'V')
>>>>> echo "$row[vorname]
>>>>> $row[name]</a></b><br>\n";
>>>>> else
>>>>> echo "$row[namenstitel] $row[vorname]
>>>>> $row[name]</a></b><br>\n";
>>>>> echo "<b><i>$row[funktion]</i></b><br>\n";
>>>>> echo "Fon: $row[telefon]<br>\n";
>>>>> echo "Fax: $row[telefax]<br>\n";
>>>>> echo "Raum: $row[raum], $row[strasse]<br>\n";
>>>>> if (!$row[email] == '') {
>>>>> echo " <a href=\"mailto:$row[email]\"><IMG
>>>>> src
>>>>> = \"/pics/dreieck.gif\"";
>>>>> echo " border =
>>>>> \"0\"> $row[email] </a><br>\n";
>>>>> }
>>>>> }
>>>>>
>>>>> Und bei der Zeile, wo 1."ECHO" fängt, gibt er mir Fehler!
>>>>> Sieht so aus:
>>>>>
>>>>> Warning: Cannot modify header information - headers already sent by
>>>>> (output started at
>>>>> C:\Programme\typo3\htdocs\yamlt3\typo3conf\ext\personenliste\pi2\class.tx_pe
>>>>>
>>>>>
>>>>> rsonenliste_pi2.php:71)
>>>>>
>>>>> in
>>>>> C:\Programme\typo3\htdocs\yamlt3\typo3\sysext\cms\tslib\class.tslib_fe.php
>>>>>
>>>>>
>>>>> on line 2826
>>>>>
>>>>> =============================
>>>>> Zeile 71 in meiner php Datei ist das erste Echo!
>>>>>
>>>>> Zeile 2826 in ....fe.php Datei sieht so aus (header($headLine);):
>>>>>
>>>>> function processOutput() {
>>>>>
>>>>> // Set header for charset-encoding unless disabled
>>>>> if (!$this->config['config']['disableCharsetHeader']) {
>>>>> $headLine =
>>>>> 'Content-Type:text/html;charset='.trim($this->metaCharset);
>>>>> header($headLine);
>>>>> }
>>>>>
>>>>>
>>>>> ========================================================
>>>>>
>>>>>
>>>>> Hat schon jemand so was gehabt????
>>>>>
>>>>>
>>>>> Werde sehr dankbar sein für jeden Tipp!
>>>>>
>>>>> Grüße, Denis
>>>>> _______________________________________________
>>>>> TYPO3-german mailing list
>>>>> TYPO3-german at lists.netfielders.de
>>>>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
>>>>>
>>>> Danke Christian und Siegfried,
>>>>
>>>> Habe was vergessen zu sagen, Ausgabe ging bei mir.
>>>> Aber wenn ich mit euren Lösungen probiere, geht nicht!
>>>> Und zeigt Syntax Fehler. Habe schon selber was probiert funkzt auch
>>>> ned.
>>>>
>>>> Muss ich mit $content probieren, aber er gibt mir die abgefragte
>>>> Ergebnisse nicht aus!
>>>>
>>>> Hm.. bin ratlos!
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> TYPO3-german at lists.netfielders.de
>>>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
>>>>
>>>
>>>
>> Danke für Tipp,
>>
>> Hier ist meine Funktion noch mal:
>> ============================================================
>> function main($content,$conf) {
>> $this->conf=$conf;
>> $this->pi_setPiVarDefaults();
>> $this->pi_loadLL();
>> $this->pi_initPIflexForm();
>> $input2 = $this->pi_getFFvalue($this->cObj->data['pi_flexform'],
>> 'exampleQuery', 'sDEF');
>> $query = "SELECT * FROM tx_personenliste_personenliste";
>> $result = mysql(TYPO3_db,$query);
>>
>> while($row = mysql_fetch_assoc($result)){
>> if ($input2 == $row[uid]) {
>> echo $row['name'].'<br>';
>> }
>> }
>> return $content;
>> }
>> ==========================================================
>>
>> Wenn ich in
>>
>> while($row = mysql_fetch_array($result))
>>
>> statt "array" ein "assoc" schreibe, ändert sich nichts.
>> und wenn ich statt "array" ein "row" schreibe, verschwindet Fehler, aber
>> wird nicht ausgegeben!
>> WARUM? Habe schon alle DOC-.... durchgeschaut, alle schreiben anders!
>>
>> Sehe nur den WALD vor lauter Bäumen!
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.netfielders.de
>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
>>
>
> funktioniert es wenn du die funktion so abänderst:
>
> ============================================================
> function main($content,$conf) {
> $this->conf=$conf;
> $this->pi_setPiVarDefaults();
> $this->pi_loadLL();
> $this->pi_initPIflexForm();
> $input2 = $this->pi_getFFvalue($this->cObj->data['pi_flexform'],
> 'exampleQuery', 'sDEF');
> $query = "SELECT * FROM tx_personenliste_personenliste";
> $result = mysql(TYPO3_db,$query);
>
> while($row = mysql_fetch_assoc($result)){
> if ($input2 == $row[uid]) {
>
> /* Modfikation beginn */
> $content .= $row['name'].'<br>';
> /* Modifkation ende */
> }
> }
> return $content;
> }
> ==========================================================
>
> weil deine Meldung "Warning: Cannot modify header information - headers
> already sent by..."
> kommt bestimmt nicht direct durch deine extension sondern durch eine andere
> extension die versucht die HTTP header zu modifizieren du hast aber den
> "output" durch
> dein echo schon gestartet. und sie kann deswegen nicht mehr den header
> modifizieren
>
> und die "empfolene" / korrekte variante ist eigendlich keine echo's in
> extensions zu verwenden.
> jedenfalls soweit ich das verstanden habe (bin ja auch noch relativ neu
> bei typo3)
> wenn du die vermutung hast dein datenbank fetch nix sinvolles zurück
> gibt kannst du kontent ja auch vorher mit
> "testinhallt füttern" um zu überprüfen wo das problem liegt.
> also vor er while schleife noch ein $content .='test hier beginnt ein
> plugin'; oder ähnliches hinzufügen.
> das sollte ja dann in jedem fall angezeigt werden uabängig von erfolg
> deines datenbank zugriffes.
>
> gruss chris
>
More information about the TYPO3-german
mailing list