SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

 
 
Themen-Optionen Ansicht
  #1  
Alt 09.12.2018, 18:56:03
inozwo inozwo ist offline
Anfänger
 
Registriert seit: Jul 2012
Beiträge: 8
Leere Emails über mein Script

Ich habe vor Jahren ein Script in PHP aus Vorlagen gebastelt,
welches die Bestellung aus einem Buchshop als Email versendet.

Die Datei heißt shopmail.php und liegt in einem Unterverzeichnis innerhalb des Shops.

Wenn ich die Datei über den Browser aufrufe, wird eine leere Mail versandt.

Es kommen immer mal wieder leere Emails an (1 oder 2 am Tag),
dh. die shopmail.php wurde aufgerufen, ohne das Daten in das Formular geschrieben wurden. Das Verzeichnis hat eine index.html.

Wie kann ich das einzelne Aufrufen der shopmail.php durch bots verhindern?
robots.txt steht im root. Im root läuft joomla. Bin für jeden Tip dankbar!
inozwo

Mein uraltes Script sieht so aus:

PHP-Code:
<?php
 
// ======= Konfiguration:
 
$mailTo 'an mich';
$mailFrom '"Buchshop " <meine adresse>';
$mailSubject    'Onlinebestellung';
$returnPage 'http://www.xyz.de/buch/shop1/formular-verarbeitet.htm';
$returnErrorPage 'http://www.yxz.de/buch/shop1/fehler-aufgetreten.htm';
$mailText "";
 
