php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 09-09-2008, 21:25
zerocode
 Newbie
Links : Onlinestatus : zerocode ist offline
Registriert seit: Sep 2008
Beiträge: 6
zerocode ist zur Zeit noch ein unbeschriebenes Blatt
Standard Problem bei Mailerstellung durch Skript nach Serverumzug

Hallo Leute,

ich habe folgendes Problem. Durch ein php-Skript auf meiner Seite können Mitglieder ein Foto für einem Wettbewerb einreichen. Dabei werden gleich Username und einige andere Daten übermittelt.

Es sind genauer zwei Dateien, die eine wird included.

Den Quellcode beider Dateien habe ich hier als Textdatei hochgeladen (lediglich persönliche Daten habe ich abgeändert).

Datei 1 (20070302-7b98.lib.php)
Datei 2 (upload.php)

Nach einem Serverumzug durch meinen Hoster (all-incl.com) funktioniert das Skript nun nicht mehr korrekt. Der Hoster will damit natürlich nichts zu tun haben. Fakt ist, dass das Skript nicht verändert wurde und in identischer Version auf einem anderen Server des gleichen Hosters ohne Probleme läuft. Hat eine Bekannte netterweise getestet. Daher der Verdacht, dass es mit Servereinstellungen zu tun hat.

Gemäß den Regeln dieses Forums habe ich zwei Zeilen zur Fehleranzeige eingebaut. Nun wird über der Ausgabe im Browser folgendes angezeigt:

Zitat:
Notice: Undefined index: formmail_submit in /www/htdocs/xxeditxx/form/20070302-7b98.lib.php on line 36
Das wäre dann die dritte Zeile in diesem Codeausschnitt (die Zeilennummer ändert sich je nachdem, ob ich die Zeilen für die Fehleranzeige drin habe).

