php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #16 (permalink)  
Alt 30-10-2007, 14:48
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von brmartin
...Idee als zusätzlicher Schutz....
dann könnte dich dieser hier sicher auch interessieren... is ne gute basis - wie ich finde:

http://www.drweb.de/webmaster/sicher...re-teil4.shtml
__________________
**********
arkos
**********
Mit Zitat antworten
  #17 (permalink)  
Alt 30-10-2007, 14:57
brmartin
 Newbie
Links : Onlinestatus : brmartin ist offline
Registriert seit: Oct 2007
Beiträge: 24
brmartin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Und schon wieder Dank an dich arkos,
Aber langsam wirds etwas viel

Leider ist meine Signatur was PHP, CSS und ähnliches betrifft keine Untertreibung.

Aber wie gesagt, ich bin lernwillig.

Zuerst kommt das Formular wie ich es will, dann der Schutz.

Wobei dein letzter Link http://www.drweb.de/webmaster/siche...are-teil4.shtml
da auch wieder gut ist, denn in dem Bausatz ist auch was zur Formularüberprüfung, das zieh ich mir dann heute abend rein, obwohl ich eigentlich zuerst unterscheidliche Empfänger realisieren wollte

Naja, was solls.

Gruß

Martin
__________________
Greets

Martin

absolut beginner
aber lernwillig
Mit Zitat antworten
  #18 (permalink)  
Alt 30-10-2007, 15:05
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mach dir kein stress

unterschiedliche empfänger? meinst du, dass die mail gleich an mehrere rausgehen soll?

das zu erlernen und erlesen kannst du eher nebenbei mit nem kühlen blonden erledigen. das is keine atomphysik
__________________
**********
arkos
**********
Mit Zitat antworten
  #19 (permalink)  
Alt 30-10-2007, 15:41
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das hat auch mit register_globals nichts zu tun, die stehen ja auf off, wie es sich gehört. Wenn ich deinen Code (fehlerbereinigt und ein wenig meinem Stil angepasst) ausfühere, erhalte ich problemlos die Mail (ohne global!). Ich bin sowieso der Meinung global sollte nur in Ausnahmefällen benutzt werden, es gibt praktisch immer andere Wege. Aber in dinem Fall sind sie, wie gesagt, gar nicht nötig. Hier der Code:
PHP-Code:
<?php
//  send2.php
foreach($_POST as $key => $val){
    $
$key htmlentities($val);
}

if (!empty(
$sent) and !empty($eMail))

   
printf("<font color='#4b9eff' size='+1'><b>Gesendet am:</b><br />\n%s<br />%s<br />Von:<b>%s %s</b><br />
           Absender: <b>%s</b><br />\n<b>Betreff: %s</b><br />\n<b>Ihre Nachricht: </b><br />%s</font><br />\n"
,    
          
date('D, d.m.Y'),
          
date('H:i:s'),
          
$vorname,
          
$nachname,
          
$eMail,
          
$betreff,
          
$nachricht);
   
   include (
"send.inc.php");

