zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Checkbox im Kontaktformular einfügen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 03.10.2018, 20:16
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 19.12.2009
Ort: Ludwigshafen
Beiträge: 12
Dename befindet sich auf einem aufstrebenden Ast
Standard Checkbox im Kontaktformular einfügen

Hallo,

Ich habe zurzeit ein Kontaktformular mit Spamschutz und brauche seid der neuen Datenschutzbestimmungen noch zusätzlich einen Button als Checkbox, das ohne den Hacken die Nachricht nicht versenden werden kann.

Das ist der Originale Code
PHP-Code:
session_start();
    
if (
$_POST['captcha_code'] == $_SESSION['captcha_spam']) {

$zieladresse 'name@name.de';
$absenderadresse 'Name@name.de';
$absendername 'Name';
$betreff 'Kontakt';
$urlDankeSeite 'http://www.danke.de';
$trenner ":\t"

if (
$_SERVER['REQUEST_METHOD'] === "POST") {

$header = array();
$header[] = "From: ".mb_encode_mimeheader($absendername"utf-8""Q")." <".$absenderadresse.">";
$header[] = "MIME-Version: 1.0";
$header[] = "Content-type: text/plain; charset=utf-8";
$header[] = "Content-transfer-encoding: 8bit";
$mailtext "";

foreach (
$_POST as $name => $wert) {
if (
is_array($wert)) {
foreach (
$wert as $einzelwert) {
$mailtext .= $name.$trenner.$einzelwert."\n";
}
} else {
$mailtext .= $name.$trenner.$wert."\n";
}
}
    
mail(
$zieladresse
mb_encode_mimeheader($betreff"utf-8""Q"), 
$mailtext,
implode("\n"$header)
) or die(
"Die Mail konnte nicht versendet werden.");
header("Location: $urlDankeSeite");
exit;
}

header("Content-type: text/html; charset=utf-8");


    } else {
        echo 
'';
    }
?> 
Jetzt habe ich was gefunden für eine Checkbox nur weis ich nicht wie ich beide zum laufen bekomme da ich leider keine Erfahrungen mit PHP habe.


PHP-Code:
if(isset($_POST['Zustimmung'])){ // Wenn Checkbox gecheckt ist
      
$recipient "name@name.de";
      
Header("Location: danke.html");
        
$fmtMailimplode(""file("mail.htt"));
      foreach(
$_POST as $key=> $val) {
        
$fmtResponsestr_replace("<$key>"$val$fmtResponse);
        
$fmtMailstr_replace("<$key>"$val$fmtMail);
      }
      if (
$_POST["access"] == "irregeheim") {
        
mail($recipient$_POST["subject"], $fmtMail);
      }
      echo 
$fmtResponse;
} else { 
// Wenn nicht
    
echo "FEHLER! BITTE ZUSTIMMEN! <a href='#' onClick='javascript:history.back(1)'>Zurück</a>";
}
?> 
Kontaktformular in Html
HTML-Code:
<form action="" method="post" class="text">

Name:<br />
<input type="text" name="Name:" /><br /><br />
E-Mail:<br />
<input type="text" name="E-Mail" /><br /><br />
Nachricht:<br />
<textarea class="text" name="Nachricht" rows="5" cols="40">Ihre Nachricht</textarea><br /><br />
Spamschutz:<br />
<img src="captcha/captcha.php" alt="Captcha" title="Captcha - Bitte Zeichen in das Feld eingeben" width=140 height=40 />
<input type="text" name="captcha_code" size=10 />
<p>
<input type="checkbox" name="Zustimmung" id="Zust">Ja, ich habe die <a  href="datenschutz.html">Datenschutzbedingungen</a>  gelesen.</p>
<input type="submit" value="Senden" />
</p>
</form>
Ich hoffe jemand kann mir helfen.

Gruß
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 03.10.2018, 22:44
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 23.01.2018
Beiträge: 113
basti1012 befindet sich auf einem aufstrebenden Ast
Standard

du brauchst doch eigentlich nur die checkbox isset() function runterrum bauen , mehr brauch man eigentlich nicht
zb so
Code:
<?php
session_start(); 
     
     if(isset($_POST['Zustimmung'])){ // Wenn Checkbox gecheckt ist 
  
    
     
if ($_POST['captcha_code'] == $_SESSION['captcha_spam']) { 

$zieladresse = 'name@name.de'; 
$absenderadresse = 'Name@name.de'; 
$absendername = 'Name'; 
$betreff = 'Kontakt'; 
$urlDankeSeite = 'http://www.danke.de'; 
$trenner = ":\t";  

if ($_SERVER['REQUEST_METHOD'] === "POST") { 

$header = array(); 
$header[] = "From: ".mb_encode_mimeheader($absendername, "utf-8", "Q")." <".$absenderadresse.">"; 
$header[] = "MIME-Version: 1.0"; 
$header[] = "Content-type: text/plain; charset=utf-8"; 
$header[] = "Content-transfer-encoding: 8bit"; 
$mailtext = ""; 

foreach ($_POST as $name => $wert) { 
if (is_array($wert)) { 
foreach ($wert as $einzelwert) { 
$mailtext .= $name.$trenner.$einzelwert."\n"; 
} 
} else { 
$mailtext .= $name.$trenner.$wert."\n"; 
} 
} 
     
mail( 
$zieladresse,  
mb_encode_mimeheader($betreff, "utf-8", "Q"),  
$mailtext, 
implode("\n", $header) 
) or die("Die Mail konnte nicht versendet werden."); 
header("Location: $urlDankeSeite"); 
exit; 
} 

header("Content-type: text/html; charset=utf-8"); 


    } else { 
        echo ''; 
    } 
    
     } else { // Wenn nicht 
    echo "FEHLER! BITTE ZUSTIMMEN! <a 
 onClick='javascript:history.back(1)'>Zurück</a>"; 
} 
     
     
    

    
?>

Geändert von basti1012 (03.10.2018 um 22:46 Uhr)
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 29.10.2018, 18:52
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 19.12.2009
Ort: Ludwigshafen
Beiträge: 12
Dename befindet sich auf einem aufstrebenden Ast
Standard

Super hat geklappt

Vielen Dank
Mit Zitat antworten
Antwort

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tabelle für Smartphone weniger Zellen Zeigen seerose Barrierefreiheit 6 18.10.2015 16:28
Kontaktformular Eingabefelder linksbündig ewaldo CSS 4 22.05.2012 23:37
PHP Kontaktformular und verschiedene Browser HTMLLernender (X)HTML 1 22.01.2010 12:08
div umgibt checkbox..jquery toggle um checkbox zu checken? sepp88 Javascript & Ajax 7 12.01.2010 22:26
Über Checkbox gleichzeitig ein Textfeld aktivieren Kalli 1976 (X)HTML 4 15.05.2007 17:32


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:40 Uhr.