Code:
// -- Detech Submit & SendMail --
$isHideForm = false;
if( $HTTP_POST_VARS["formmail_submit"] ){
	$sErr = checkPass();
	if( ! $sErr ){
Außerdem finden sich nun in allen! sonst leeren Eingabefeldern Texte wie
Zitat:
<br /> <b>Notice</b>: Undefined index: Name in <b>/www/htdocs/xxeditxx/form/upload.php</b> on line <b>137</b><br />


Da stimmt wohl etwas nicht. Wie gesagt, vor dem Serverwechsel hat das Skript zumindest zuverlässig die Daten samt Foto übermittelt, auch wenn es da schon buggy war.

Die Ausgabe der email sollte eigentlich so aussehen:

Zitat:
Vorname : vorname
Name : nachname
Nickname : nickname
Adresse :
Emailadresse : blah@blah.de
Wettbewerb : nächstmöglicher
Foto :
Deutscher Titel : Titel
Englischer Titel :
Bemerkungen :


IP:00.00.000.00
Die Formatierung passt nicht ganz, war für die Funktion des Skriptes aber egal. Die ankommenden mails werden übrigens durch ein weiteres Programm automatisiert eingelesen und in eine xml-Datei umgewandelt.

NACH dem Serverwechsel sieht das Ergebnis wie folgt aus:

Zitat:
MIME-Version: 1.0
Content-type: multipart/mixed;
boundary="====_My_PHP_Form_Generator_5de88c5b0a8971a3e55308087790e216===="
Message-Id: <20080909184413.497FA18600AA1@dd19920.kasserver.com>
Date: Tue, 9 Sep 2008 20:44:13 +0200 (CEST)



This is a multi-part message in MIME format.

--====_My_PHP_Form_Generator_5de88c5b0a8971a3e55308087790e216====
Content-Type: text/plain;
charset=""

Vorname : vorname
Name : nachname
Nickname : nickname
Adresse :
Emailadresse : blah@blah.de
Wettbewerb : nächstmöglicher
Foto :
Deutscher Titel : Titel
Englischer Titel :
Bemerkungen :


IP:00.00.000.00

--====_My_PHP_Form_Generator_5de88c5b0a8971a3e55308087790e216====
Content-Type: image/jpeg ;
name="1.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="1.jpg"

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAMgAA/+4ADkFkb2JlAGTAAAAAAf/b

AIQACAYGBgYGCAYGCAwIBwgMDgoICAoOEA0NDg0NEBEMDg0NDgwRDxITFBMSDxgYGhoYGCMiIiIj

JycnJycnJycnJwEJCAgJCgkLCQkLDgsNCw4RDg4ODhETDQ0ODQ0TGBEPDw8PERgWFxQUFBcWGhoY

GBoaISEgISEnJycnJycnJycn/8AAEQgAZAPPAwEiAAIRAQMRAf/EAMAAAAEFAQEBAAAAAAAAAAAA

[...]
Wie man sieht, gibt es nun einen unerwünschten Vor- und Abspann, weiter ist das Foto nicht mehr email-Anhang sondern wird als "Text" in die Mail verwurschtelt. Eine Mail scheint überhaupt nicht angekommen zu sein.

Zur Umgebung:
vorher: PHP Version 5.2.5
nachher: PHP Version 5.2.6

Wenn hier nähere Infos benötigt werden, liefere ich die gerne nach.

Ich habe leider keine Ahnung von php und hoffe, überhaupt im richtigen Unterforum gepostet zu haben. Für Codearbeiten meines (nichtkommerziellen, privaten) Projektes habe ich bisher immer auf die Hilfe Dritter zurückgegreifen können/dürfen.

Daher hoffe ich, dass mir auf diesem Weg geholfen werden kann - bin für jeden Tipp dankbar.

Geändert von zerocode (10-09-2008 um 16:28 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 09-09-2008, 23:16
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Also zunächst mal danke für die ausführliche Problembeschreibung.

ABER du kannst die Fehler nicht einfach auf den Hoster schieben. Die Erzeugten Fehler kommen eindeutig(!) von deiner unsauberen Pogrammierung!

Zunächst solltest du das mal alles korrigieren. isset sei hier mal erwähnt.

Zitat:
Die Formatierung passt nicht ganz, war für die Funktion des Skriptes aber egal. Die ankommenden mails werden übrigens durch ein weiteres Programm automatisiert eingelesen und in eine xml-Datei umgewandelt.
Das ginge natürlich besser, ist aber nicht das Thema dieses Threads.

Zitat:
NACH dem Serverwechsel sieht das Ergebnis wie folgt aus:
Sieht so aus, als ob da der Header zu schnell abgeschlossen wird. im Manual zur Funktion mail() steht mehr dazu. Je nach Server können sich die Einstellungen unterscheiden.

Zitat:
Ich habe leider keine Ahnung von php und hoffe, überhaupt im richtigen Unterforum gepostet zu haben.
Wenn du mit meinen Hinweisen nichts anfangen kannst, dann wars das falsche Forum. Ich verschiebe dich dann gerne nach Projekthilfe.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 09-09-2008, 23:35
zerocode
 Newbie
Links : Onlinestatus : zerocode ist offline
Registriert seit: Sep 2008
Beiträge: 6
zerocode ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo TobiaZ,
danke für Deine Hinweise.
Da das Thema ja schon verschoben ist, bitte ich nun um Hilfsangebote :-)
Mit Zitat antworten
  #4 (permalink)  
Alt 10-09-2008, 00:28
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

<? error_reporting(E_ALL ^ E_NOTICE); ?> an den Anfang des Skriptes müßte helfen.
Mit Zitat antworten
  #5 (permalink)  
Alt 10-09-2008, 01:16
zerocode
 Newbie
Links : Onlinestatus : zerocode ist offline
Registriert seit: Sep 2008
Beiträge: 6
zerocode ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von pekka
<? error_reporting(E_ALL ^ E_NOTICE); ?> an den Anfang des Skriptes müßte helfen.
Hi,
also wenn ich die bereits vorhandene Zeile

Code:
error_reporting( E_ERROR | E_WARNING | E_PARSE );
durch Deine ersetze (bzw. sie ganz an den Anfang setze) kommt keine Fehlermeldung beim Aufruf der Seite.

Mit
Code:
error_reporting(E_ALL); #zeig alle Fehler
ini_set('display_errors', '1'); #sorgt dafür, dass überhaupt Fehler angezeigt werden
erhalte ich die im ersten Posting beschriebene Fehlermeldung:

Zitat:
Notice: Undefined index: formmail_submit in /www/htdocs/xxeditxx/form/20070302-7b98.lib.php on line 36
Die nützt mir aber leider auch nichts, da ich selbst ja wie geschrieben nicht programmieren kann.

Geändert von zerocode (10-09-2008 um 16:29 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 10-09-2008, 01:20
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Wenn du es so einstellst, daß keine Fehlermeldungen mehr kommen, funktioniert denn dann alles?
Das ist nämlich einer der ganz, ganz seltenen Fälle, in denen man eine Fehlermeldung, wenn sie abschaltbar ist, getrost ignorieren kann
Mit Zitat antworten
  #7 (permalink)  
Alt 10-09-2008, 01:31
zerocode
 Newbie
Links : Onlinestatus : zerocode ist offline
Registriert seit: Sep 2008
Beiträge: 6
zerocode ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,
leider nein.

Wenn ich es recht verstehe, kommt durch die schon früher vorhandene error_reporting Zeile ohne das zusätzliche

ini_set('display_errors', '1');

sowieso keine Fehlermeldung.
Aber selbst wenn ich die Zeile auch rausnehme, ändert sich nichts. Das Skript läuft (scheinbar!) ohne Fehler und gibt die Bestätigungsmeldung, dass alles funktioniert hat.
Aber die Mail kommt kaputt an. Wie ganz oben beschrieben.
Mit Zitat antworten
  #8 (permalink)  
Alt 10-09-2008, 02:09
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Du müßtest den Quellcode einer früheren, funktionierenden Mail (die sahen intern nämlich ähnlich aus) und den einer neuen, nicht funktionierenden nebeneinander legen und schauen, ob etwas fundamentales verändert ist.
Mit Zitat antworten
  #9 (permalink)  
Alt 10-09-2008, 11:47
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Es wird der Zeilenumbruch im Header schuld sein. Hierfür müsste man jedoch die ENTSPRECHENDE! (und nur diese) Stelle des Quelltextes kennen.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #10 (permalink)  
Alt 10-09-2008, 14:11
zerocode
 Newbie
Links : Onlinestatus : zerocode ist offline
Registriert seit: Sep 2008
Beiträge: 6
zerocode ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von TobiaZ
Es wird der Zeilenumbruch im Header schuld sein. Hierfür müsste man jedoch die ENTSPRECHENDE! (und nur diese) Stelle des Quelltextes kennen.
Ein verdächtiges
"\n"
habe ich unter der Unterschrift
// -------------------------- Begin Mail Attachment Functions

hier gefunden:

================================
// setup mail header infomation
$headers = "From: $from\r\n";
if ($cc) $headers .= "CC: $cc\r\n";
if ($bcc) $headers .= "BCC: $bcc\r\n";
$plainHeaders = $headers ; // for no attachments header
$headers .= "MIME-Version: 1.0\nContent-type: multipart/mixed;\n\tboundary=\"$boundary\"\n";

$txtMsg = "\nThis is a multi-part message in MIME format.\n" .
"\n--$boundary\n" .
"Content-Type: text/plain;\n\tcharset=\"$charset\"\n\n" . $message . "\n";

================================

Könnte das die betreffende Stelle sein?
Mit Zitat antworten
  #11 (permalink)  
Alt 10-09-2008, 14:13
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

So ganz ohne den Inhalt der Variablen zu kennen, ist das natürlich mal wieder recht mau,

aber auffällig ist doch, dass sowohl \r\n als auch \n verwendet werden.

Den Hinweis aufs Manual diesbezüglich habe ich schon gegeben.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #12 (permalink)  
Alt 10-09-2008, 16:26
zerocode
 Newbie
Links : Onlinestatus : zerocode ist offline
Registriert seit: Sep 2008
Beiträge: 6
zerocode ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,
danke soweit.

Könnte man dieses Posting bitte in Jobangebote/Jobgesuche verschieben. Ich habe derzeit nicht die Zeit, mich in diese Materie einzuarbeiten. Man kann nicht alles selber machen.

Falls sich jemand bereit erklärt, entweder das vorhandene Skript zu fixen ODER das Skript komplett neu zu schreiben (dann hätte ich die Bitte, es optisch an ein vorhandenes phpbb3-Forentemplate anzupassen, dazu Näheres per PN), bitte mit einer Preisvorstellung bei mir melden.
Mit Zitat antworten
  #13 (permalink)  
Alt 10-09-2008, 16:41
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Klar, nachdem du die dortigen Regeln gelesen und befolgt hast, gerne.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:16 Uhr.