// ======= Text der Mail aus den Formularfeldern erstellen:
// Wenn Daten mit method="post" versendet wurden:
if(isset($_POST)) { 
   
// alle Formularfelder der Reihe nach durchgehen:
   
foreach($_POST as $name => $value) {
      
// Wenn der Feldwert aus mehreren Werten besteht:
      // (z.B. <select multiple>)
      
      
if(is_array($value)) {
          
// "Feldname:" und Zeilenumbruch dem Mailtext hinzufügen
          
$mailText .= $name ":\n";
          
// alle Werte des Feldes abarbeiten
          
foreach($value as $valueArray) {
             
// Einrückungsleerzeichen, Wert und Zeilenumbruch 
             // dem Mailtext hinzufügen
             
$mailText .= "   " $valueArray "\n";
          } 
// ENDE: foreach
      
// ENDE: if  
      // Wenn der Feldwert ein einzelner Feldwert ist:
      
else {
      
          
// "Feldname:", Wert und Zeilenumbruch dem Mailtext hinzufügen
          
$mailText .= $name ": " $value "\n";
      } 
// ENDE: else
   
// ENDE: foreach
// if

// ======= Korrekturen vor dem Mailversand 
 
// Wenn PHP "Magic Quotes" vor Apostrophzeichen einfügt:
 
if(get_magic_quotes_gpc()) {
     
// eventuell eingefügte Backslashes entfernen
     
$mailText stripslashes($mailText);
 }
 
// ======= Mailversand
 
// Mail versenden und Versanderfolg merken
$mailSent = @mail($mailTo$mailSubject$mailText"From: ".$mailFrom);
 
// ======= Return-Seite an den Browser senden
 
// Wenn der Mailversand erfolgreich war:
if($mailSent == TRUE) {
   
// Seite "Formular verarbeitet" senden:
   
header("Location: " $returnPage);
}
// Wenn die Mail nicht versendet werden konnte:
else {
   
// Seite "Fehler aufgetreten" senden:
   
header("Location: " $returnErrorPage);
}
 
// ======= Ende
 
exit();
 
?>

das Formular aus dem Shop sieht so aus:
HTML-Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<!-- Lib: C:\Programme\Shop\vorlagen\kasse.htm -->
<meta http-equiv="expires" content="0">
<title>Kasse</title>
blablabla
[B]<form name="Formular" action="http://www.xyz.de/buch/shop1/bin/shopmail.php" method="POST"  onSubmit="return chkForm(this)">[/B]
<h3>Ihre Bestellung</h3>

<table border="0" width="100%" bgcolor="#C0C0C0" cellspacing="0">
<tr>
	<td width="13%" valign="top"><b>Anzahl</b></td>
	<td width="13%" valign="top"><b>Nr</b></td>
	<td width="44%" valign="top"><b>Artikel</b></td>
	<td width="15%" align="right" valign="top"><b>Preis Euro</b></td>
	<td width="15%" align="right" valign="top"><b>Total</b></td>
</tr>
<script language="JavaScript">
<!--
	sArt=parent.getKorb();
	if (sArt.length<1)
	{
		alert('Kein Artikel im Warenkorb!');
		self.location.replace('start.htm');
	}
	gTotal=0.0;
	for (sArti=0; sArti<sArt.length; sArti++)
	{
		putsArt(sArt[sArti]);
	}
        
// --> </script>

<script language="JavaScript"><!--
versand();// --> </script>
<script language="JavaScript"><!--
zuschlag();// --> </script>
<tr>
<td width="13%" valign="top">&nbsp;
</td>
	<td width="13%" valign="top">&nbsp;</td>
	<td width="44%" valign="top">&nbsp;</td>
	<td width="15%" align="right" valign="top">&nbsp;</td>
	<td width="15%" align="right" valign="top">
      <hr>
      <b>Euro <script language="JavaScript"><!--
document.write(getBetr(gTotal));// --> </script>
</b></td>
</tr>
<script language="JavaScript">
<!--
	if (sArt.length>0)
	{
		for (sArti=0; sArti<sArt.length; sArti++)
		{
			document.writeln('<input type="hidden" name="Artikel[]" value="'+sArt[sArti]+'">');
		}
	}
if (aVersand>0.0) document.Formular.Versand.value=getBetr(aVersand);
document.Formular.Zuschlag.value=getBetr(aZuschlag);
document.Formular.Total.value=getBetr(gTotal);
// --> </script>
</table>
<hr>
<table border="0" cellspacing="1" width="100%">
  <tr>
    <td width="100%"><b>Konditionen:</b>
      <p>Alle Preise sind inklusive der gesetzl. geltenden MwSt. zzgl. Versandkosten.
      Die Versandkosten werden individuell
      nach Gewicht berechnet (gerne auch nach
  vorheriger Auskunft per <a href="mailto:info@g-e-h.de"> Email</a> oder Telefon. Bitte rufen Sie uns einfach
      unter Tel.: 675849 an). Grundsätzlich versenden
  wir für Sie so günstig wie möglich und erheben aus diesem Grund bisher keine
      unvorteilhafte Versandkostenpauschale.
      Mit der Büchersendung erhalten Sie eine Rechnung über die zugestellten
      Artikel plus der veranschlagten Versandkosten (abhängig vom Gewicht).&nbsp;
    </td>
  </tr>
</table>
<hr>
<form>
  <table border="0" width="76%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
    <tr>
      <td width="34%"valign="top"><b>Lieferung:</b><br>
        <select size="1" name="Lieferung">
        
        
        <option value="per Post" selected>per Post</option>

          <option>Abholung</option>
        </select>
      </td>
      <td width="39%"valign="top"><b>Zahlung:</b><br>
        <select size="1" name="Zahlung">
        
        
        <option value="Rechnung" selected>Rechnung</option>
<option value="Bankeinzug">Bankeinzug</option>

        <option>Bar</option>

        </select>
      </td>
      <td width="24%" valign="top" rowspan="5">

      </td>
    </tr>
        <tr>
      <td width="34%"valign="top"><br><b>Bei Bankeinzug:</b>
      </td>
      <td width="39%"valign="top">
      </td>
        </tr>
        <tr>
      <td width="34%"valign="top">Kreditinstitut</td>
      <td width="39%"valign="top"><input type="text" name="Bank" size="30" value="">
      </td>
        </tr>
        <tr>
      <td width="34%"valign="top">Bankleitzahl oder BIC</td>
      <td width="39%"valign="top"><input type="text" name="BLZ_oder_BIC" size="30" value="">
      </td>
        </tr>
        <tr>
      <td width="34%"valign="top">Konto-Nr. oder IBAN</td>
      <td width="39%" valign="top"><input type="text" name="KtoNr_oder_IBAN" size="30" value="">
      </td>
        </tr>
  </table>
  <h3>&nbsp;Auftraggeber</h3>
  <table border="0" width="98%" cellspacing="0">
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">&nbsp;</td>
      <td width="73%">&nbsp;</td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">Anrede:</td>
      <td width="73%"><input type="text" name="Anrede" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">Firma:</td>
      <td width="73%"><input type="text" name="Firma" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top"><b>Name:</b></td>
      <td width="73%"><input type="text" name="Name" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top"><b>Vorname:</b></td>
      <td width="73%"><input type="text" name="Vorname" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">Zusatz:</td>
      <td width="73%"><input type="text" name="Zusatz" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top"><b>Strasse u. Hausnummer:</b></td>
      <td width="73%"><input type="text" name="Strasse" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top"><b>PLZ:</b></td>
      <td width="73%"><input type="text" name="PLZ" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top"><b>Ort:</b></td>
      <td width="73%"><input type="text" name="Ort" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top"><b>Land:</b></td>
      <td width="73%"><input type="text" name="Land" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">Telefon:</td>
      <td width="73%"><input type="text" name="Telefon" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top"><b>E-Mail:</b></td>
      <td width="73%"><input type="text" name="EMail" size="30" value=""></td>
    </tr>
    <tr>
      <td width="5%">&nbsp;</td>
      <td width="22%" valign="top">&nbsp;</td>
      <td width="73%">&nbsp;</td>
    </tr>
  </table>
<p><b>Bemerkung:</b><br>
  <textarea rows="5" name="Bemerkung" cols="61"></textarea><br>
  <input type="checkbox" name="AGB" value="ON"> Ich akzeptiere die Allgemeinen Geschäftsbedingungen
(Hier können Sie unsere AGB abrufen: <a href="v" target="_blank">AGB</a>)</p>
<p>Mit dem Abschicken Button können sie kostenpflichtig bestellen:</p>
  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="submit" value="Abschicken" name="B1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="reset"
  value="Zurücksetzen" name="B2"></p>
 
</form>
</body>
</html>
Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP Script erzeugt leere weiße Seite im Internet Explorer Auf der Mauer PHP Grundlagen 8 08.08.2009 17:52:23
Fehler in Script das Inhalt einer .txt Datei (HTML Sourcecode) in Datei schreiben sol RookieXL2 PHP für Fortgeschrittene und Experten 2 08.06.2007 23:58:33
Hilfe bei php/html Script zum öffnen von eMails und klicken eines Links tkjbingmann HTML, CSS und JavaScript Help! 14 26.07.2006 19:26:41
Strings per PHP an ein anderes Script übergeben ? quirrly PHP Grundlagen 18 23.12.2004 15:20:39
Suche "Länder" Script.. Nomad PHP für Fortgeschrittene und Experten 15 25.02.2003 23:00:25


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:38:30 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt