[TYPO3-german] Eigene Extension, FEHLER bei Ausgabe! ECHO oder nicht????
Dominik Gesthuysen
gesthuysen at fliks.net
Tue Sep 5 16:41:11 CEST 2006
Du könntest aber auch, um zu testen was für eine Ausgabe Du bekommst,
Dein "echo" in eine IP-Abfrage legen, so daß nur Du eine Ausgabe über
das "echo" angezeigt bekommst.
Also sowas hier:
// Deine IP-Adresse für 0.0.0.0 eingeben
if($_SERVER["REMOTE_ADDR"] == "0.0.0.0")
{
// Deine Augabe
echo "";
// Verarbeitungsprozess beenden, um Nachfolgende Fehler, wie das
Problem mit dem header, zu verhindern.
die("Ende der Ausgabe");
}
Das würde ich generell empfehlen, vor allem, wenn DU an einem System
arbeiten musst, was live ist.
Greetings,
davadda
Randnotizen:
http://www.davadda.de
denis schrieb:
> 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
>>
>>
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
>
>
>
More information about the TYPO3-german
mailing list