Forum PHPBoost

RssSupport noyau » Formulaire de recrutement  «  1  2  3  4  5 
   Le 16/05/11 à 18h08 Citer      

Booster Fronde

Groupe: Membre

Sexe:
Inscrit le: 15/05/11
Messages: 12
Lieu: Yveline (78)
Reprise du message précédent

Bonjour Reidlos,

J'ai essayé comme tu as écrit et aussi sans le @
Code PHP :
if (mail($email_dest,$sujet,$sortie,$entetes))

J'ai fait des variantes en ajoutant un point devant /forum/forum.class.php
Code PHP :
include_once('./forum/forum.class.php');


Dans tous les cas je reçois le mail mais maintenant dans tous les cas ne s'affiche plus Envoi du formulaire impossible.
J'ai juste Accueil>Recrutement

Et toujours rien dans la section adéquate.

Sinon à quoi sert la variable $type qui est égale à 1 dans la ligne Add_topic?

pm http://www.team-omaha.com    
   Le 16/05/11 à 19h34 Citer      

Administrateur

Chef de projet
Développement Noyau

Sexe:
Inscrit le: 27/02/09
Messages: 9633
Lieu: Alsace
Dans tout les cas je pense que de toute façon c'est plus propre de modifier le formulaire de contact intégré à PHPBoost.

pm http://www.phpboost.com    
   Le 18/05/11 à 21h15 Citer      

Booster Fronde

Groupe: Membre

Sexe:
Inscrit le: 15/05/11
Messages: 12
Lieu: Yveline (78)
Bon ça fonctionne à 98%.
Affichage du formulaire OK
Réception du mail OK
Création du topic dans la section adéquate OK

Par contre la redirection vers la page de remerciement ne fonctionne pas. Je tombe sur une page vide:
Accueil>Recrutement

En fait en faisant des essais il semble que c'est toute la partie qui contient les $content (pour poster le formulaire sur le forum) qui pose problème. En la supprimant la redirection se passe bien.

pm http://www.team-omaha.com    
   Le 18/05/11 à 21h25 Citer      

Administrateur

Chef de projet
Développement Noyau

Sexe:
Inscrit le: 27/02/09
Messages: 9633
Lieu: Alsace
Dans ton code après la condition donnée plus haut tu devrait avoir un redirect dans le cas ou le mail n'est pas bien envoyé, mais pas dans le cas ou il y est envoyé correctement.

pm http://www.phpboost.com    
   Le 19/05/11 à 18h19 Citer      

Booster Fronde

Groupe: Membre

Sexe:
Inscrit le: 15/05/11
Messages: 12
Lieu: Yveline (78)
Tu parle de cette partie?
Code PHP :
$flag_icone = 0;
 
// On vérifie si $flag_icone est défini sur 0 ou 1...
if ($flag_icone == 0) {
$icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>";
} else {
$icone = "<img src=\"images/icone.gif\"";
}
 
// Définir l'indicateur d'erreur sur zéro...
$flag_erreur = 0;
// N'envoyer le formulaire que s'il n'y a pas d'erreurs...
if ($flag_erreur == 0) {					
 
// Addresse de réception du formulaire


Si oui j'ai fait un test en la supprimant et j'ai toujours le même résultat.

pm http://www.team-omaha.com    
   Le 19/05/11 à 18h49 Citer      

Administrateur

Chef de projet
Développement Noyau

Sexe:
Inscrit le: 27/02/09
Messages: 9633
Lieu: Alsace
Non.

Donne moi les 30 lignes qui suit de :

Code PHP :
if (mail($email_dest,$sujet,$sortie,$entetes))

pm http://www.phpboost.com    
   Le 19/05/11 à 20h06 Citer      

Booster Fronde

Groupe: Membre

Sexe:
Inscrit le: 15/05/11
Messages: 12
Lieu: Yveline (78)
Code PHP :
// Send the e-mail
					if (mail($email_dest,$sujet,$sortie,$entetes))
					{
						$contents = 'Pseudo = ' . $_SESSION['champ1'] . "\n";
						$contents .= 'Prénom = ' . $_SESSION['champ2'] . "\n";
						$contents .= 'Age = ' . $_SESSION['champ3'] . "\n";
						$contents .= 'Localisation = ' . $_SESSION['champ4'] . "\n";
						$contents .= 'Emploi = ' . $_SESSION['champ5'] . "\n";
						$contents .= 'Steam et/ou Xfire = ' . $_SESSION['champ6'] . "\n";
						$contents .= 'Jeu = ' . $_SESSION['liste1'] . "\n";
						$contents .= 'Comment nous avez vous connu? = ' . $_SESSION['zone_texte1'] . "\n";
						$contents .= 'Votre style de musique préférée? = ' . $_SESSION['zone_texte2'] . "\n";
						$contents .= 'Que pouvez vous nous dire de plus? = ' . $_SESSION['zone_texte3'];
 
						include_once('../forum/forum.class.php');
						$Forum = new Forum();
						$Forum->Add_topic(3, $sujet, '', $contents, 1);
 
                    // Rediriger vers la page de remerciement
                    header("Location:http://www.team-omaha.com/recruite/merci.php");
                    }
					else
					{
						echo("Envoi du formulaire impossible");
						exit;
                  } // Fin else
			    } // Fin du if ($flag_erreur == 0)
			} // Fin de if POST
?>

Voilà... Après c'est toute la partie html du formulaire

pm http://www.team-omaha.com    
   Le 19/05/11 à 20h46 Citer      

Administrateur

Chef de projet
Développement Noyau

Sexe:
Inscrit le: 27/02/09
Messages: 9633
Lieu: Alsace
Essaye avec :

Code PHP :
// Send the e-mail
					if (mail($email_dest,$sujet,$sortie,$entetes))
					{
						$contents = 'Pseudo = ' . $_SESSION['champ1'] . "\n";
						$contents .= 'Prénom = ' . $_SESSION['champ2'] . "\n";
						$contents .= 'Age = ' . $_SESSION['champ3'] . "\n";
						$contents .= 'Localisation = ' . $_SESSION['champ4'] . "\n";
						$contents .= 'Emploi = ' . $_SESSION['champ5'] . "\n";
						$contents .= 'Steam et/ou Xfire = ' . $_SESSION['champ6'] . "\n";
						$contents .= 'Jeu = ' . $_SESSION['liste1'] . "\n";
						$contents .= 'Comment nous avez vous connu? = ' . $_SESSION['zone_texte1'] . "\n";
						$contents .= 'Votre style de musique préférée? = ' . $_SESSION['zone_texte2'] . "\n";
						$contents .= 'Que pouvez vous nous dire de plus? = ' . $_SESSION['zone_texte3'];
 
						include_once('../forum/forum.class.php');
						$Forum = new Forum();
						$Forum->Add_topic(3, $sujet, '', $contents, 1);
 
                    // Rediriger vers la page de remerciement
                    header("Location:http://www.team-omaha.com/forum/forum.php");
                    }
					else
					{
						echo("Envoi du formulaire impossible");
						exit;
                  } // Fin else
			    } // Fin du if ($flag_erreur == 0)
			} // Fin de if POST

pm http://www.phpboost.com    
   Le 20/05/11 à 20h00 Citer      

Booster Fronde

Groupe: Membre

Sexe:
Inscrit le: 15/05/11
Messages: 12
Lieu: Yveline (78)
Non ça ne fonctionne pas. J'ai essayé au cas où avec /forum/index.php mais c'est pareil.
En fait c'est le fait qu'on demande un poste automatique qui empêche la redirection car en supprimant
Code PHP :
include_once('../forum/forum.class.php');
$Forum = new Forum();
$Forum->Add_topic(3, $sujet, '', $contents, 1);

la redirection se fait bien.

Si je supprime
Code PHP :
 // Rediriger vers la page de remerciement
 header("Location:http://www.team-omaha.com/forum/forum.php");

je tombe quand même sur une page vide Accueil>Recrutement mais ça c'est peut-être normal.

pm http://www.team-omaha.com    
   Le 21/05/11 à 14h08 Citer      

Booster Fronde

Groupe: Membre

Sexe:
Inscrit le: 15/05/11
Messages: 12
Lieu: Yveline (78)
Ça y est ça fonctionne!!!! :clap

