- Home
- Categorie
- Coding e Sistemistica
- Help Center: consigli per il tuo progetto
- Aiuto Gestione di un form iscrizione a numero chiuso
-
Aiuto Gestione di un form iscrizione a numero chiuso
Ho la necissità di inserire in un sito un form per l'iscrizione a un percorso psicologico che prevede un massimo di 20 persone per volta.
Il form che vorrei realizzare deve darmi la passibilità che al 21.mo iscritto al submit invece di inviarmi i dati alla mail aprisse una pagina info che riporta la data della successiva sottoscrizione. Il codice php che utilizzo è autogenerato da un WYSIWYG questo perchè di php ne sò poco o niente, comunque il codice è il seguente<?php
function ValidateEmail($email)
{
$pattern = '/^(0-9a-z@(([0-9a-z])+([-\w][0-9a-z])*.)+[a-z]{2,6})$/i';
return preg_match($pattern, $email);
}
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$mailto = 'mymail';
$mailfrom = isset($_POST['email']) ? $_POST['email'] : $mailto;
$subject = 'Contact Information';
$message = 'Values submitted from web site form:';
$success_url = '';
$error_url = '';
$error = '';
$autoresponder_from = 'mymail;
$autoresponder_subject = 'grazie';
$autoresponder_message = 'grazie grazie';
$eol = "\n";
$max_filesize = isset($_POST['filesize']) ? $_POST['filesize'] * 1024 : 1024000;
$boundary = md5(uniqid(time()));
$header = 'From: '.$mailfrom.$eol;
$header .= 'Reply-To: '.$mailfrom.$eol;
$header .= 'MIME-Version: 1.0'.$eol;
$header .= 'Content-Type: multipart/mixed; boundary="'.$boundary.'"'.$eol;
$header .= 'X-Mailer: PHP v'.phpversion().$eol;
if (!ValidateEmail($mailfrom))
{
$error .= "The specified email address is invalid!\n<br>";
}
if (!empty($error))
{
$errorcode = file_get_contents($error_url);
$replace = "##error##";
$errorcode = str_replace($replace, $error, $errorcode);
echo $errorcode;
exit;
}
$internalfields = array ("submit", "reset", "send", "captcha_code");
$message .= $eol;
$message .= "IP Address : ";
$message .= $SERVER['REMOTE_ADDR'];
$message .= $eol;
foreach ($POST as $key => $value)
{
if (!in_array(strtolower($key), $internalfields))
{
if (!is_array($value))
{
$message .= ucwords(str_replace("", " ", $key)) . " : " . $value . $eol;
}
else
{
$message .= ucwords(str_replace("", " ", $key)) . " : " . implode(",", $value) . $eol;
}
}
}
$body = 'This is a multi-part message in MIME format.'.$eol.$eol;
$body .= '--'.$boundary.$eol;
$body .= 'Content-Type: text/plain; charset=ISO-8859-1'.$eol;
$body .= 'Content-Transfer-Encoding: 8bit'.$eol;
$body .= $eol.stripslashes($message).$eol;
if (!empty($_FILES))
{
foreach ($_FILES as $key => $value)
{
if ($_FILES[$key]['error'] == 0 && $_FILES[$key] <= $max_filesize)
{
$body .= '--'.$boundary.$eol;
$body .= 'Content-Type: '.$_FILES[$key]['type'].'; name='.$_FILES[$key]['name'].$eol;
$body .= 'Content-Transfer-Encoding: base64'.$eol;
$body .= 'Content-Disposition: attachment; filename='.$_FILES[$key]['name'].$eol;
$body .= $eol.chunk_split(base64_encode(file_get_contents($_FILES[$key]['tmp_name']))).$eol;
}
}
}
$body .= '--'.$boundary.'--'.$eol;
mail($mailto, $subject, $body, $header);
$autoresponder_header = 'From: '.$autoresponder_from.$eol;
$autoresponder_header .= 'Reply-To: '.$autoresponder_from.$eol;
$autoresponder_header .= 'MIME-Version: 1.0'.$eol;
$autoresponder_header .= 'Content-Type: text/plain; charset=ISO-8859-1'.$eol;
$autoresponder_header .= 'Content-Transfer-Encoding: 8bit'.$eol;
$autoresponder_header .= 'X-Mailer: PHP v'.phpversion().$eol;
mail($mailfrom, $autoresponder_subject, $autoresponder_message, $autoresponder_header);
header('Location: '.$success_url);
exit;
}
?>Non saprei veramente da dove cominciare per inserire e come inserire il numero chiuso, qualcuno può aiutarmi o indicarmi qualche script già pronto
Grazie