Antworten auf deine Fragen:
Neues Thema erstellen

Fehler nach dem Senden einer E-Mail

rallyefan238

Noch nicht viel geschrieben

Hallo Leute,
ich habe ein Problem mit einem PHP-Script auf meiner Homepage.
Und zwar habe ich eine Seite in der man seine Datein eingeben kann ( Name, Vorname, E-Mail-Adresse ), anschließend soll man auf "senden" klicken um MIR die Daten via E-Mail zukommen zu lassen.
Zudem bekommt der, der die Daten eingegeben hat eine Kopie zugeschickt.

Die E-Mail wird an beide korreckt verschickt, aber man bekommt diesen Fehler auf der Seite angezeigt.

Warning: Illegal offset type in /users/rallyefan/www/bilder/bildbestellung/mailer.php on line 21

[FONT=bauhausitcteebol , comic sans ms]Die Anfrage wurde erfolgreich gesendet. Sie bekommen auch eine Kopie dieser Bestellung zugesendet.[/FONT]
[FONT=bauhausitcteebol , comic sans ms][/FONT]
zurück
[FONT=bauhausitcteebol , comic sans ms]Warning: Cannot modify header information - headers already sent by (output started at /users/rallyefan/www/bilder/bildbestellung/mailer.php:21) in /users/rallyefan/www/bilder/bildbestellung/mailer.php on line 72[/FONT]


[FONT=bauhausitcteebol , comic sans ms]Das sind sind die Zeilen 12-21[/FONT]

PHP:
$SendeDaten = array(
        "$Daten1" => array( 
                     "Meine E-Mail Adresse",
                     $Absender,
                     "Bildbestellung bei rallyefan.de.tc",
                     "http://www.rallyefan.bplaced.net/bilder/index.php",
                     "http://www.rallyefan.bplaced.net/erreur404.html"
                                  )
                            );
$SendeIndex = $HTTP_POST_VARS[ $SendeDaten ];


Und das sind die Zeilen 68-73

PHP:
echo "Die Anfrage wurde erfolgreich gesendet. Sie bekommen auch eine Kopie dieser Bestellung zugesendet.";
echo "<br><br> &nbsp;&nbsp;&nbsp;&nbsp;";
echo "<a href = '../index.php' target = 'Mitte'>";
        echo "zur&uuml;ck</a>";
Header( "Location: ".$SendeDaten[ $st ][ 3 ] );
echo "</p>";


Ich habe schon hundert mal drübergesehen und sehe keinen Fehler!
Vielleicht wisst ihr wo der Fehler ist.

Danke im Voraus.
 

saila

Moderatorle

AW: Fehler nach dem Senden einer E-Mail

hast du dir das schon mal mit einem einfachen echo oder print ausgeben lassen?
PHP:
echo $SendeDaten[$st][3];
// oder 
print_r($SendeDaten);
Dann kannst du sehen, ob darin überhaupt etwas ist.

Es ist davon auszugehen, das die Var $st nichts beinhaltet
 

rallyefan238

Noch nicht viel geschrieben

AW: Fehler nach dem Senden einer E-Mail

Ich habe mir nun die Daten ausgeben lassen ( mit echo $SendeDaten[$st][3]; ) und es wurde mir folgendes angezeigt:

http://www.rallyefan.bplaced.net/bilder/index.php


Deshalb weiß ich nicht warum der Fehler angezeigt wird.
 

saila

Moderatorle

AW: Fehler nach dem Senden einer E-Mail

Ich habe mir nun die Daten ausgeben lassen ( mit echo $SendeDaten[$st][3]; ) und es wurde mir folgendes angezeigt:

http://www.rallyefan.bplaced.net/bilder/index.php


Deshalb weiß ich nicht warum der Fehler angezeigt wird.

Sind den die Zeilten 68 - 73 auch so in der Datei oder ist das ein Ausschnitt mehrerer Dateien? Wenn nicht, hat netbandit natürlich recht.
 

rallyefan238

Noch nicht viel geschrieben

AW: Fehler nach dem Senden einer E-Mail

Die 2 von mir angegebenen Code-Passagen ( Zeile 12-21 und 68-73 ) stehen alle genau so in einer Datei.

@ netbandit
Wie soll ich das Verstehen ???
-> ein "echo" und dann bzw danach ein "header" ist eine blöde Idee
 

saila

Moderatorle

AW: Fehler nach dem Senden einer E-Mail