En faisant une recherche sur le net pour les redirections de page je suis tombé sur un tuto concernat le header() dans lequel il est dit:
Citation:
Règle importante : l'appel de cette fonction doit se faire avant tout envoi au navigateur (instruction echo, print, espace blanc, balise html...) sous peine de générer une erreur de type Headers already sent by.... Cette erreur signifie que la page a déjà été envoyée au navigateur avant de vouloir envoyer des entêtes HTTP. La logique de développement demande le contraire !

J'ai donc essayé en mettant cette redirection avant la partie d'envoi du formulaire sur le forum comme ceci:
Code PHP :
// Send the e-mail
if (mail($email_dest,$sujet,$sortie,$entetes))
{
 
 // Rediriger vers la page de remerciement
 header("Location:http://www.team-omaha.com/recruite/merci.php");
 
$contents = 'Pseudo = ' . $_SESSION['champ1'] . "\n";
$contents .= 'Prénom = ' . $_SESSION['champ2'] . "\n";
$contents .= 'Age = ' . $_SESSION['champ3'] . "\n";
$contents .= 'Localisation = ' . $_SESSION['champ4'] . "\n";
$contents .= 'Emploi = ' . $_SESSION['champ5'] . "\n";
$contents .= 'Steam et/ou Xfire = ' . $_SESSION['champ6'] . "\n";
$contents .= 'Jeu = ' . $_SESSION['liste1'] . "\n";
$contents .= 'Comment nous avez vous connu? = ' . $_SESSION['zone_texte1'] . "\n";
$contents .= 'Votre style de musique préférée? = ' . $_SESSION['zone_texte2'] . "\n";
$contents .= 'Que pouvez vous nous dire de plus? = ' . $_SESSION['zone_texte3']; 
 
include_once('../forum/forum.class.php');
$Forum = new Forum();
$Forum->Add_topic(3, $sujet, '', $contents, 1);
 
}
else
{
echo("Envoi du formulaire impossible");
exit;
 } // Fin else

Et ça fonctionne nikel :hehe

Maintenant j'ai encore une dernière question.
La demande de recrutement est postée sur le forum en sujet épinglé mais ce n'est pas très grave. Par contre si il y a bien l'info Messages non lus (1) ce poste n'apparait pas comme dernier message dans l'index général du forum.
Y-a-t-il un moyen de le faire apparaitre?

pm http://www.team-omaha.com    
   Le 21/05/12 à 11h40 Citer      

Booster Fuzil

Groupe: Membre

Inscrit le: 20/05/12
Messages: 76
Bonjour,
ce sujet est fort intéressant.
J'essaye de le faire fonctionner via le formulaire de contact; je reçois bien le mail avec le contenu mais cela me crée des posts blancs sans titre de sujet en annonce.
Aurais-je mal positionner la commande ?

Code PHP :
/*##################################################
 *                               contact.php
 *                            -------------------
 *   begin                : July 29, 2005
 *   copyright            : (C) 2005 Viarre Régis
 *   email                : crowkait@phpboost.com
 *
 *
 ###################################################
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 *
 ###################################################*/
 
require_once('../kernel/begin.php');
require_once('../contact/contact_begin.php');
require_once('../kernel/header.php');
 
$mail_from = retrieve(POST, 'mail_email', '', TSTRING_UNCHANGE);
$mail_object = retrieve(POST, 'mail_object', '', TSTRING_UNCHANGE);
$mail_contents = retrieve(POST, 'mail_contents', '', TSTRING_UNCHANGE);
$mail_valid = retrieve(POST, 'mail_valid', '');
$get_error = '';
 
import('util/captcha');
$captcha = new Captcha();
$captcha->set_difficulty($CONFIG_CONTACT['contact_difficulty_verifcode']);
 
