if ((isset($_GET['choix_sondage']) && $_GET['choix_sondage'] == 'date') || (isset($_POST["choix_sondage"]) && $_POST["choix_sondage"] == 'creation_sondage_date')) { $choix_sondage = "creation_sondage_date"; $_SESSION["choix_sondage"] = $choix_sondage; } else { $choix_sondage = "creation_sondage_autre"; $_SESSION["choix_sondage"] = $choix_sondage; } // On teste toutes les variables pour supprimer l'ensemble des warnings PHP // On transforme en entites html les données afin éviter les failles XSS $post_var = array('poursuivre', 'titre', 'nom', 'adresse', 'commentaires', 'studsplus', 'mailsonde', 'creation_sondage_date', 'creation_sondage_autre'); foreach ($post_var as $var) { if (isset($_POST[$var]) === true) { $$var = htmlentities($_POST[$var], ENT_QUOTES, 'UTF-8'); } else { $$var = null; } } // On initialise egalement la session car sinon bonjour les warning :-) $session_var = array('titre', 'nom', 'adresse', 'commentaires', 'mailsonde', 'studsplus', ); foreach ($session_var as $var) { if (Utils::issetAndNoEmpty($var, $_SESSION) === false) { $_SESSION[$var] = null; } } // On initialise également les autres variables $erreur_adresse = false; $erreur_injection_titre = false; $erreur_injection_nom = false; $erreur_injection_commentaires = false; $cocheplus = ''; $cochemail = ''; #tests if (Utils::issetAndNoEmpty("poursuivre")){ $_SESSION["titre"] = $titre; $_SESSION["nom"] = $nom; $_SESSION["adresse"] = $adresse; $_SESSION["commentaires"] = $commentaires; unset($_SESSION["studsplus"]); $_SESSION["studsplus"] = ($studsplus !== null) ? '+' : $_SESSION["studsplus"] = ''; unset($_SESSION["mailsonde"]); $_SESSION["mailsonde"] = ($mailsonde !== null) ? true : false; if (config_get('use_smtp')==true){ if (Utils::isValidEmail($adresse) === false) { $erreur_adresse = true; } } if (preg_match(';<|>|";',$titre)) { $erreur_injection_titre = true; } if (preg_match(';<|>|";',$nom)) { $erreur_injection_nom = true; } if (preg_match(';<|>|";',$commentaires)) { $erreur_injection_commentaires = true; } // Si pas d'erreur dans l'adresse alors on change de page vers date ou autre if(config_get('use_smtp')==true){ $email_OK = $adresse && !$erreur_adresse; } else{ $email_OK = true; } if ($titre && $nom && $email_OK && ! $erreur_injection_titre && ! $erreur_injection_commentaires && ! $erreur_injection_nom) { if ( $poursuivre == "creation_sondage_date" ) { header("Location:choix_date.php"); exit(); } if ( $poursuivre == "creation_sondage_autre" ) { header("Location:choix_autre.php"); exit(); } } else { // Title Erreur ! Utils::print_header( _("Error!").' - '._("Poll creation (1 on 3)") ); } } else { // Title OK (formulaire pas encore rempli) Utils::print_header( _("Poll creation (1 on 3)") ); } bandeau_titre( _("Poll creation (1 on 3)") ); // premier sondage ? test l'existence des schémas SQL avant d'aller plus loin if(!Utils::check_table_sondage()) { echo '
' . _("Enter a title") . '
' . _("Characters < > and \" are not permitted") . '
' . _("Characters < > and \" are not permitted") . '
' . _("Enter a name") . '
' . _("Characters < > and \" are not permitted") . '
' . _("Enter an email address") . '
' . _("The address is not correct! (You should enter a valid email address in order to receive the link to your poll)") . '