bei der header() - Funktion setzt man zuvor kein echo/print. Sprich header() ist immer vor einer Ausgabe gesetzt.
 

rallyefan238

Noch nicht viel geschrieben

AW: Fehler nach dem Senden einer E-Mail

Ist mein Vorgehen nur eine blöde Idee oder ist das der Fehler ??

Und wie kann ich das dann "richtig" realisieren, damit die Funktion bestehen bleibt?
 

saila

Moderatorle

AW: Fehler nach dem Senden einer E-Mail

Naja, er/sie meinte wohl dieses Vorgehen als blöde Idee aus dem Grunde, weil es zu dem Fehler führt.

Weiteres Vorgehen:
Wenn die E-Mails raus sind und sofern noch keine Datenausgabe erfolgte header() wie von dir vorhanden aufrufen (mit einer Flag/URL-Parameter) und dann die Danke... ausgabe folgen lassen. Oder auf eine zweite Seite umleiten.
 

rallyefan238

Noch nicht viel geschrieben

AW: Fehler nach dem Senden einer E-Mail

Wenn ich das jetzt richtig verstanden habe muss ich es so machen?

PHP:
$MailSenden = mail( $MailTo , $Subject , $Nachricht , $Header );
 
if( $MailSenden == true )
{
   Header( "Location: ".$SendeDaten[ $st ][ 3 ] );
   echo "Die Anfrage wurde erfolgreich gesendet. Sie ...";
   echo "<br><br> &nbsp;&nbsp;&nbsp;&nbsp;";
   echo "<a href = '../index.php' target = 'Mitte'>";
          echo "zur&uuml;ck</a>";
}
else
   Header( "Location: ".$SendeDaten[ $st ][ 4 ] );

Das Problem ist, dass jetzt aber der Fehler weiter oben auftritt, um ganz genau zu sein wieder in der "header"-Zeile !
 

netbandit

Aktives Mitglied

AW: Fehler nach dem Senden einer E-Mail

Benutze statt $HTTP_POST_VARS -> $_POST (ggf prüfen ob dieses überhaupt existiert, z.B. mit isset())

Und

entweder:

PHP:
if( $MailSenden == true )
{
   header( "Location: ".$SendeDaten[ $st ][ 3 ] );
}
else
{
   header( "Location: ".$SendeDaten[ $st ][ 4 ] );
}
oder

PHP:
if( $MailSenden == true )
{
   echo "Die Anfrage wurde erfolgreich gesendet. Sie ...";
   echo "<br><br> &nbsp;&nbsp;&nbsp;&nbsp;";
   echo "<a href = '../index.php' target = 'Mitte'>";
          echo "zur&uuml;ck</a>";
}
else
{
   header( "Location: ".$SendeDaten[ $st ][ 4 ] );
}
aber bitte nicht header und echo zusammen
 

rallyefan238

Noch nicht viel geschrieben

AW: Fehler nach dem Senden einer E-Mail

Das mit dem header und echo habe ich jetzt unter Kontrolle :D

$_POST habe ich auch mal benutzt, aber mit dem Resultan:

Warning: Illegal offset type in /users/rallyefan/www/bilder/bildbestellung/mailer.php on line 21

immer noch der selbe Fehler.

Aus "Verzweiflung" habe ich mal das
$SendeIndex = $_POST[ $SendeDaten ]; bzw.
$SendeIndex = $HTTP_POST_VARS[ $SendeDaten ];
weggelassen, mit dem Ergebnis, dass es genau so funktioniert wie es sein soll und das ohne Fehler. Das einzigste ist das die Hintergrundfarbe nun weiß statt blau ist.
 

saila

Moderatorle

AW: Fehler nach dem Senden einer E-Mail

Also wir könnten dir ja jetzt alles vorkauen. Aber es wäre mal angebracht, dass du dich zum Thema PHP auch näher informierst. Das kann man unter php.net und als Stichwort: vordefinierte Variablen.

Was du da machst kann auch nicht gehen - ausser.......
 

Top_Gun

Aktives Mitglied

AW: Fehler nach dem Senden einer E-Mail

Ich verweise dich auf meinen letzten Beitrag.

Wenn du keine Ahnung von Arrays und POST hast solltest du dich vielleicht darüber mal informieren...
 

rallyefan238

Noch nicht viel geschrieben

AW: Fehler nach dem Senden einer E-Mail

Vielen Dank für Eure Hilfe !!!
Ich habe die Probleme jetzt gelöst.

Einmal ohne header und echo und desweiteren ohne das Array.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.476
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben