abfrage der AGB checkbox
showav
- php
0 Malcolm Beck´s0 showav
0 Klawischnigg
Hallo zusammen. Ich suche nun schon sehr lange und finde dabei immer wieder für mich nicht brauchbares. Nun hoffe ich das ich auf diesem wege evtl an mein ziel kommen.
Ich habe mir ein Formular erstellt das schon mit abfragen usw. fertig ist. Nun ist mir aufgefallen das ich vergessen habe eine checkbox einzurichten für die AGB´s
Checkbox selber kein problem.
Formular: Anmeldeformular
<div align="right"></div>
</td>
<td>
<div align="left">
<input type="checkbox" name="AGB" <?isset($_POST['AGB']) ? print "checked" : ""?>/>
<label for="checkbox"></label>*Ich akzeptiere die AGB
</div>
</td>
</tr>
nachgetragen und jetzt muss ich noch die Abfrage erstellen. Da genau ist mein Problem.
Es soll sein das nachdem man alles ausgefüllt hat die AGB checkbox anklicken muss damit das Formular gesendet wird. Wenn nicht gechecked dann soll stehen. Bitte akzeptieren sie unsere AGB!
Hoffe ihr könnt mir helfen
hi,
Es soll sein das nachdem man alles ausgefüllt hat die AGB checkbox anklicken muss damit das Formular gesendet wird. Wenn nicht gechecked dann soll stehen. Bitte akzeptieren sie unsere AGB!
Wo genau ist hier das Problem? Die abfrage mit PHP, oder die Meldung auszugeben?
Prüfe die eingehenden Formularinhalte direkt beim Eingang und speichere nicht ausgefüllte Pflichtfelder in einem Array.
Das Array ist dann doppelt nützlich -- du hast einmal alle Fehler Zentral an einer stelle, die du dann einfach mit einer Schleife durchgehen und anzeigen kannst, und du kannst dem Script sagen, dass, solange dieses Array existiert, dass Formular nicht gesendet werden darf.
mfg
Ja sorry es geht um die Abfrage in PHP
die inhalte des formulares werden schon ausgewertet und schön struckturiert an meine mail versand nur wie gesagt wurde vergessen eine AGB checkbox einzurichten die Pflicht sein muss!
Array?? keine Ahnung von sorry^^. Bin neu auf dem gebiet und mir hat da ein freund geholfen. Der ist leider auf URlaub und kann ich nicht befragen dazu :)
hi,
Ja sorry es geht um die Abfrage in PHP
Array?? keine Ahnung von sorry^^.
Kein Problem. Irgendwo haben wir alle mal angefangen.
Also, als erstes prüfst du in deinem Script die eingehenden POST-Werte. Entsprechen diese deinen vorstellungen, oder nicht?
Beispiel (ungetestet, habe gerade keinen Apache zur Hand):
$_error = array(); /* Error-Array initialisieren */
$Errorfields = ''; /* In dieser Variable werden eventuelle Fehlermeldungen gespeichert */
if(empty($_POST['name'])) /* Name ist Pflichtfeld (eine Simple Prüfung) */
{
$_error['name'] = 'Name fehlt';
}
if(empty($_POST['agbcheckbox'])) /* wenn AGB nicht angehakt wurde */
{
$_error['agbcheckbox'] = 'Bitte akzeptieren sie unsere AGB';
}
// Nach dem alle Eingaben geprüft sind, durchlaufen wir das Error-Array, falls es Meldungen gibt.
if ($_error) /* Wenn es einen Fehler gab */
{
foreach ($_error as $errorKey => $errorVal)
$Errorfields .= '<p>Feld:' . $errorKey . '; Fehler:' . $errorVal . '</p>';
}
echo $Errorfields; /* hier sollten im Idealfall die fehleingaben stehen */
Und dann kannst du mit $Errorfields
auch festlegen, dass solange diese Variable einen Wert enthält (true zurückgibt), dass Formular nicht verschickt werden darf.
mfg
Hmm kann man das auch ohne diesen Array machen.
Bzw. muss mann dann nicht für jedes Formularfeld ein Array einrichten???
Wenn ja muss ich dir wohl das gesamte formular hier posten oder :)
Wie gesagt ein freund von mir hat mir das ganze PHP erstellt damit mein Formular auch halbwegs brauchbare werte aufweist. checked ob name mind. 2 zeichen hat.. Telefonnr. auch nur aus zahlen besteht... E-mail brauchbares format etc...
Jetzt hab ich mit meinem wissen mal eben die checkbox eingefügt und will nun halt nur noch für die checkbox eine abfrage haben!
Damit man das formular nicht verschicken kann ohne AGB checkbox gechecked zu haben :)ATM kann man das Formular auch verschicken wenn AGB nicht angeklickt wurde
mfg
Hmm kann man das auch ohne diesen Array machen.
Bzw. muss mann dann nicht für jedes Formularfeld ein Array einrichten???
Wenn ja muss ich dir wohl das gesamte formular hier posten oder :)
Wie gesagt ein freund von mir hat mir das ganze PHP erstellt damit mein Formular auch halbwegs brauchbare werte aufweist. checked ob name mind. 2 zeichen hat.. Telefonnr. auch nur aus zahlen besteht... E-mail brauchbares format etc...
Jetzt hab ich mit meinem wissen mal eben die checkbox eingefügt und will nun halt nur noch für die checkbox eine abfrage haben!
Damit man das formular nicht verschicken kann ohne AGB checkbox gechecked zu haben :)ATM kann man das Formular auch verschicken wenn AGB nicht angeklickt wurde
mfg
hab mal einen versuch gestartet
<?php
if (isset($_POST['AGB']))
{
if ($bln_AGB_Empty == TRUE)
{
echo "<span style="color:red">Bitte akzeptieren Sie unsere AGB´s!</span>";
}
}
?>
:)
hi,
Hmm kann man das auch ohne diesen Array machen.
Ja, aber auch mit dem Array ist es kein Problem, wenn du nur die Checkbox prüfst.
Mit dem Array hast du aber die möglichkeit, dein jetziges Script um dieses Feature zu erweitern, aber
Wenn ja muss ich dir wohl das gesamte formular hier posten oder :)
es würde dir jedenfalls nicht Schaden, wenn ein paar Kritische Augen das ganze begutäugeln ;)
Damit man das formular nicht verschicken kann ohne AGB checkbox gechecked zu haben :)ATM kann man das Formular auch verschicken wenn AGB nicht angeklickt wurde
Zeig einfach mal dein Script her, dann können wir das hier Schritt für Schritt durchgehen, was du wie machen kannst.
mfg
<?php
class EmailAddressValidator
{
function check_email_address($strEmailAddress)
{
if (get_magic_quotes_gpc())
{
$strEmailAddress = stripslashes($strEmailAddress);
}
if (preg_match('/[\x00-\x1F\x7F-\xFF]/', $strEmailAddress))
{
return false;
}
if (!$this->check_text_length($strEmailAddress, 3, 256))
{
return false;
}
$intAtSymbol = strrpos($strEmailAddress, '@');
if ($intAtSymbol === false)
{
return false;
}
$arrEmailAddress[0] = substr($strEmailAddress, 0, $intAtSymbol);
$arrEmailAddress[1] = substr($strEmailAddress, $intAtSymbol + 1);
$arrTempAddress[0] = preg_replace('/./','',$arrEmailAddress[0]);
$arrTempAddress[0] = preg_replace('/"[^"]+"/','',$arrTempAddress[0]);
$arrTempAddress[1] = $arrEmailAddress[1];
$strTempAddress = $arrTempAddress[0] . $arrTempAddress[1];
if (strrpos($strTempAddress, '@') !== false)
{
return false;
}
if (!$this->check_local_portion($arrEmailAddress[0]))
{
return false;
}
if (!$this->check_domain_portion($arrEmailAddress[1]))
{
return false;
}
return true;
}
function check_local_portion($strLocalPortion)
{
if (!$this->check_text_length($strLocalPortion, 1, 64))
{
return false;
}
$arrLocalPortion = explode('.', $strLocalPortion);
for ($i = 0, $max = sizeof($arrLocalPortion); $i < $max; $i++)
{
if (!preg\_match('.^('. '([A-Za-z0-9!#$%&\'\*+/=?^\_`{|}~-]'
. '[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]{0,63})'
.'|'
. '("[^\"]{0,62}")'
.')$.'
,$arrLocalPortion[$i]))
{
return false;
}
}
return true;
}
function check_domain_portion($strDomainPortion)
{
if (!$this->check_text_length($strDomainPortion, 1, 255))
{
return false;
}
if (preg_match('/^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])'
.'(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}$/'
,$strDomainPortion) ||
preg_match('/^[(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])'
.'(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}]$/'
,$strDomainPortion)) {
return true;
}
else
{
$arrDomainPortion = explode('.', $strDomainPortion);
if (sizeof($arrDomainPortion) < 2)
{
return false;
}
for ($i = 0, $max = sizeof($arrDomainPortion); $i < $max; $i++)
{
if (!$this->check_text_length($arrDomainPortion[$i], 1, 63))
{
return false;
}
if (!preg_match('/^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|'
.'([A-Za-z0-9]+))$/', $arrDomainPortion[$i]))
{
return false;
}
if ($i == $max - 1)
{
if (strlen(preg_replace('/[0-9]/', '', $arrDomainPortion[$i])) <= 0)
{
return false;
}
}
}
}
return true;
}
function check_text_length($strText, $intMinimum, $intMaximum)
{
$intTextLength = strlen($strText);
if (($intTextLength < $intMinimum) || ($intTextLength > $intMaximum))
{
return false;
} else {
return true;
}
}
}
$bln_Error = FALSE;
$str_Preg = "";
$str_Mail_To = "HIER MEINE MAIL ADRESSE DRIN";
$str_Mail_From = "AUSGABE ABSENDER zu meinem OUTLOOK";
$str_Mail_Subject = "";
$str_Mail_Content = "";
$str_Mail_Header = "From: ".$str_Mail_From."\r\n";
$str_Mail_Header .= "To: ".$str_Mail_To."\r\n";
$str_Mail_Header .= "MIME-Version: 1.0\r\n";
$str_Mail_Header .= "Content-Type: text/plain; charset="ISO-8859-1"\r\n";
$str_Mail_Header .= "Content-Transfer-Encoding: quoted-printable\r\n";
$str_Name = isset($_POST['name']) ? $_POST['name'] : "";
$bln_Name_Empty = FALSE;
$bln_Name_Error = FALSE;
$str_Vorname = isset($_POST['vorname']) ? $_POST['vorname'] : "";
$bln_Vorname_Empty = FALSE;
$bln_Vorname_Error = FALSE;
$str_Telefonnummer = isset($_POST['telefonnummer']) ? $_POST['telefonnummer'] : "";
$bln_Telefonnummer_Empty = FALSE;
$bln_Telefonnummer_Error = FALSE;
$str_Email = isset($_POST['e-mail']) ? $_POST['e-mail'] : "";
$bln_Email_Empty = FALSE;
$bln_Email_Error = FALSE;
$bln_Workshop_Empty = FALSE;
$bln_Level_Empty = FALSE;
$str_Nachricht = isset($_POST['nachricht']) ? $_POST['nachricht'] : "";
if (isset($_POST['sent']))
{
$str_Mail_Content = "Neue Anmeldung auf www.sensnes-dance.com:\n\n";
if (empty($_POST['name']))
{
$bln_Name_Empty = TRUE;
$bln_Error = TRUE;
}
else
{
$str_Preg = "^([a-z]|[A-Z]|á|é|í|ó|ú|Á|É|Í|Ó|Ú|à|è|ì|ò|ù|À|È|Ì|Ò|Ù| )*$";
if (strlen(trim($_POST['name'])) >= 2 and preg_match("/$str_Preg/", trim($_POST['name'])))
{
$str_Mail_Content .= "Name: " . $_POST['name'] . "\n";
}
else
{
$bln_Name_Error = TRUE;
$bln_Error = TRUE;
}
}
if (empty($_POST['vorname']))
{
$bln_Vorname_Empty = TRUE;
$bln_Error = TRUE;
}
else
{
$str_Preg = "^([a-z]|[A-Z]|á|é|í|ó|ú|Á|É|Í|Ó|Ú|à|è|ì|ò|ù|À|È|Ì|Ò|Ù| )*$";
if (strlen(trim($_POST['vorname'])) >= 2 and preg_match("/$str_Preg/", trim($_POST['vorname'])))
{
$str_Mail_Content .= "Vorname: " . $_POST['vorname'] . "\n";
}
else
{
$bln_Vorname_Error = TRUE;
$bln_Error = TRUE;
}
}
if (empty($_POST['telefonnummer']))
{
$bln_Telefonnummer_Empty = TRUE;
$bln_Error = TRUE;
}
else
{
$str_Preg = "[a-zA-Z]";
if (preg_match("/$str_Preg/", trim($_POST['telefonnummer'])))
{
$bln_Telefonnummer_Error = TRUE;
$bln_Error = TRUE;
}
else
{
$str_Mail_Content .= "Telefonnummer: " . $_POST['telefonnummer'] . "\n";
}
}
if (empty($_POST['e-mail']))
{
$bln_Email_Empty = TRUE;
$bln_Error = TRUE;
}
else
{
$validator = new EmailAddressValidator;
if ($validator->check_email_address($_POST['e-mail']))
{
$str_Mail_Content .= "E-mail: " . $_POST['e-mail'] . "\n";
}
else
{
$bln_Email_Error = TRUE;
$bln_Error = TRUE;
}
}
if ($_POST['workshop']=="Bitte wählen Sie aus!")
{
$bln_Workshop_Empty = TRUE;
$bln_Error = TRUE;
}
else
{
$str_Mail_Content .= "Workshop: " . $_POST['workshop'] . "\n";
}
if ($_POST['level']=="Bitte wählen Sie aus!")
{
$bln_Level_Empty = TRUE;
$bln_Error = TRUE;
}
else
{
$str_Mail_Content .= "Level: " . $_POST['level'] . "\n";
}
if (!empty($_POST['nachricht']))
{
$str_Mail_Content .= "\nNachricht: " . $_POST['nachricht'] . "\n\n";
}
if (isset($_POST['checkbox']))
{
$str_Mail_Content .= "Newsletter abonieren: JA\n";
}
else
{
$str_Mail_Content .= "Newsletter abonieren: NEIN\n";
}
if ($bln_Error == FALSE)
{
$str_Mail_Content .= "\n" . "Visitor IP: " . $_SERVER["HTTP_X_REMOTECLIENT_IP"];
$str_Mail_Subject = "Anmeldung fuer " . $_POST['workshop'] . " " . $_POST['level'];
if (mail($str_Mail_To, $str_Mail_Subject, $str_Mail_Content, $str_Mail_Header))
{
echo "<p align="center" class="style16 style5">Danke für Deine Anmeldung. Wir freuen uns Dich bei uns in den Workshops begrüßen zu dürfen! Nach Deiner Anmeldung erhälst Du binnen eines Tages eine Bestätigungsmail, mit welcher Dein Workshopplatz gesichert ist.</p>";
}
else
{
echo "<p align="center" class="style16 style5">Aufgrund eines technischen Problems, konnte Deine Anmeldung leider nicht registriert werden...</p>";
}
}
}
if (isset($_POST['sent']) and $bln_Error == FALSE)
{
}
else
{
?>
!!!!!HIER FÄNGT DANN DAS FORMULAR AN !!!!
!!!!!HIER HÖRT ES DANN AUF!!!!!
<?php
} /* end if*/
?>
so das mal das gesamte mit allem drum und dran^^
Formular poste ich gleich danach da das ganze zu lange ist sonst :)
bin gespannt :)
<form method="post" action="<?=$\_SERVER['PHP\_SELF']?>" enctype="multipart/form-data" accept-charset="UTF-8">
<table width="90%" border="0" align="center" cellpadding="6" cellspacing="0">
<tr>
<td>
<div align="right">
<label for="name">Name*</label>
</div>
</td>
<td>
<div align="left">
<input name="name" type="text" size="35" maxlength="50" value="<?=$str_Name?>" />
<?php
if (isset($\_POST['sent']))
{
if ($bln\_Name\_Empty == TRUE)
{
echo "<span style=\"color:red\">Name darf nicht leer sein!</span>";
}
if ($bln\_Name\_Error == TRUE)
{
echo "<span style=\"color:red\">Name darf nur aus Buchstaben bestehen! (mind. 2)</span>";
}
}
?>
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
<label for="vorname">Vorname*</label>
</div>
</td>
<td>
<div align="left">
<input name="vorname" type="text" size="35" maxlength="40" value="<?=$str_Vorname?>" />
<?php
if (isset($\_POST['sent']))
{
if ($bln\_Vorname\_Empty == TRUE)
{
echo "<span style=\"color:red\">Vorname darf nicht leer sein!</span>";
}
if ($bln\_Vorname\_Error == TRUE)
{
echo "<span style=\"color:red\">Vorname darf nur aus Buchstaben bestehen! (mind. 2)</span>";
}
}
?>
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
<label for="telefonnummer">Telefonnummer*</label>
</div>
</td>
<td>
<div align="left">
<input name="telefonnummer" type="text" size="35" maxlength="20" value="<?=$str_Telefonnummer?>" />
<?php
if (isset($\_POST['sent']))
{
if ($bln\_Telefonnummer\_Empty == TRUE)
{
echo "<span style=\"color:red\">Telefonnummer darf nicht leer sein!</span>";
}
if ($bln\_Telefonnummer\_Error == TRUE)
{
echo "<span style=\"color:red\">Telefonnummer darf keine Buchstaben enthalten!</span>";
}
}
?>
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
<label for="e-mail">E-mail*</label>
</div>
</td>
<td>
<div align="left">
<input name="e-mail" type="text" size="35" maxlength="256" value="<?=$str_Email?>" />
<?php
if (isset($\_POST['sent']))
{
if ($bln\_Email\_Empty == TRUE)
{
echo "<span style=\"color:red\">E-mail darf nicht leer sein!</span>";
}
if ($bln\_Email\_Error == TRUE)
{
echo "<span style=\"color:red\">Ungültige E-mail eingegeben!</span>";
}
}
?>
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
<label for="workshop">Workshop*</label>
</div>
</td>
<td>
<div align="left">
<select name="workshop">
<option selected>Bitte wählen Sie aus!</option>
<option>Ladies only</option>
<option>Men only</option>
<option>Couples (Paare)</option>
</select>
<select name="level">
<option selected>Bitte wählen Sie aus!</option>
<option>Schnupperworkshop 10.02</option>
<option>Schnupperworkshop 17.02</option>
<option>Schnupperworkshop 24.02</option>
<option>Anfänger</option>
<option>Fortgeschrittene 1</option>
<option>Fortgeschrittene 2</option>
<option>Fortgeschrittene 3</option>
<option>Fortgeschrittene 4</option>
<option>Fortgeschrittene 5</option>
<option>Fortgeschrittene 6</option>
<option>Specials</option>
</select>
<?php
if (isset($\_POST['sent']))
{
if ($bln\_Workshop\_Empty == TRUE && $bln\_Level\_Empty == TRUE)
{
echo "<span style=\"color:red\">Bitte wähle eine Workshop-Art und Level aus!</span>";
}
if ($bln\_Workshop\_Empty == TRUE && $bln\_Level\_Empty == FALSE)
{
echo "<span style=\"color:red\">Bitte wähle eine Workshop-Art aus!</span>";
}
if ($bln\_Workshop\_Empty == FALSE && $bln\_Level\_Empty == TRUE)
{
echo "<span style=\"color:red\">Bitte wähle einen Workshop-Level aus!</span>";
}
}
?>
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
<label for="nachricht">Nachricht</label>
</div>
</td>
<td>
<div align="left">
<textarea name="nachricht" cols="27" rows="5"><?=$str_Nachricht?></textarea>
</div>
</td>
</tr>
<tr>
<td>
<div align="right"></div>
</td>
<td>
<div align="left">
<input type="checkbox" name="checkbox" <?isset($_POST['checkbox']) ? print "checked" : ""?>/>
<label for="checkbox">Wollen Sie unseren Newsletter abonnieren?</label>
</div>
</td>
</tr>
<tr>
<td>
<div align="right"></div>
</td>
<td>
<div align="left">
<input type="checkbox" name="AGB" <?isset($_POST['AGB']) ? print "checked" : ""?>/>
<label for="checkbox"></label>*Ich akzeptiere die AGB
<?php
if (isset($_POST['AGB']))
{
if ($bln_AGB_Empty == TRUE)
{
echo "<span style="color:red">Bitte akzeptieren Sie unsere AGB´s!</span>";
}
}
?>
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
<input type="hidden" value="1" name="sent">
</div>
</td>
<td>
<div align="left">
<input type="reset" name="Reset" value="Reset" />
<input name="Senden" type="submit" value="Senden" />
</div>
</td>
</tr>
</table>
</form>
hi,
$str_Nachricht = isset($_POST['nachricht']) ? $_POST['nachricht'] : "";
<textarea name="nachricht" cols="27" rows="5"><?=$str_Nachricht?></textarea>
Kannst du bitte mal folgendes in deinem Interesse testen?
Zeilen einzeln in die eingabefelder:
<script type="text/javascript">alert("Test")</script>
<script>alert("Test")</script>
<script>alert('Test')</script>
Einfach mal die Eingabefelder Schritt für Schritt prüfen, was passiert.
mfg
Sorry fürs nicht melden bis jetzt hab einige probleme mit PC gehabt und mir ist fast meine Festplatte abgeraucht. Glück gehabt :)
Danke nochmals für deine hilfe aber meine Frau deren Bruder hat einen bekannten der mir das direkt machen kann :)
ich möchte mich bei dir sehr für deine angebotene Hilfe bedanken echt nett.
Wünsche dir noch einen schönen tag und vllt. liest man sich mal wieder :)
Lg
hi,
Wünsche dir noch einen schönen tag
Danke, wünsche ich dir auch, und
und vllt. liest man sich mal wieder :)
spätestens, wenn
meine Frau deren Bruder hat einen bekannten der mir das direkt machen kann :)
das neue Script Fertig ist, hoffe ich doch ;)
mfg
hi,
so das mal das gesamte mit allem drum und dran^^
Formular poste ich gleich danach da das ganze zu lange ist sonst :)
bin gespannt :)
Das ist ja'n Ordentlicher Happen -- nur leider kein schöner (Sorry, nicht Persönlich nehmen) :)
Weder das PHP, noch das HTML.
Dieses Formular würde mit weniger als der hälfte an Script auskommen, als jetzt, zumal da auch sehr viel hin und her kopiert wird, Bspw. wird $_POST['irgendwas']
in eine normale Variable kopiert, Grundlos, wo zudem die Gefahr besteht, dass man im weiteren Scriptverlauf unter umständen vergisst, dass der Inhalt dieser Variable Usereingaben und somit Potentiell (mMn immer) Schädlich sind.
Kurz: wenn du Lust hast, können wir das ganze Überarbeiten, aber dann von Grund auf und übersichtlich ;)
Ein Mini-Tutorial.
Und ohne eine Monster-Klasse, nur um ein eMail-Feld zu validieren, was ohne hin nahezu unmöglich ist.
Nur mal ein Bsp., wie die Prüfung einer eMail-Adresse aussehen kann:
function check_email ($adr) {
$reg = '^([^\s@,:"<>]+)@([^\s@,:"<>]+\.[^\s@,:"<>.\d]{2,12}|(\d{1,3}\.){3}\d{1,3})$';
return (preg_match("/$reg/",$adr,$part)) ? $part : false;
}
Prüft auf das mindeste ("text@text"), und gut ist.
Wenn du es lernen willst, können wir das gerne machen. Ansonsten sollte mein gepostetes Bsp. deine Anforderungen genügen.
mfg
Ich nehme gerne deine hilfe in anspruch wie würdest du das denn anstellen wollen?
Keine angst nehme das nicht persönlich da es ein freund für mich gemacht hat der aber sehr lange schon mit dem ganzen aufgehört hat. Evtl daher das zuviel gemacht wurde.
Wie gesagt ich kaum ahnung von :)
hi,
Ich nehme gerne deine hilfe in anspruch wie würdest du das denn anstellen wollen?
Schritt für Schritt. Oder eilt es sehr mit diesem Formular?
Keine angst nehme das nicht persönlich da es ein freund für mich gemacht hat der aber sehr lange schon mit dem ganzen aufgehört hat. Evtl daher das zuviel gemacht wurde.
Ich habe unten ein Paar Zeilen gepostet, wenn die Tests Positiv verlaufen, weisst du bescheid ;)
Wie gesagt ich kaum ahnung von :)
Was heisst kaum? Wo können wir dich abholen (wissenstechnisch)?
mfg
Hi there,
Es soll sein das nachdem man alles ausgefüllt hat die AGB checkbox anklicken muss damit das Formular gesendet wird. Wenn nicht gechecked dann soll stehen. Bitte akzeptieren sie unsere AGB!
Is halt immer toll, den Anwender zu gängeln, gell? Rechtlich ist das sowas von wurscht, also, warum lässt Du es nicht sein?
Hi!
Es soll sein das nachdem man alles ausgefüllt hat die AGB checkbox anklicken muss damit das Formular gesendet wird. Wenn nicht gechecked dann soll stehen. Bitte akzeptieren sie unsere AGB!
Is halt immer toll, den Anwender zu gängeln, gell? Rechtlich ist das sowas von wurscht, also, warum lässt Du es nicht sein?
Könntest du das bitte näher ausführen? Bisher war ich der Meinung, dass die AGB (deren Inhalt ist erst einmal egal) nur dann wirksamer Vertragsbestandteil werden, wenn sie beim Vertragsabschluss bekannt gewesen waren. Da sie meist irgendwo anders stehen und nicht immer bei( jede)m eigentlichen Vertragsgegenstand, lässt man sich deren Kenntnis bestätigen.
Lo!
Hi there,
Könntest du das bitte näher ausführen? Bisher war ich der Meinung, dass die AGB (deren Inhalt ist erst einmal egal) nur dann wirksamer Vertragsbestandteil werden, wenn sie beim Vertragsabschluss bekannt gewesen waren. Da sie meist irgendwo anders stehen und nicht immer bei( jede)m eigentlichen Vertragsgegenstand, lässt man sich deren Kenntnis bestätigen.
Möglicherweise hat sich das ja mittlerweile geändert, aber ich kann mich erinnern, daß es in den Achtziger Jahren des letzten Jahrhunderts diesbezgl. eine Diskussion gegeben hat, weil die Firma Ashton Tate beim Start von dBase und Framework ab der Version 2 den Anwender mit dem Betätigen der Return-Taste quasi genötigt hat, allen möglichen und unmöglichen Bedingungen für den Gebrauch der Software zuzustimmen. (Ohne dieses Betätigen wäre ein Start gar nicht möglich gewesen.) Das wurde damals als rechtlich irrelevant erkannt. (Nicht in den USA, afaik war das dort wirksam, wenngleich mir auch kein Verfahren bekannt ist, in dem das dann eine Rolle gespielt hätte)
Ich sehe da durchaus Parallelen zum Anklickenmüssen der AGBs. Mag sein, daß daß das Landgericht Hamburg anders sieht...;)
Hello,
Könntest du das bitte näher ausführen? Bisher war ich der Meinung, dass die AGB (deren Inhalt ist erst einmal egal) nur dann wirksamer Vertragsbestandteil werden, wenn sie beim Vertragsabschluss bekannt gewesen waren. Da sie meist irgendwo anders stehen und nicht immer bei( jede)m eigentlichen Vertragsgegenstand, lässt man sich deren Kenntnis bestätigen.
Möglicherweise hat sich das ja mittlerweile geändert, aber ich kann mich erinnern, daß es in den Achtziger Jahren des letzten Jahrhunderts diesbezgl. eine Diskussion gegeben hat, weil die Firma Ashton Tate beim Start von dBase und Framework ab der Version 2 den Anwender mit dem Betätigen der Return-Taste quasi genötigt hat, allen möglichen und unmöglichen Bedingungen für den Gebrauch der Software zuzustimmen. (Ohne dieses Betätigen wäre ein Start gar nicht möglich gewesen.) Das wurde damals als rechtlich irrelevant erkannt. (Nicht in den USA, afaik war das dort wirksam, wenngleich mir auch kein Verfahren bekannt ist, in dem das dann eine Rolle gespielt hätte)
Das tun solche Leute, wie z.B. Microsoft und Adobe auch heute noch. Nur haben die inzwischen Gerichte auf ihrere "Liste", die auch in ihrem Sinne "Recht" sprechen. Wie diese Gerichte zu dieser Rechtsauffassung (auf diese "Liste") kommen, weiß ich leider nicht.
Da in dem in diesem OriginalPosting beschriebenen Fall der Vertrag aber nur dann zustande kommen soll, wenn alle Bedingungen zutreffen, also auch die AGB zur Kenntnis gelangt sind und akzeptiert wurden, wäre das nicht der von Dir beschriebene Fall von Ashton Tate (oder der heutigen Praxis von M$, Adobe, etc.).
Allerdings können Systeme immer versagen. Es wäre z.B. denkbar, dass ein Besucher noch Teile einer Webseite in seinem Browser-Cache hat und diese aus welchem Grund auch immer, im entscheidenen Moment nicht neu geladen werden, die Abfrage für die AGB also nicht schlüssig bewiesen werden kann.
Um diese zu beweisen, wäre eine unabhängige, glaubwürdige Beobachterinstanz notwendig, die die Funktionstüchtigkeit der Webseite ununterbrochen überwacht und nachher als Zeuge zur Verfügung steht.
Wäre ich Anwalt des Kunden, würde ich erst einmal die Kontinuität der Webseite bestreiten. Kommt diese auch nur zu Bruchteilen aus einer dynamischen Ressource (Datenbank, PHP, Perl ASPX,...), würde ich bestreiten, dass dem Besucher in einem Zeitpunkt X genau die Anzeige ABC auf seinem Monitor gezeigt worden ist.
Usw., usw. ...
Welche Fehlermöglichkeiten es alle gibt, wisst Ihr selber.
Es ist nahezu unmöglich, dass ein Anbieter einen wirklichen Beweis antreten kann, und tut er es vermeintlich, hat er sich vermutlich strafbar gemacht bezüglich der Datenschutzgesetze. Er darf ohne das Einverständnis des Betroffenen keine personenbezogenen Daten speichern. Und genau hier beißt sich die Katz in den Schwanz.
Um also wirksam AGB zu vereinbaren, müsste er diese besser per Post(-Identverfahren) versenden und sich die Rückmeldung zum Kunden gut aufheben.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi!
[...] die Firma Ashton Tate beim Start von dBase und Framework ab der Version 2 den Anwender mit dem Betätigen der Return-Taste quasi genötigt hat, allen möglichen und unmöglichen Bedingungen für den Gebrauch der Software zuzustimmen.
Das ist wie Tom schon andeutete ein anderer Fall. Nach meinem angelesenen Wissensstand ist es so, dass da ein Dritter, nämlich der Softwarehersteller, versucht, weitere Bedingungen einzufügen, die beim Kaufvertrag, der zwischen dem Anwender und dem Händler geschlossen wurde, kein Bestandteil waren. Erst recht nicht, wenn sie aufgrund einer verschlossenen Packung nicht sichtbar waren. Sie werden in Deutschlang auch nicht nachträglich gültig, weil allein durch den Kauf und die Nutzung der Software keine vertragliche Beziehung zwischen dem Softwarehersteller und dem Anwender entsteht.
Bei den AGB eines Händlers ist es so, dass diese als Vertragsbestandteil des direkten Vertrages zwischen dem Kunden und dem Händler wirksam werden sollen. Und die müssen dann (zumindest im Streitfall) nachweisbar bekannt gewesen sein.
Lo!
Hi there,
Das ist wie Tom schon andeutete ein anderer Fall. [...]
Bei den AGB eines Händlers ist es so, dass diese als Vertragsbestandteil des direkten Vertrages zwischen dem Kunden und dem Händler wirksam werden sollen. Und die müssen dann (zumindest im Streitfall) nachweisbar bekannt gewesen sein.
Magst recht haben, ich werd' dem aber nachgehen, wenn ich etwas Zeit habe. Das Anklicken der AGBs scheint mir aber, wie Tom erwähnt hat, eben auch von der anderen, der technischen Seite her, rechtlich nicht viel herzugeben (Auch wenn ich einräume, daß bei meinem ersten Posting nicht bedacht zu haben).
Wie will ich nachweisen, daß der Kunde das tatsächlich angeklickt hat? Ich habe einige Male als gerichtlich beeideter Sachverständiger in "EDV-Prozessen" gearbeitet und weiss daher, wie es um die Glaubwürdigkeit von Einträgen in Datenbanken (und um nichts anderes geht es da ja im Prinzip) vor Gericht bestellt ist.
Dem Richter und den Anwälten kannst Du ja erzählen, daß man nur weiterkommt, wenn das und das angeklickt etc. wurde, aber den Sachverständigen kannst Du damit normalerweise nicht täuschen. Das Hauptproblem scheint mir aber zu sein, daß Du ja eine nachträgliche Manipulation idR niemals ausschliessen kannst und die Daten tragen nun einmal kein Mascherl...
Hi!
Wie will ich nachweisen, daß der Kunde das tatsächlich angeklickt hat? Ich habe einige Male als gerichtlich beeideter Sachverständiger in "EDV-Prozessen" gearbeitet und weiss daher, wie es um die Glaubwürdigkeit von Einträgen in Datenbanken (und um nichts anderes geht es da ja im Prinzip) vor Gericht bestellt ist.
Da geb ich dir Recht, es ist alles fälschbar, wenn es einfach bleiben soll. Aber ebenso sind Papiere mit Unterschrift fälschbar und in beiden Fällen steht Aussage gegen Aussage bei einem Betrug zur Bewertung durch das Gericht an.
Dem Richter und den Anwälten kannst Du ja erzählen, daß man nur weiterkommt, wenn das und das angeklickt etc. wurde, aber den Sachverständigen kannst Du damit normalerweise nicht täuschen. Das Hauptproblem scheint mir aber zu sein, daß Du ja eine nachträgliche Manipulation idR niemals ausschliessen kannst und die Daten tragen nun einmal kein Mascherl...
Was auch immer ein Mascherl ist, ... man könnte schon mit kryptografischen Mitteln was hinbiegen. Der Anwender müsste seine Bestätigung mit einem persönlichen Schlüssel versehen. Das setzt aber einen eventuell unverhältnismäßig hohen technischen und Wissens-Aufwand beim Kunden voraus. Solange sich da keine einheitliche Infrastruktur vorhanden ist, muss ein Richter eben Anscheinsbeweise auswerten.
Lo!