###########################Envoi##############################
if (!empty($mail_valid))
{
    //Code de vérification si activé
    if (!$CONFIG_CONTACT['contact_verifcode'] || $captcha->is_valid()) //Code de vérification si activé
    {
        import('io/mail');
        $mail = new Mail();
 
        if ($mail->send_from_properties($CONFIG['mail'], $mail_object, $mail_contents, $mail_from, '', 'user')) //Succès mail
        {	
			$get_error = 'success';
			include_once('../forum/forum.class.php');
						$Forum = new Forum();
						$Forum->Add_topic(16, $sujet, '', $contents, 1);
        }
        else //Erreur mail
        {
            $get_error = 'error';
        }
    }
    else //Champs incomplet!
    {
        $get_error = 'verif';
    }
}
elseif (!empty($_POST['mail_valid']) && ( empty($mail_email) || empty($mail_contents) )) //Champs incomplet!
{
    $get_error = 'incomplete';
}
 
###########################Affichage##############################
$Template->set_filenames(array(
	'contact'=> 'contact/contact.tpl'
));
 
//Gestion erreur.
if ($get_error == 'incomplete')
{
    $Errorh->handler($LANG['e_incomplete'], E_USER_NOTICE);
}
elseif ($get_error == 'verif')
{
    $Errorh->handler($LANG['e_incorrect_verif_code'], E_USER_WARNING);
}
elseif ($get_error == 'success')//Message de succés.
{
    $Errorh->handler($LANG['success_mail'], E_USER_SUCCESS);
}
elseif ($get_error == 'error')//Message de succés.
{
    $Errorh->handler($LANG['error_mail'], E_USER_WARNING);
}
 
//Code de vérification, anti-bots.
if ($captcha->is_available() && $CONFIG_CONTACT['contact_verifcode'])
{
    $Template->assign_vars(array(
		'C_VERIF_CODE' => true,
		'VERIF_CODE' => $captcha->display_form(),
		'L_REQUIRE_VERIF_CODE' => $captcha->js_require()
    ));
}
 
$Template->assign_vars(array(
	'MAIL' => $User->get_attribute('user_mail'),
	'CONTACT_OBJECT' => stripslashes(retrieve(POST, 'mail_object', '')),
	'CONTACT_CONTENTS' => $mail_contents,
	'L_REQUIRE_MAIL' => $LANG['require_mail'],
	'L_REQUIRE_TEXT' => $LANG['require_text'] ,
	'L_CONTACT_MAIL' => $LANG['contact_mail'],
	'L_MAIL' => $LANG['mail'],
	'L_VERIF_CODE' => $LANG['verif_code'],
	'L_REQUIRE' => $LANG['require'],
	'L_VALID_MAIL' => $LANG['valid_mail'],
	'L_OBJET' => $LANG['objet'],
	'L_CONTENTS' => $LANG['content'],
	'L_SUBMIT' => $LANG['submit'],
	'L_RESET' => $LANG['reset'],
	'U_ACTION_CONTACT' => url('contact.php?token=' . $Session->get_token())
));
 
$Template->pparse('contact');
 
require_once('../kernel/footer.php');
 
?>
____________________
http://www.mindself.org

pm http://www.mindself.org    
   Le 21/05/12 à 11h43 Citer      

Administrateur

Chef de projet
Développement Noyau

Sexe:
Inscrit le: 27/02/09
Messages: 9633
Lieu: Alsace
Salut et bienvenue à toi dans la communauté :)

Tu veux mettre quoi comme titre et contenu ?

pm http://www.phpboost.com    
   Le 21/05/12 à 11h51 Citer      

Booster Fuzil

Groupe: Membre

Inscrit le: 20/05/12
Messages: 76
Merci =),
J'aimerai que ça reprenne le sujet et le contenu de mon formulaire contact.
Voici ma page actuelle : http://mindself.fr/contact/contact.php
____________________
http://www.mindself.org

pm http://www.mindself.org    
   Le 21/05/12 à 11h54 Citer      

Administrateur

Chef de projet
Développement Noyau

Sexe:
Inscrit le: 27/02/09
Messages: 9633
Lieu: Alsace
Voilà :

Code PHP :
/*##################################################
 *                               contact.php
 *                            -------------------
 *   begin                : July 29, 2005
 *   copyright            : (C) 2005 Viarre Régis
 *   email                : crowkait@phpboost.com
 *
 *
 ###################################################
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 *
 ###################################################*/
 
require_once('../kernel/begin.php');
require_once('../contact/contact_begin.php');
require_once('../kernel/header.php');
 