else {
   echo 
"Eingabe fehlt";

?>

//=====================================================

<?php
// send.inc.php
if(stripos($eMail'bcc:')){    // Minimale Kontrolle
    
die("Ung&uuml;ltige Absenderadresse, Mail nicht verschickt<br />"); 
}
$absender "absender@meineDomain.tld" ;
$empfaenger "iempfaenger@meineDomain.tld" ;
$nachricht2 sprintf("<b>Gesendet am: </b>%s<br /><b>um: </b>%s<br /><b>von: </b>%s %s<br />
                         <b>E-Mailadresse: </b>%s<br /><b>Betreff: </b>%s<br /><b>Nachricht: </b><br>%s"
,
                    
date('D, d.m.Y'),
                    
date('H:i:s'),
                    
$vorname,
                    
$nachname,
                    
$eMail,
                    
$betreff,
                    
$nachricht);

$headers  'From:' $absender "\r\n" ;
$headers .= 'Reply-To:' $eMail "\r\n" 
$headers .= 'X-Mailer: PHP/' phpversion() . "\r\n" 
$headers .= 'X-Sender-IP: ' $_SERVER['REMOTE_ADDR'] . "\r\n" 
$headers .= "Content-type: text/html\r\n" ;

//echo "$empfaenger<br /> $betreff<br /> $nachricht2<br />  $headers<br />";
mail($empfaenger$betreff$nachricht2,  $headers) ;
?>
__________________
Gruss
H2O
Mit Zitat antworten
  #20 (permalink)  
Alt 30-10-2007, 16:15
brmartin
 Newbie
Links : Onlinestatus : brmartin ist offline
Registriert seit: Oct 2007
Beiträge: 24
brmartin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von arkos
mach dir kein stress
Nee, Stress mach ich mir mal keinen, nur bin ich manchmal etwas schwer von Begriff.

Zitat:
Original geschrieben von arkos
unterschiedliche empfänger? meinst du, dass die mail gleich an mehrere rausgehen soll?
Genau das meinte ich nicht.
Liese sich ja relativ einfach mit einem $Empfaenger = array
und einer foreach-Schleife lösen.

Nein es soll nur eine Mail versandt werden, es gibt aber mehrere mögliche Empfänger, davon kann man dann einen wählen.

bekomm ich auch noch hin, muß aber erstmal gemacht und getestet werden


Zitat:
Original geschrieben von H2O
Das hat auch mit register_globals nichts zu tun, die stehen ja auf off, wie es sich gehört. Wenn ich deinen Code (fehlerbereinigt und ein wenig meinem Stil angepasst) ausfühere, erhalte ich problemlos die Mail (ohne global!).
Gut ein Fehler im Script, danke.
Aber was war genau der Fehler?
Daß ich aus den POST-Variablen lokale Variablen gemacht habe (isset....)?
Tja, das war dann wohl ganz schöner Mist und ich hab es in deinem erten Post nichtmal verstanden, sorry!

P.S.
Danke fürs bereinigen.
Schau mir heute abend das ganze mal in Ruhe durch, jetzt muß ich arbeiten gehen.

Gruß

Martin
__________________
Greets

Martin

absolut beginner
aber lernwillig
Mit Zitat antworten
  #21 (permalink)  
Alt 30-10-2007, 17:03
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von brmartin
Gut ein Fehler im Script, danke.
Aber was war genau der Fehler?
Daß ich aus den POST-Variablen lokale Variablen gemacht habe (isset....)?
Nein, das mache ich ja auch. Aber arbeite dann mit den lokalen Variablen weiter. Und dass mit dem "fehlerbereinigt" war auch nicht so gemeint. Die einzigen wirkliche Fehler waren, dass $headers bei der ersten ".="-Zuweisung und $REMOTE_ADDR nicht definiert sind. Wenn du irgwendwo am Anfang des Scripts
PHP-Code:
error_reporting(E_ALL
einsetzst, kriegst du dfür auch eine Fehlermeldung.
Der Rest waren unkorrekte HTML-Tags, (<p> ist ein Block-Element und muss geschlossen werden), die aber von den meisten Browsern trotzdem richtig interpretiert werden.
EDIT:
Ich hab es soeben noch mit deinem Orginalcode, aber ohne global probiert, und es funktioniert auch.
__________________
Gruss
H2O
Mit Zitat antworten
  #22 (permalink)  
Alt 30-10-2007, 23:05
brmartin
 Newbie
Links : Onlinestatus : brmartin ist offline
Registriert seit: Oct 2007
Beiträge: 24
brmartin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Abend,

@H2O

Ohoh, irgendwie gieng da einiges schief.
Auf den HTML-Code hab ich bei den ersten Versuchen gar nicht weiter geachtet.
Wenn du meine letzte Version des Formulars ansiehst, da stimmen dann die Tags, aber die HTML-Tags in den Scripts hab ich einfach vergessen.

Was mir gerade noch auffällt:

Du beendes alle Header mit "/r/n"

Ich hab folgendes gelesen:
Zitat:
Edit: korrekte Schreibweise, ü eingepflegt

Anmerkung: Sie müssen die Header mit \r\n trennen, auch wenn einige Unix-MTAs automatisch \n durch \r\n ersetzen (was zu doppeltem \r führt, wenn \r\n verwendet wird).
Daher nur das "/n" bei mir.

Was ist hier jetzt korrekt?
Oder muss hier nach der Methode "testen was passiert" vorgegenagen werden?

P.S.
Ich hab mein altes Script auch nochmal selbst durchlaufen lassen.
Das Ergebnis:
Es klappt
Was war da vorgestern blos los?
__________________
Greets

Martin

absolut beginner
aber lernwillig

Geändert von brmartin (02-11-2007 um 12:31 Uhr)
Mit Zitat antworten
  #23 (permalink)  
Alt 31-10-2007, 10:27
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von brmartin
Sie müssen die Header mit \r\n trennen, auch wenn....
klingt irgendwie eindeutig, oder??

n morgen zusammen.

zu deinen mehreren empfängern... wenns ein und die selbe mail (mailinhalt) sein soll, wirst du ja hoffentlich nicht pro empfänger eine mail absetzen wollen, oder???
__________________
**********
arkos
**********
Mit Zitat antworten
  #24 (permalink)  
Alt 31-10-2007, 12:30
brmartin
 Newbie
Links : Onlinestatus : brmartin ist offline
Registriert seit: Oct 2007
Beiträge: 24
brmartin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von arkos
klingt irgendwie eindeutig, oder??
Eigentlich schon , ohoh, man merkt daß ich krank bin.
Zitat:
Original geschrieben von arkos
zu deinen mehreren empfängern... wenns ein und die selbe mail (mailinhalt) sein soll, wirst du ja hoffentlich nicht pro empfänger eine mail absetzen wollen, oder???
Quatsch, nicht foreach, währe natürlich wie du gesagt hast, pro Empfänger eine Mail, aber ich will ja eh nicht die selbe Mail an mehrere Empfänger.

Ins Formular komm eine Auswahlliste, etwa so:
Zitat:
<p><select name="Liste" size="3">
<option value="1">Empfänger1</option>
<option selected="selected" value="2">Empfänger2</option>
<option value="3">Empfänger3</option>
</select></p>
Empfänger 2 ist standard (daher selected)

Das gibt mir eine $Liste mit einem Wert 1 - 3

Das wird dann in
PHP-Code:
switch ($Liste)
{
   case : 
1
       $empfaenger 
"Empfänger1@meineDomain.tld";
       break;

   case : 
2
       $empfaenger 
"Empfänger2@meineDomain.tld";
       break;

   case : 
3
      $empfaenger 
"Empfänger3@meineDomain.tld";
      break;

   default:
      echo 
"Fehler! kein Empfänger";

Umgesetzt, so zumindest der Gedanke.
default: müsste ich mir ja sparen können, da case: 2 ja im Formular als standard gesettzt ist, oder ist die default zeile zwingend? bin mir da nicht so sicher und schaden kann sie ja eigentlich nicht.

Aber zuerst muß ich mir H2O's Überarbeitung zu Gemüte führen,
gestern abend/nacht hat es nur eine Fehlerausgabe gegeben.

Gruß

Martin
__________________
Greets

Martin

absolut beginner
aber lernwillig
Mit Zitat antworten
  #25 (permalink)  
Alt 31-10-2007, 12:41
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$empfaenger = array("du@domain.tld","er@domain.tld","sie@domain.tld");
$Liste $POST['Liste'];
if (
$empfanger[$Liste])
{
  
mail($empfanger[$LISTE], $betreff$nachricht2,  $headers) ;


btw heißt es richtig:
Code:
<opiton selected>blabla</option>
nicht selected="selected"...

edit: und liste muss dann bei 0 anfangen
__________________
**********
arkos
**********
Mit Zitat antworten
  #26 (permalink)  
Alt 31-10-2007, 13:01
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
btw heißt es richtig:
Code:
<opiton selected>blabla</option>
nicht selected="selected"...
Falsch! In XHTML gibt es keine Attribute ohne Wert, also hat brmartin das schon richtig gemacht!
Mit Zitat antworten
  #27 (permalink)  
Alt 31-10-2007, 13:03
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

is wahr? sorry, is an mir vorbeigegangen....

heißt demnach auch, das "checked" und konsorten so nicht mehr stehen dürfen wa... hm, ich glaub da muss ich eben ma was überarbeiten ...
__________________
**********
arkos
**********
Mit Zitat antworten
  #28 (permalink)  
Alt 31-10-2007, 13:23
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
heißt demnach auch, das "checked" und konsorten so nicht mehr stehen dürfen wa... hm, ich glaub da muss ich eben ma was überarbeiten ...
Richtig. Genau wie du Tags ohne Inhalt mit /> schließen musst, muss jedes Attribut einen Wert besitzen
Mit Zitat antworten
  #29 (permalink)  
Alt 31-10-2007, 13:28
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
... mit /> schließen musst...
OffTopic:

na komm, n bisschen weiß ich schon

__________________
**********
arkos
**********
Mit Zitat antworten
  #30 (permalink)  
Alt 31-10-2007, 14:44
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
OffTopic:

na komm, n bisschen weiß ich schon

OffTopic:
Wenn du das sagst
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 23:06 Uhr.