Vilaine que je suis, j'ai récupéré un script PHP tout prêt pour être contacté via un formulaire, script qui me semblait bien parce que complet, xhtml script, page de résultats, etc ... :

le voici

C'est la première page php que je créé. J'ai, au préalable installé EasyPhp 1.7 sur mon système w2000
Je suis une vilaine car je comptais bien utiliser ce script sans m'y plonger dedans, c'est à dire sans me plonger dans php, du moins tout de suite ...
J'ai un besoin urgent !

Et voilà qu'une erreur apparait lors du test en local :
eregi(): REG_BADBR:linvalid repetition count(s)

Rassurez-vous, ma question est la suivante :
1/il manque une fermeture dans le script ? : o/n
2/c'est un bug connu dans mon environnement ? : o/n
(car en cherchant, je suis tombée sur des forums où on parle (en anglais!) de recompiler apache, etc, ce que je ne ferais pas !)

Voilà, je demande juste un petit coup pouce pour aller dans la bonne direction, sachant que j'ai le cerveau lent !
Smiley cligne
Modifié par Vero (22 Mar 2005 - 16:14)
Je vais peut etre dire une bétise mais je crois pas qu'un script comme celui-ci puisse fonctionner en local
Modifié par Gueg2001 (22 Mar 2005 - 15:15)
Erreur chez moi aussi.
Leur regexp est foireux (ou alors vraiment pas portable)

Remplace cette ligne:
elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2-4}$",$_POST["email_expediteur"])){

Par celle-ci :
elseif (!preg_match('`^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$`i', $_POST['email_expediteur'])) {
Ca devrait marcher, en gagnant de la performance au passage Smiley lol
Merci Elentar pour cette solution qui fonctionne en local.

Par contre, le mail ne part pas, mais c'est peut-être normal si je n'ai pas de serveur smtp installé ou configuré...

Bon, l'idée était de tester la page avant la mise en ligne; le temps de quelques petits réglages et je la jette à l'eau en réel.
Smiley cligne

Merci encore.
Je n'ai pas testé ce script, mais je voudrais juste te dire ce que je pense de cette façon de concevoir en php (et dans tout autre language). Elle est au PHP ce que le html produit par Word est à la conception de page Web.

Ce script mélange code PHP et HTML alors qu'une conception propre vise à séparer au maximum ces 2 languages (sans aller jusqu'a parler de systèmes de templates).

Linéaire au possible, aucune fonction ou classe réutilisable n'est utilisé.

Certe le script est simple et pourra t'aider pour cette fois mais je te déconseille de le prendre pour exemple quand tu voudra te mettre serieusement au PHP car c'est le type même de ce qu'il ne faut pas faire.

Par contre, le mail ne part pas, mais c'est peut-être normal si je n'ai pas de serveur smtp installé ou configuré...


Oui il te faut configurer un serveur SMTP pour tester la fonction mail en local. Tu peux en trouver un gratuit sur le site d'ArgoSoft ou sur celui de RitLabs (demo 30 jours).
Modifié par jb_gfx (22 Mar 2005 - 16:31)
Pour le mail, oui, c'est normal Smiley smile

Si tu veux le faire quand même, il te suffit de rajouter en début de script :
ini_set('SMTP', 'fournisseur.smtp.fr'); // chez moi : wanadoo.smtp.fr
ini_set('smtp_port', 25);
Ou, si ça reservira, changer directement les valeurs de ces directives dans php.ini

Sinon d'accord avec jb_gfx, ce script est vraiment mal codé.
Rien qu'en regardant les conditions, ça défie tout logique... et les gros paquets de PHP et de HTML mélanges ne sont pas ce qu'il y a de mieux.
Oups !
Je prends très au sérieux cette dernière remarque, au point que je vais me mettre en quête d'une autre solution ...

Pourrais-tu m'orienter, s'il te plait, vers un bon site d'apprentissage de php dans le sens de ce que nous faisons ici ?
J'ai vu des bouts de scripts utilisant la fonction mail ... cette solution là m'a séduite puisqu'elle proposait une page complète en xhtml, avec tests et résultats ...

Mais je n'ai pas le niveau pour faire le bon choix !
Ca dépend de ce que tu veux Smiley cligne
Si c'est un script "en attendant de tout coder soi-même", alors garde le.

Pas très propre, pas très logique, mais il marchera.
Il est valide XHTML, donc côté client tout ira bien.
D'ailleurs, la différence de temps d'exécution entre ce script et le même en version "propre" serait largement négligable.

Sinon, si tu veux vraiment te mettre au PHP :
- les cours de phpdebutant.org sont corrects, mais ils ont mal vieillis (trouver des mentions à PHP 3 (= 1998) par-ci par-là, c'est moyen)

- les cours du siteduzero.com sont très pédagogues, ce qui a parfois ses désavantages (simplification "abusive", par exemple pour les différentes possibilités pour une même action)

Quelqu'un qui a lu plus de cours PHP que moi saura surement de te renseigner davantage...