[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\">&nbsp;$row[email]&nbsp;</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