Guide informatique hardware En1heure.com
Articles phares : Quelle alimentation PC | Choisir son ecran LCD PC

Chercher un sujet :

Modifications proposées pour 0sys_contact_engine.php

Itseasy est un petit projet Open Source de CMS sans base de données. Son but est d'être accessible et rapide.
Participez au développement et / ou suivez son cours à travers cette section ;o)
Site officiel : Itseasy | Démonstration en ligne

Messages: 7
Inscription: Lun Nov 01, 2004 4:56 pm
Modifications proposées pour 0sys_contact_engine.phpMessagePosté: Lun Nov 01, 2004 8:35 pm

Bonjour

Mes premiers tests quans j'ai essayé Itseasy ont portés sur le moteur de message.
D'abord, il apparait une erreur quand l'adresse est remplie mais pas le champs sujet ou corps. Pour l'éviter, il faut déclarer la variable $errors

settype($errors, "string");

Ensuite, j'ai implanté des tests plus poussés sur l'adresse mail

if($_POST['posteur_mail'] == ""
or substr_count($_POST['posteur_mail'], "@") !== 1
or substr_count($_POST['posteur_mail'], ";") !== 0
or substr_count($_POST['posteur_mail'], ",") !== 0
or substr_count($_POST['posteur_mail'], ":") !== 0) {
$errors = "<span class=\"red\">Votre adresse email est erronée</span>\n<br />\n";
$nb_errors++;
}

Enfin, pour finir afin de faire des démos "propres" en local, mais aussi dans le cas ou un hébergeur ne fournisse pas de thread SMTP, j'ai re-écrit la section d'envoi pour que les mails se stockent dans un fichier texte format CSV:

// Correction de coc
$expediteur = $_POST['posteur_mail'];
$sujet = $_POST['sujet_mail'];
$corps = $_POST['corps_mail'];
// A décommenter si vous avez un SMTP
/* mail("$email_webmaster", $sujet, $corps,
"From: $expediteur \r\nReply-To: $expediteur") or
$fonction_mail_error++; */
// A mettre en commentaires si vous avez un SMTP
$sujet = str_replace(";",",",$sujet);
$corps = str_replace(";",",",$corps);
$corps = str_replace(chr(13)," ",$corps);
$corps = str_replace(chr(10)," ",$corps);
$messages = fopen ("messages.txt" , "a+");
$ecrit = fwrite ( $messages , $expediteur.";".$sujet.";".$corps.chr(13));
$ecrit= fclose ($messages);
// Fin de l'écriture dans un fichier
}
// Une erreur inconnue a été trouvée... Le serveur ne

Reste un petit probléme avec ce moteur: en cas d'erreur, le corps du texte ne s'affiche pas dans la zone de texte; à la place, on obtient le code d'un fichier sys; je vais le contourner en renonçant à la zone de texte.

J'ai tout testé (sauf l'envoi réel de mail); cela fonctionne.

A bientôt
Avatar de l’utilisateur
Administrateur
Messages: 1614
Inscription: Ven Mar 26, 2004 7:16 am
Localisation: /var/www/
Modifications proposées pour 0sys_contact_engine.phpMessagePosté: Dim Nov 14, 2004 3:06 pm

Hello !
Désolé je n'avais pas vu ce message, ce système
Code: Tout sélectionner
// Correction de coc
$expediteur = $_POST['posteur_mail'];
$sujet = $_POST['sujet_mail'];
$corps = $_POST['corps_mail'];
// A décommenter si vous avez un SMTP
/* mail("$email_webmaster", $sujet, $corps,
"From: $expediteur \r\nReply-To: $expediteur") or
$fonction_mail_error++; */
// A mettre en commentaires si vous avez un SMTP
$sujet = str_replace(";",",",$sujet);
$corps = str_replace(";",",",$corps);
$corps = str_replace(chr(13)," ",$corps);
$corps = str_replace(chr(10)," ",$corps);
$messages = fopen ("messages.txt" , "a+");
$ecrit = fwrite ( $messages , $expediteur.";".$sujet.";".$corps.chr(13));
$ecrit= fclose ($messages);
// Fin de l'écriture dans un fichier
}

C'est pour quoi exactement ? Merci 1000 fois ! :D
Avatar de l’utilisateur
Modérateur Linux
Modérateur Linux
Messages: 662
Inscription: Sam Mai 01, 2004 11:44 am
Modifications proposées pour 0sys_contact_engine.phpMessagePosté: Dim Nov 14, 2004 3:55 pm

pour stocker les messages dans un fichier si le serveur ne gère pas la fonction mail();
enfin j'ai compris ça lol, je mets ça dans la version corrigé dès que je peux :)

Retourner vers Développement technique d'Itseasy



Chercher un sujet :


cron