Problème avec un formulaire à envoyer

smartrem
Invité n'ayant pas de compte PHPfrance

20 oct. 2005, 10:34

Je fais ça pour un copain, je vérifie que le php est bien activé pour l'instant. Pour ce qui est de renommer, j'ai fait le test. Je continue et je vous tiens au courant. Merci pour toute votre aide.

smartrem
Invité n'ayant pas de compte PHPfrance

20 oct. 2005, 10:54

J'ai des paramètres pour me connecter à phpmyadmin sur un serveur sql3, il y a une base créée mais pas de table, je pense que tout va bien et qu'elle est activée, je vais essayer de trouver avec le service technique de OVH.

smartrem
Invité n'ayant pas de compte PHPfrance

20 oct. 2005, 11:00

Bon on avance, je crois qu'il y a un problème identifié, j'ai bricolé dans mysql et j'ai obtenu ça :

#1064 - You have an error in your SQL syntax near '<?php
$TO = "[email protected]"' at line 1

J'ai donc regardé l'erreur 1064, ce qui donne :

Error: 1064 SQLSTATE: 42000 (ER_PARSE_ERROR)
Message: %s near '%s' at line %d

On va bien finir par y arriver. Si je dis que je n'ai mis que le code php indiqué, il n'y a rien à ajouter autour dans la page, des champs body ou quelque chose?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 oct. 2005, 11:03

Il faut que tu nous donnes la requete que tu as soumise

Mais je pense que le problème vient plus d'une erreur dans ta reuquete que d'un pb php
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

smartrem
Invité n'ayant pas de compte PHPfrance

20 oct. 2005, 11:07

mince, bien tenté quand même...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 oct. 2005, 11:08

mince, bien tenté quand même...
:langue:

Est-ce que tu as essayé ton script en local sur un poste qui a un serveur Web et qui peut acceder à Internet ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

smartrem
Invité n'ayant pas de compte PHPfrance

20 oct. 2005, 12:04

Je ne sais comment on installeça sur easy php. Je fais un dossier avec mon site et je me connecte dessus en web local?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 oct. 2005, 12:06

Dans le répertoire d'install de EasyPHP, tu as un répertoire www.

Dans ce répertoire, tu met un dossier qui contient tes scripts php

Puis tu lances ton explorateur préféré et dans la barre d'adresse, tu tapes http://127.0.0.1/

La page qui doit être affichée doit contenir le nom de ton dossier, tu cliques dessus et il doit exécuter le script index.php
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

smartrem
Invité n'ayant pas de compte PHPfrance

20 oct. 2005, 12:17

Alors j'ai mis le site dans le dossier www de easy php, je lance, je me connecte sur le site, je vais sur la page du formulaire et quand je lance j'obtiens ça :

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\program files\easyphp1-8\www\fresh sytle\formmail.php on line 12

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\fresh sytle\formmail.php:12) in c:\program files\easyphp1-8\www\fresh sytle\formmail.php on line 14

Je crois qu'il y a de ça non?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 oct. 2005, 15:27

commente la ligne qui contient la fonction mail(), pour les tests. On verra si l'envoi de mail fonctionne après que tu ais réussi le header
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

smartrem
Invité n'ayant pas de compte PHPfrance

20 oct. 2005, 15:37

Oui alors là ça devient dur parce que changer un mail dans un fichier php, c'est facile mais là partir de zéro ça va être balèze.
A partir de ça
<?php
$TO = "[email protected]";

$h  = "From: Commande de vinyl" . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
  $message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://www.djalks.com/acheter.htm");

?>
je garde quoi exactement?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 oct. 2005, 15:46

déjà, quand tu poste du code, utilise les balise [ PHP ] qui sont au dessus de la zone de texte de saisie
En tant que modérateur, je l'ai fait pour toi ici mais pense y la prochaine fois ;)

ensuite, tente ce code là :
J'ai juste mis l'envoi de mail en commentaire
<?php
 $TO = "[email protected]";

$h  = "From: Commande de vinyl" . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
  $message .= "$key : $val\n";
}

//La ligne suivante est en commentaire pour ne pas envoyer de mail
//   et ne pas déclencher une erreur de serveur SMTP
//mail($TO, $subject, $message, $h);

Header("Location: http://www.djalks.com/acheter.htm"); 
?>
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

smartrem
Invité n'ayant pas de compte PHPfrance

20 oct. 2005, 16:32

Là ça marche effectivement, je n'ai plus la page d'erreur, le problème vient donc du code php en lui même j'en déduis.
Est-ce qu'il y a moyen de garde le truc simple et que j'ai dans le mail que je reçois :
le nom du champ : la chose remplie
et c'est tout, je n'ai pas besoin de vérification ou de quoi que ce soit, le script que tu m'as donné est-il suffisant pour ce genre de chose?
PS : désolé pour les balises php, pas l'habitude des forums php...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 oct. 2005, 17:05

Ca veut seulement dire que c'est ton hebergeur qui ne te permet pas d'utiliser header avec une url absolue

est ce que tu as essayé de remplacer
Header("Location: http://www.djalks.com/acheter.htm"); 
par
Header("Location: acheter.htm"); 
sur le serveur et pas en local ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

smartrem
Invité n'ayant pas de compte PHPfrance

20 oct. 2005, 17:16

J'ai fait la modif et ça ne marche toujours pas, page non trouvée!
( je n'ai pas oublié l'espace après Location:).
En paralèlle, j'attends une réponse de OVH, que je ne manquerai pas de vous transmettre.