Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP Kontakt

Frage Entwicklung PHP

Mitglied: mc-doubleyou

mc-doubleyou (Level 2) - Jetzt verbinden

16.02.2010, aktualisiert 20.02.2010, 4366 Aufrufe, 14 Kommentare

Hallo,

habe ein kleines Problemchen scheinbar ist mein Code falsch

01.
<?php 
02.
 
03.
// get posted data into local variables 
04.
$EmailFrom = Trim(stripslashes($_POST['EmailFrom']));  
05.
$EmailTo = "xxx@gmail.com"; 
06.
$Subject = "Lockerz"; 
07.
$Body = "Neuanmeldung" 
08.
 
09.
// validation 
10.
$validationOK=true; 
11.
if (Trim($EmailFrom)=="") $validationOK=false; 
12.
if (!$validationOK) { 
13.
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
14.
  exit; 
15.
16.
 
17.
// send email  
18.
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>"); 
19.
 
20.
// redirect to success page  
21.
if ($success){ 
22.
  print "<meta http-equiv=\"refresh\" content=\"0;URL=thx.html\">"; 
23.
24.
else{ 
25.
  print "<meta http-equiv=\"refresh\" content=\"0;URL=contact.html\">"; 
26.
27.
?>
bekomme diese Meldung:


Parse error: syntax error, unexpected T_VARIABLE in /data/multiserv/users/101370/projects/443860/www/test/contact.php on line 10

LG MCD
Mitglied: tmystr
16.02.2010 um 15:50 Uhr
hi,

ich kenne mich zwar nicht mit php aus..
aber wie soll das gehen wenn du bei zeile 10+11 den einen true und den anderen false gesetzt hast?

lg
Bitte warten ..
Mitglied: maretz
16.02.2010 um 15:55 Uhr
Erstmal würde ich in Zeile 10 das ="true" schreiben. Und dann würd ich das ganze umbauen das
true=1
false=0
ist -> und mit Vergleichen aus Zahlen arbeiten. Hintergrund: Es ist immer schneller wenn man 2 Zahlen vergleicht als wenn ich 2 Worte vergleiche. Das hat was damit zu tun das man bei 2 Zahlen genau EINEN Cpu-Befehl benötigt (cjne - compare and jump not equal) bzw. das mit nem einfachen Subtrahieren erledigen kann (if 2-2=0). Bei Worten ist das etwas komplexer -> Du musst das Wort erst in nen Wert umrechnen und dann diesen Wert vergleichen...
Bitte warten ..
Mitglied: ITLocke
16.02.2010 um 16:08 Uhr
Hallo

der Fehler liegt nicht in Zeile 10 sondern in Zeile 07!

Dort wurde nämlich das abschliessende Semikolon vergessen.

Gruß Locke
Bitte warten ..
Mitglied: mc-doubleyou
16.02.2010 um 16:24 Uhr
Oha, stimmt ^^ aber durch gehts mir trotzdem nicht hab offenbar irgendwas gemacht damit der success nicht passt
Bitte warten ..
Mitglied: ITLocke
16.02.2010 um 16:32 Uhr
Probier mal

$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

durch

$success = mail($EmailTo, $Subject, $Body, "From: <".$EmailFrom.">");
(--> ".." um $EmailFrom )
zu ersetzen. Manche Funktionen kommen mit dieser Art Variablen einzufügen nicht klar.
Bitte warten ..
Mitglied: mc-doubleyou
16.02.2010 um 16:47 Uhr
Der Fehler war so billig wie einfach - musste einen smtp eintragen bei dem Webhoster ... thx an alle
Bitte warten ..
Mitglied: dog
16.02.2010 um 17:05 Uhr
Wenn du fertig bist sag uns doch auch noch wo wir dein Script finden können, damit wir ein bisschen Spam verteilen können.

01.
$_POST['EmailFrom'] = "test@example.com>\r\nTo: someone@example.com\r\nTo: me@exmaple.com\r\n\r\nMessage Body";
Guten Morgen: http://www.damonkohler.com/2008/12/email-injection.html
Bitte warten ..
Mitglied: mc-doubleyou
16.02.2010 um 17:13 Uhr
Und was it wenn ich ein Ergebnis in der Art will?

01.
$Body = "Neuanmeldung von: ( $_POST[ "EmailFrom" ] );
wie muss dann der wirkliche Code aussehen?

LG
Bitte warten ..
Mitglied: maretz
16.02.2010 um 22:58 Uhr
Och - das war jetzt gemein... Du gönnst aber auch gar keinen Spass ;) Und der Mailserver muss sich nur wegen dir jetzt langweilen!
Bitte warten ..
Mitglied: mc-doubleyou
16.02.2010 um 23:02 Uhr
wie meinst du das dog? ... kapier echt grad nicht was mir diese Zeile bringen soll
Bitte warten ..
Mitglied: maretz
17.02.2010 um 07:38 Uhr
Die Zeile bringt das man einfach noch viele andere Empfänger mit vielen anderen Texten über dein Script erreichen kann... So schicke ich DIR zwar dann nen Kontakt-Formular, schicke aber an 10.000 andere Leute (ok, so lang wird der String nich gehen aber das ist nur ne frage wie ich das automatisiere) ne nette Werbung über Viagra, Software oder was sonst grad so aktuell ist. Und das ganze geht schön über deinen Server - d.h. die Leute stehen dann bei DIR auf der Matte und wollen dir was auf die Finger hauen ...
Bitte warten ..
Mitglied: mc-doubleyou
17.02.2010 um 07:53 Uhr
und warum genau sollte ich die dann einbauen wollen? *grübel*
Bitte warten ..
Mitglied: dog
17.02.2010 um 07:56 Uhr
Wir stehen aber echt grade ein bisschen auf dem Schlauch oder?

Die Zeile war ein Beispiel für einen möglichen POST-Input.
Lies dir doch bitte mal den Link durch.
Bitte warten ..
Mitglied: mc-doubleyou
17.02.2010 um 08:21 Uhr
ok jetzt hab ichs, ja stand am schlauch - danke

muss also sowas in der art nachrüsten

01.
SecFilterSelective ARGS_VALUES "\n[[:space:]]*(to|bcc|cc)[[:space:]]*:.*@"
sobald man aber mein Script missbräuchlich verwendet sehe ich das da ich genau diese eine Zeile in der Mail stehen habe, mir geht es schließlich nur um die E-Mail des Absenders

Am besten wäre aber dennoch eine generelle vermeidung von cc: und bcc: also if : in EmailFrom Error

Keine Ahnung aber wie man das bwerkstelligen kann
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (14)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...