Formulaire Contact - pages statiques

l e . n o xl e . n o x Member
août 2011 modifié dans Entraide
Tentative du formulaire Contact avec les pages statiques :

Il semblerait que mon nginx et mon php5fcgi ne fonctionne pas correctement.
La modification des pages statiques me renvoient directement le code php sans le traiter.

voici ma config : ngnix + php5-fcgi+pluxml 5.1.2 via firefox5:

voici comment j'ai opéré :
Connectez vous à votre zone d'administration
Rendez vous sur l'onglet d'édition des pages statiques
Créez une nouvelle page statique "Contact" par exemple
Cliquez sur le lien "éditer le code source" en face de votre page statique
Copiez collez le code ci-dessous en renseignant votre adresse email dans la variable $email
Sauvegardez votre page

Le Code du Wiki : ne fonctionnement pas dans mon cas voici ce qu'il me renvoi :
<?php
# Page statique Pluxml : formulaire de contact
# revision 1.2 pour PluXml 5.1.2

if(!defined('PLX_ROOT')) exit;

# Renseignez ici votre adresse mail
$email = 'pluxml@mondomaine.com';

# Notre capcha
$capcha = new plxCapcha();

# Nos variables
$erreur = '';
$succes = '';

if(!empty($_POST)) { # Formulaire valide

	if($_POST['rep2'] == sha1($_POST['rep'])) { # Capcha valide 5.1b
		$_POST['nom'] = trim($_POST['nom']);
		$_POST['content'] = trim($_POST['content']);
		$_POST['ip'] = plxUtils::getIp();
		# On verifie les donnees
		if(empty($_POST['nom']) OR empty($_POST['mail']) OR empty($_POST['content']))
			$erreur = 'Merci de remplir tous les champs obligatoires';
		if($erreur == '' AND !plxUtils::checkMail(trim($_POST['mail'])))
			$erreur = 'L\'adresse mail saisie n\'est pas valide';
		# On peut envoyer si pas d'erreur
		if($erreur == '') {
			$corps = 'Son nom : '.$_POST['nom']."n";
			$corps .= 'Son mail : '.$_POST['mail']."n";
			$corps .= 'Son adresse IP : '.$_POST['ip']."n";
			$corps .= 'Son message : '."n";
			$corps .= $_POST['content'];
			# On peut retirer certains caracteres (enlever // de la ligne suivante)
			//$corps = str_replace("r"," ",$corps);
			# On envoi le mail
			$headers = 'From: '.$_POST['mail']."rn";
			$headers .= 'MIME-Version: 1.0'."rn";
			$headers .= 'Content-type: text/plain; charset="'.PLX_CHARSET.'"'."rn";
			$headers .= 'Content-transfer-encoding: 8bit'."rn";
			if(mail($email,'## Pluxml ## contact depuis votre formulaire de contact',$corps, $headers))
				$succes = 'Merci de nous avoir contacté, nous vous répondrons le plus rapidement possible.';
			else
				$erreur = 'Une erreur s\'est produite au cours de l\'envoi de votre message...';
		}
	} else { # Capcha non valide
		$erreur = 'la vérification anti-spam a échouée';
	}
} else {
	# Initialisation
	$erreur = 'Merci de remplir le formulaire ci-dessous';
	$_POST['nom'] = '';
	$_POST['content'] = '';
	$_POST['mail'] = '';
}
?>
<div id="form">
	<p class="message_contact"><?php echo (!empty($erreur))?$erreur:$succes; ?></p>
	<?php if(!empty($erreur) OR empty($_POST)): ?>
		<form action="#form" method="post">
				<label for="nom">Votre nom :<br />
</label><input name="nom" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST['nom']) ?>" maxlength="30" /><br />
<label for="mail">Votre courriel :<br />
</label><input name="mail" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST['mail']) ?>" /><br /><br />
<label for="content">Votre message :<br />
</label><textarea name="content" cols="60" rows="12"><?php echo plxUtils::strCheck($_POST['content']) ?></textarea><br />
<br />
				<label for="rep">Vérification anti-spam :</label>
				<p><?php echo $capcha->q(); ?> : <input name="rep" type="text" size="10" /></p>
				<input name="rep2" type="hidden" value="<?php echo $capcha->r(); ?>" />
				<p><input type="submit" value="Envoyer" /> <input type="reset" value="Effacer" /></p>
		</form>
	<?php endif; # Fin du if si mail envoye ?>
</div>
1313342704.png

Le Code cordialement proposé par bankai : ne fonctionnement pas non plus.
<?php
# Page statique Pluxml : formulaire de contact par florent@pluxml.org
# revision 1.1 par Sudwebdesign: compatibilité pluxml 5.1b

if(!defined('PLX_ROOT')) exit;

# Renseignez ici votre adresse mail
$email = 'TON MAILN ICI';

# Notre capcha
$capcha = new plxCapcha();

# Nos variables
$erreur = '';
$succes = '';