$mail_from = retrieve(POST, 'mail_email', '', TSTRING_UNCHANGE);
$mail_object = retrieve(POST, 'mail_object', '', TSTRING_UNCHANGE);
$mail_contents = retrieve(POST, 'mail_contents', '', TSTRING_UNCHANGE);
$mail_valid = retrieve(POST, 'mail_valid', '');
$get_error = '';
 
import('util/captcha');
$captcha = new Captcha();
$captcha->set_difficulty($CONFIG_CONTACT['contact_difficulty_verifcode']);
 
###########################Envoi##############################
if (!empty($mail_valid))
{
    //Code de vérification si activé
    if (!$CONFIG_CONTACT['contact_verifcode'] || $captcha->is_valid()) //Code de vérification si activé
    {
        import('io/mail');
        $mail = new Mail();
 
        if ($mail->send_from_properties($CONFIG['mail'], $mail_object, $mail_contents, $mail_from, '', 'user')) //Succès mail
        {	
			$get_error = 'success';
			include_once('../forum/forum.class.php');
			$Forum = new Forum();
			$Forum->Add_topic(16, $mail_object, '', $mail_contents, 1);
        }
        else //Erreur mail
        {
            $get_error = 'error';
        }
    }
    else //Champs incomplet!
    {
        $get_error = 'verif';
    }
}
elseif (!empty($_POST['mail_valid']) && ( empty($mail_email) || empty($mail_contents) )) //Champs incomplet!
{
    $get_error = 'incomplete';
}
 
###########################Affichage##############################
$Template->set_filenames(array(
	'contact'=> 'contact/contact.tpl'
));
 
//Gestion erreur.
if ($get_error == 'incomplete')
{
    $Errorh->handler($LANG['e_incomplete'], E_USER_NOTICE);
}
elseif ($get_error == 'verif')
{
    $Errorh->handler($LANG['e_incorrect_verif_code'], E_USER_WARNING);
}
elseif ($get_error == 'success')//Message de succés.
{
    $Errorh->handler($LANG['success_mail'], E_USER_SUCCESS);
}
elseif ($get_error == 'error')//Message de succés.
{
    $Errorh->handler($LANG['error_mail'], E_USER_WARNING);
}
 
//Code de vérification, anti-bots.
if ($captcha->is_available() && $CONFIG_CONTACT['contact_verifcode'])
{
    $Template->assign_vars(array(
		'C_VERIF_CODE' => true,
		'VERIF_CODE' => $captcha->display_form(),
		'L_REQUIRE_VERIF_CODE' => $captcha->js_require()
    ));
}
 
$Template->assign_vars(array(
	'MAIL' => $User->get_attribute('user_mail'),
	'CONTACT_OBJECT' => stripslashes(retrieve(POST, 'mail_object', '')),
	'CONTACT_CONTENTS' => $mail_contents,
	'L_REQUIRE_MAIL' => $LANG['require_mail'],
	'L_REQUIRE_TEXT' => $LANG['require_text'] ,
	'L_CONTACT_MAIL' => $LANG['contact_mail'],
	'L_MAIL' => $LANG['mail'],
	'L_VERIF_CODE' => $LANG['verif_code'],
	'L_REQUIRE' => $LANG['require'],
	'L_VALID_MAIL' => $LANG['valid_mail'],
	'L_OBJET' => $LANG['objet'],
	'L_CONTENTS' => $LANG['content'],
	'L_SUBMIT' => $LANG['submit'],
	'L_RESET' => $LANG['reset'],
	'U_ACTION_CONTACT' => url('contact.php?token=' . $Session->get_token())
));
 
$Template->pparse('contact');
 
require_once('../kernel/footer.php');
 
?>


PS : Beau début ton thème :)

pm http://www.phpboost.com    
   Le 21/05/12 à 12h10 Citer      

Booster Fuzil

Groupe: Membre

Inscrit le: 20/05/12
Messages: 76
ça fonctionne !
Merci =)

Ps- Merci, ça fait plaisir ^^
____________________
http://www.mindself.org

pm http://www.mindself.org    
RssSupport noyau » Formulaire de recrutement  «  1  2  3  4  5   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie
Annonces