if(!empty($_POST)) { # Formulaire valide

    if($_POST['rep2'] == sha1($capcha->gds.$_POST['rep'])) { # Capcha valide 5.1b
        $_POST['nom'] = trim($_POST['nom']);
        $_POST['content'] = trim($_POST['content']);
        $_POST['ip'] = plxUtils::getIp();
        # On verifie les donnees
        if(empty($_POST['nom']) OR empty($_POST['mail']) OR empty($_POST['content']))
            $erreur = 'Merci de remplir tous les champs obligatoires';
        if($erreur == '' AND !plxUtils::checkMail(trim($_POST['mail'])))
            $erreur = 'L\'adresse mail saisie n\'est pas valide';
        # On peut envoyer si pas d'erreur
        if($erreur == '') {
            $corps = 'Son nom : '.$_POST['nom']."\n";
            $corps .= 'Son mail : '.$_POST['mail']."\n";
            $corps .= 'Son adresse IP : '.$_POST['ip']."n";
            $corps .= 'Son message : '."\n";
            $corps .= $_POST['content'];
            # On peut retirer certains caracteres (enlever // de la ligne suivante)
            //$corps = str_replace("r"," ",$corps);
            # On envoi le mail
            $headers = 'From: '.$_POST['mail']."\n";
            $headers .= 'MIME-Version: 1.0'."\n";
            $headers .= 'Content-type: text/plain; charset="'.PLX_CHARSET.'"'."\n";
            $headers .= 'Content-transfer-encoding: 8bit'."\n";
            if(mail($email,'## Pluxml ## contact depuis votre formulaire de contact',$corps, $headers))
                $succes = 'Merci de nous avoir contacté, nous vous répondrons le plus rapidement possible.';
            else
                $erreur = 'Une erreur s\'est produite au cours de l\'envoi de votre message...';
        }
    } else { # Capcha non valide
        $erreur = 'la vérification anti-spam a échouée';
    }
} else {
    # Initialisation
    $erreur = 'Merci de remplir le formulaire ci-dessous';
    $_POST['nom'] = '';
    $_POST['content'] = '';
    $_POST['mail'] = '';
}
?>
<div id="form">
    <p class="message_contact"><?php echo (!empty($erreur))?$erreur:$succes; ?></p>
    <?php if(!empty($erreur) OR empty($_POST)): ?>
        <form action="#form" method="post">
                <label for="nom">Votre nom :<br />
</label><input name="nom" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST['nom']) ?>" maxlength="30" /><br />
<label for="mail">Votre courriel :<br />
</label><input name="mail" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST['mail']) ?>" /><br />
<label for="content">Votre message :<br />
</label><textarea name="content" cols="60" rows="12"><?php echo plxUtils::strCheck($_POST['content']) ?></textarea><br />
<br /><br /><br /><br /><br /><br />
                <label for="rep">Vérification anti-spam :</label>
                <p><?php echo $capcha->q(); ?> : <input name="rep" type="text" size="10" /></p>
                <input name="rep2" type="hidden" value="<?php echo $capcha->r(); ?>" />
                <p><input type="submit" value="Envoyer" /> <input type="reset" value="Effacer" /></p>
        </form>
    <?php endif; # Fin du if si mail envoye ?>
</div>
1313348037.png

Par contre l'installation du plugin "plxMyContact" m'affiche correctement le formulaire !!!

Autre exemple : La page statique "Créer une page de fichiers à télécharger" ne fonctionne pas non plus, meme en suivant a la lettre le wiki : http://wiki.pluxml.org/index.php?page=Cr%C3%A9er+une+page+de+fichiers+%C3%A0+t%C3%A9l%C3%A9charger

quand je test mon serveur avec un index.php <?php phpinfo(); ?> , il me traite correctement la demande et me fait le listing complet ...

Voici la config de nginx : http://forum.pluxml.org/viewtopic.php?pid=19876#p19876

qu'en pensez vous ??

Merci ... ;O)

Rappel : http://forum.pluxml.org/viewtopic.php?pid=19850#p19850

Réponses

  • l e . n o xl e . n o x Member
    août 2011 modifié
    Ok Ok j'ai enfin trouvé le problème du php avec les pages statiques :

    Tout viens des plugin CKEditor et plxEditor:

    Quand le code php est rentré par l'interface Administration (pages statique/editer) de pluxml avec le plugin CKEditor ou plxEditor le code source est modifié !!!

    Ce qui généré une "patchaque" en php qui casse tout d'ou mes imprimes ecran du post d'avant, certains caractères ou ponctuations son transformés ou supprimés.

    en résumé :
    CKEditor 3.5.2 + CKFinder 2.0.2 - Version 1.1 (31/03/2011) : provoque ce problème.
    plxEditor - Version 1.0 beta 1 (01/07/2011) : provoque ce problème.

    plxToolbar - Version 1.2 (26/06/2011) : ne provoque pas ce problème.

    Est il possible d’intégrer "syntaxhighlighter" ou un équivalent dans plxToolbar, avez vous un tuto sous la main ?

    @+
Connectez-vous ou Inscrivez-vous pour répondre.