Venez baraguiner avec la communauté !
Vous n'êtes pas identifié.
j'ai une réponse à la question 3 de élodidi !
Si Si je vous assure.
ALORS.
Si l'UTILISATEUR qui CLIQUE sur le bouton acheter ira directement sur la page de paiement par carte bleu A CONDITION QU'il ne possède PAS de cookie paypal (un cookie qui dit qu'on possède un compte).
Dans le cas contraire, on aura la page nous permettant de nous connecter et en tout petit de payer par carte bleu.
Pour paypal si on a un compte on préférera se connecter plutôt que de payer par carte bleu, car on aura ajouter à notre compte notre carte bleu. (le lien est donc pas très visible).
Pour nous développeur, qui jouons avec la sandbox, on est obligé d'être connecté pour tester, donc on possède le cookie, donc on arrive JAMAIS sur la page de carte bleu directement. (la loose)
La solution est (j'ai pas très bien compris là) d'heberger sur notre machine un sdk ou jsais pas quoi. et là on pourra tout maitriser puisque on communiquera les informations de paiement via api ^^ (bref solution relou surtout pour les mutualisés)
pour le point 1) de elodidi toujours, pour ma part j'ai opté pour le cryptage des boutons à la volée sur ma machine. Comme ça pas de modification des valeurs du form. Et je conseille a Djo, s'il en a le temps de proposer en tutoriel cette option (rhodez informatique l'à déjà fait mais en mode un peu brutale).
Voilou.
A la ferme avec le bétail on s'y sent bien.
ENJOY.
Hors ligne
Bonjour,
Tout d'abord, un grand merci à l'auteur de ce tuto, c'est en effet le seul tuto qui me permet d'utiliser Paypal sur mon site.
J'ai un souci :
La transaction fonctionne mais l'état est "En cours de vérification".
J'ai activé l'option "Renvoi automatique pour les paiements sur site marchand" dans le compte du vendeur. Je suis donc redirigé vers la page en question (une page que j'ai créé en php avec le code du tuto) :
echo "ici";
// lire le formulaire provenant du système PayPal et ajouter 'cmd'
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
// renvoyer au système PayPal pour validation
$header = "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('www.sandbox.paypal.com', 80, $errno, $errstr, 30);
$item_name = $_POST['item_name'];
$item_number = $_POST['item_number'];
$payment_status = $_POST['payment_status'];
$payment_amount = $_POST['mc_gross'];
$payment_currency = $_POST['mc_currency'];
$txn_id = $_POST['txn_id'];
$receiver_email = $_POST['receiver_email'];
$payer_email = $_POST['payer_email'];
$id_user = $_POST['custom'];
if (!$fp) {
echo "grosse erreur une fois";
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
echo 'transaction valide';
}
else if (strcmp ($res, "INVALID") == 0) {
echo 'transaction invalide';
}
}
fclose ($fp);
}et j'obtiens ceci :
ici
Notice: Undefined index: item_name in C:\wamp\www\Congres\paypal_ok.php on line 17
Notice: Undefined index: item_number in C:\wamp\www\Congres\paypal_ok.php on line 18
Notice: Undefined index: payment_status in C:\wamp\www\Congres\paypal_ok.php on line 19
Notice: Undefined index: mc_gross in C:\wamp\www\Congres\paypal_ok.php on line 20
Notice: Undefined index: mc_currency in C:\wamp\www\Congres\paypal_ok.php on line 21
Notice: Undefined index: txn_id in C:\wamp\www\Congres\paypal_ok.php on line 22
Notice: Undefined index: receiver_email in C:\wamp\www\Congres\paypal_ok.php on line 23
Notice: Undefined index: payer_email in C:\wamp\www\Congres\paypal_ok.php on line 24
Notice: Undefined index: custom in C:\wamp\www\Congres\paypal_ok.php on line 25
transaction invalide
Je ne sais donc pas quoi faire pour que la transaction soit terminée.
Je vous remercie d'avance pour votre aide.
beegees
Hors ligne
Bonjour,
Un grand merci pour ce tuto, mais un petit problème quand même...
Je ne comprend pas pourquoi paypal ne bloque pas mes transactions quand elles sont modifié à l'aide d'un plugin tel que Firebug... En effet je modifie volontairement le Total dans le input type hidden et paypal laisse gentiment passer la transaction... De plus si le met la page de validation IPN ou si je la supprime le résultat est strictement identique !
L'idée et en faite d'empêcher la modification d'informations dans le formulaire...
Que faire ?
Merci encore pour ce tuto et pour votre aide
Streetcolor
Hors ligne
Les utilisateurs peuvent très bien modifier les valeurs pour ne payer que 3€ au lieu de 30€ par exemple... Sauf que vous connaissez la vraie valeur de vos produits, Paypal va vous retourner la valeur entrée donc 3€ et de votre côté vous ne validerez pas la commande car le montant est incorrect, donc la personne ayant voulu hacker votre système se retrouve avec 3€ en moins et sa commande non validée...
Hors ligne
Bonjour, je cherche une solution pour ne pas demander aux payeur son nom, son adresse, ville, ..., je veux seulement qu'il puisse payer et c'est tout ?
Merci d'avance
Hors ligne
Bonjour,
Voilà plusieurs heures que je tout et n'importe quoi pour faire marché le script proposé dans ce tutorial. Tout d'abord, il y a plusieurs choses que je ne saisis pas :
// vérifier que payment_amount et payment_currency sont corrects -> C'est à dire? Que dois-je taper comme condition?
Normalement, si j'ai bien compris, les variables IPN sont transmis en GET sur la page notify-url. Je l'ai bien activé, et pourtant, une fois retourné sur la page de l'input return ( une fois le paiement terminé ), je vois l'adresse avec plein de variable ( qui je pense concerne celle de l'IPN ). Est-ce normal? Toutes ces variables ne devrait pas se retrouver sur la page "invisible" de notify_url ?
Autre chose, si un problème vient de mon script, n'y as-t-il aucun moyen de le voir étant donné que le page de notify_url s'exécute toute seule dans son coin ? Parce que je ne peux pas savoir si c'est ma requête qui coince ou autre.. par exemple..
Merci de votre aide.
PS : J'ai bien regardé dans les historiques sur le site de paypal, et les données IPN sont bien envoyés.
EDIT : Je me suis renseigné sur d'autre tutorial, j'ai supprimé toute cette partie de vérification... :
/* // vérifier que payment_status a la valeur Completed
if ( $payment_status == "Completed") {
// vérifier que txn_id n'a pas été précédemment traité: Créez une fonction qui va interroger votre base de données
if (VerifIXNID($txn_id) == 0) {
// vérifier que receiver_email est votre adresse email PayPal principale
if ( "adresseSeller" == $receiver_email) {
// vérifier que payment_amount et payment_currency sont corrects
// traiter le paiementEt ça marche :p
Alors je voudrais savoir si cette partie est-elle indispensable? Représente-t-elle un risque de sécurité si je n'y adhère pas?
Merci !
Dernière modification par Zalian (11/09/2010 21:42:42)
Hors ligne
bonjour a tous,
je suis nouveau ici,après de nombreuses recherches sur ce sujet c'est surement le meillieur forum que je trouve ici .
voila mon soucis qui a été évoqué ici,j'ai créer un site dans lequel je veut vendre un produit unique.ce n'est pas un site marchant,j'ai créer ce site avec un cms (joomla) et j'ai pu installer un module paypal donc pas de difficultées.
mais la ou ca se corse et je vous assure que tous le monde cherche!!!!!!
donc j'obtiens ca 
et c'est vrai que quand on enlève le cookie on obtient une autre page mais sans les payants par carte bleue.
et ce que je voudrais avoir c'est ca 
j'ai créer un compte prémium chez paypal.
mon hébergeur 1and1
mon site éventuellement antoine
bien sur je suis preneur pour une solution en HTML sans le module que j'avais installé.
il faut savoir que je ne comprend rien aux API paypal et a la programmation en général.
merci a tous pour votre aide
Hors ligne
Bonjour à tous ! et merci au développeur pour de ce magnifique tutoriel........
Cependant, n'ayant que très peu d' expérience en Php, tout est clair sur la première partie . Hélas je ne comprends pas la 2eme partie. Où doit -on rajouter cette partie du code (ou comment le renter) concernant la notify_url.
J'espère être clair ...et je vous remercie d'avance pour la réponse.........
Hors ligne
@ZALIAN: biensur qu'il faut mettre ca sinon niveau securite ca descends... par exemple, la transaction peut ne pas etre terminee et que le paiement arrive quand meme (utilite de status completed) ou alors il n'a qu'a recharger plusieurs fois la page et il "achete" 100 fois l'objet en ne le payant qu'une fois.
donc: a ne surtout pas enlever (CQFD)
Hors ligne
bjr
comme tout le monde, merci pour ce tuto qui m'a deja bien aidé mais j'ai egalement un probleme:
avec sandbox mes comptes acheteur et vendeur sont bien créés, à chaque transaction les debits/credits sont effectués et donc noté "terminé". mais au niveau du script de l'ipn:
if (!$fp)
{
echo "ERREUR!"; // ERREUR HTTP
}
else
{
fputs ($fp, $header . $req);
while (!feof($fp))
{
echo $res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0)
{ ... }je rentre dans le else et quand je fais un echo de $res il me renvoie "HTTP/1.1 200 OK". Etant à + de 1024 il m'envoie donc "INVALID". Pourquoi il me renvoie 1200, svp?
merci
Dernière modification par aeyrin (29/10/2010 14:22:50)
Hors ligne
Bonjour,
Je dois mettre en place l'API adaptive payment de paypal.
Quelqu'un l'a déjà mit en place ?
Merci,
Fabien
Hors ligne
bonjour
merci beaucoup pour ce super tuto tres clair et qui permet de mettre assez facilement en place un paiement par paypal
par contre, je rencontre un soucis avec les NPI: j'ai des erreurs 404:
URL de notification : http://souscription.XXX.org/paypal/vali … aiment.php
Code de réponse HTTP: 404
meme erreur du coté de mon serveur apache:
[Tue Nov 02 10:07:56 2010] [error] [client 66.211.170.66] script '/srv/applications/souscription/paypal/validation-paiment.php' not found or unable to stat
sauf que mon fichier est bien sur le serveur... j'ai mis un chmod 777 en me disant que le pb venait peut etre de là, mais à priori non... j'ai plus l'impression que c'est un soucis serveur que paypal mais en meme temps j'ai mis un autre fichier dans le meme repertoire et pas de soucis d'acces!
qq'un a deja rencontré ce soucis, une solution?
merci d'avance
stephane
Hors ligne
re-bonjour
ca aide d'ecrire les choses et de se rendre compte de ses erreurs....
j'avais mis ceci: validation-paiment.php au lieu de validation-paiEment.php
quand on est dedans, on ne voit pas ces petites choses 
c'est corrigé, je vais voir ce que ca donne desormais!
dsl pour ces 2 messages sur le forum
sdesrousseaux a écrit:
bonjour
merci beaucoup pour ce super tuto tres clair et qui permet de mettre assez facilement en place un paiement par paypal
par contre, je rencontre un soucis avec les NPI: j'ai des erreurs 404:
URL de notification : http://souscription.XXX.org/paypal/vali … aiment.php
Code de réponse HTTP: 404
meme erreur du coté de mon serveur apache:
[Tue Nov 02 10:07:56 2010] [error] [client 66.211.170.66] script '/srv/applications/souscription/paypal/validation-paiment.php' not found or unable to stat
sauf que mon fichier est bien sur le serveur... j'ai mis un chmod 777 en me disant que le pb venait peut etre de là, mais à priori non... j'ai plus l'impression que c'est un soucis serveur que paypal mais en meme temps j'ai mis un autre fichier dans le meme repertoire et pas de soucis d'acces!
qq'un a deja rencontré ce soucis, une solution?
merci d'avance
stephane
Hors ligne
Bonjour
Sur la page de verification IPN
au debut on a se code
// renvoyer au système PayPal pour validation
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('www.sandbox.paypal.com', 80, $errno, $errstr, 30);Est-ce normal que $errno et $errstr ne soit pas définis ?
A quoi conresponde ces variable ?
Merci
Hors ligne
Merci
Hors ligne
Bonjour,
j'ai mis en place le tuto, tout semble fonctionner, par contre j'ai toujours le message :
en cour...
Ne voyant pas pourquoi, je vous écrit.
Merci
Hors ligne
Hello,
J'ai suivi le tuto, j'ai créer les comptes vendeur, et acheteur. J'ai installé le bouton acheter, j'ai aussi fait les tests et ça fonctionne bien, le vendeur reçoit les achat et peut les valider...
Mon problème vient après, je ne sais pas ce que c'est que les données ipn, à quoi ça sert dans quelle language c'est et ce que je suis censé faire avec, juste les copié dans la page ou il y a le bouton acheter?
Et avez-vous un tutoriel simple pour ajouter un panier paypal?
Merci beaucoup d'avance, je commence a vraiment désespérer.
Bonne journée
Hors ligne
Salut je me suis inspiré de ce tuto pour faire un traitement de l'ipn via une servlet (servlets.PP (comme PayPal ;-)) en J2EE, j'utilise aussi les sockets et j'ai testé (en mode sansd box) et ça fonctionne :
Voi ci ma servlet servlets.PP.java :
package servlets;
import classes.Datas;
import classes.Mail;
import classes.Objet;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.URLEncoder;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Enumeration;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author pj
*/
public class PP extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.print("bad");
/* TODO output your page here
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet PP</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet PP at " + request.getContextPath () + "</h1>");
out.println("</body>");
out.println("</html>");
*/
} finally {
out.close();
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
Enumeration parameters=request.getParameterNames();
String req=URLEncoder.encode("cmd","UTF-8")+"="+URLEncoder.encode("_notify-validate","UTF-8");
while(parameters.hasMoreElements()) {
String key=parameters.nextElement().toString();
String value=request.getParameter(key);
req+="&"+URLEncoder.encode(key,"UTF-8")+"="+URLEncoder.encode(value,"UTF-8");
}
String header = "POST /cgi-bin/webscr HTTP/1.0\r\n";
header += "Content-Type: application/x-www-form-urlencoded\r\n";
header += "Content-Length: " + req.length()+ "\r\n\r\n";
InetAddress serveur = InetAddress.getByName("www.sandbox.paypal.com");
Socket sock = new Socket(serveur, 80);
String itemName, itemNumber, paymentStatus = null, paymentAmount, paymentCurrency, txnId = null, receiverEmail, payerEmail, idUser;
if(request.getParameter("item_name")!=null)
itemName = request.getParameter("item_name");
if(request.getParameter("item_number")!=null)
itemNumber=request.getParameter("item_number");
if(request.getParameter("payment_status")!=null)
paymentStatus=request.getParameter("payment_status");
if(request.getParameter("mc_gross")!=null)
paymentAmount=request.getParameter("mc_gross");
if(request.getParameter("mc_currency")!=null)
paymentCurrency=request.getParameter("mc_currency");
if(request.getParameter("txn_id")!=null)
txnId=request.getParameter("txn_id");
if(request.getParameter("receiver_email")!=null)
receiverEmail=request.getParameter("receiver_email");
if(request.getParameter("payer_email")!=null)
payerEmail=request.getParameter("payer_email");
if(request.getParameter("custom")!=null)
idUser=request.getParameter("custom");
if(sock==null) {
//Probleme de connexion
} else {
BufferedReader in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(sock.getOutputStream())), true);
out.println(header+req);
String reponse="", ligne="";
while((ligne=in.readLine())!=null)
reponse+=ligne;
if(reponse.indexOf("VERIFIED")!=-1) {
//transaction valide
if(paymentStatus.equals("Completed")) {
//status Copleted
if(this.verifTxnId(txnId)==true) {
//txn_id non encore traité
} else {
//txn_id deja traité
}
}
} else if(reponse.indexOf("INVALID")!=-1) {
//transaction invalide
} else {
//Si on ne trouve pas INVALID ou VERIFIED (normalement impossible)
}
out.close();
in.close();
}
}
//fonction pour tester txn_id (vous pouvez utiliser votre propre fonction)
private boolean verifTxnId(String txnID) {
boolean flag=false;
try {
Objet.getConnection();
String query="SELECT COUNT(id) AS nbTxnId FROM table_txn_id WHERE txn_id=? LIMIT 0,1";
PreparedStatement prepare=Objet.getConn().prepareStatement(query);
prepare.setString(1, txnID);
ResultSet result=prepare.executeQuery();
result.next();
int nbTxnId=result.getInt("nbTxnId");
if(nbTxnId==0)
flag=true;
else
flag=false;
result.close();
prepare.close();
Objet.closeConnection();
} catch (NamingException ex) {
Logger.getLogger(PP.class.getName()).log(Level.SEVERE, null, ex);
flag=false;
} catch (SQLException ex) {
Logger.getLogger(PP.class.getName()).log(Level.SEVERE, null, ex);
flag=false;
}
return flag;
}
/**
* Returns a short description of the servlet.
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}Voila j'espere que ça aidera ceux qui veulent traiter l'IPN en J2EE
Tchao
Dernière modification par stc (04/12/2010 00:23:09)
Hors ligne
Bonjour,
Tout d'abord, merci pour ce tutoriel qui m'a vraiment aidé.
Mais, j'ai un problème pour la deuxième partie : le $fp ne me retourne pas de "VERIFIED", ni de "INVALID". Tout ce a quoi j'ai droit, c'est :
"
HTTP/1.1 200 OK
Date: Thu, 07 Dec 2010 11:30:58 GMT
Server: Apache
Set-Cookie: pleinDeChiffresEtDeLettres; domain=.paypal.com; path=/
Set-Cookie: cookie_check=yes; expires=Mon, 02-Dec-2020 11:30:59 GMT; domain=.paypal.com; path=/
Set-Cookie: navcmd=_notify-validate; domain=.paypal.com; path=/
Set-Cookie: navlns=0.0; expires=Sun, 01-Dec-2030 11:30:59 GMT; domain=.paypal.com; path=/
Set-Cookie: Apache=10.191.196.11.213971291635058999; path=/; expires=Sat, 22-Oct-04 05:02:42 GMT
Connection: close
Content-Type: text/html; charset=UTF-8
"
Ce problème viendrait-il du fait que j'utilise la sandbox ? Y a t-il une solution ou ne pourrais-je tester qu'avec le veritable compte ?
Merci d'avance !
NB : j'ai aussi posté ca en commentaire, je n'avais pas vu qu'il fallait venir ici... Désolé !
Hors ligne
Bien sur, mais j'utilise exactement le même code que dans le tuto...
Le voila quand même :
// lire le formulaire provenant du système PayPal et ajouter 'cmd'
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value)
{
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
// renvoyer au système PayPal pour validation
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('www.sandbox.paypal.com', 80, $errno, $errstr, 30);
$item_name = $_POST['item_name'];
$item_number = $_POST['item_number'];
$payment_status = $_POST['payment_status'];
$payment_amount = $_POST['mc_gross'];
$payment_currency = $_POST['mc_currency'];
$txn_id = $_POST['txn_id'];
$receiver_email = $_POST['receiver_email'];
$payer_email = $_POST['payer_email'];
$id_user = $_POST['custom'];
if (!$fp)
{
mail('[email protected]', 'PAYPAL', "NO FP", 'From: [email protected]'."\r\n");
// ERREUR HTTP
}
else
{
mail('[email protected]', 'PAYPAL', "FP OK", 'From: [email protected]'."\r\n");
fputs ($fp, $header . $req);
while (!feof($fp))
{
// Je m'envoie ce que retourne le serveur
mail('[email protected]', 'PAYPAL-check', '"'.$res.'"', 'From: [email protected]'."\r\n");
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0)
{
// transaction valide
// vérifier que payment_status a la valeur Completed
if ( $payment_status == "Completed")
{
// vérifier que txn_id n'a pas été précédemment traité: Créez une fonction qui va interroger votre base de données
if (VerifIXNID($txn_id) == 0)
{
// vérifier que receiver_email est votre adresse email PayPal principale
if ( "votreEmailSeller" == $receiver_email)
{
// vérifier que payment_amount et payment_currency sont corrects
// traiter le paiement
mail('[email protected]', 'PAYPAL', "VALIDEE", 'From: [email protected]'."\r\n");
}
else
{
// Mauvaise adresse
mail('[email protected]', 'PAYPAL', "paiement sur mauvaise adresse", 'From: [email protected]'."\r\n");
}
}
else
{
mail('[email protected]', 'PAYPAL', "ALREADY DONE", 'From: [email protected]'."\r\n");
//already done => fraude ?
}
}
else
{
//Problème au paiement -> non complété
mail('[email protected]', 'PAYPAL', "PROBLEME LORS DU PAIEMENT, 'From: [email protected]'."\r\n");
}
}
else if (strcmp ($res, "INVALID") == 0)
{
// Transaction invalide
mail('[email protected]', 'PAYPAL', "TRANSACTION INVALIDE", 'From: [email protected]'."\r\n");
}
else
mail('[email protected]', 'PAYPAL', "BIZARRE", 'From: [email protected]'."\r\n");
}
fclose ($fp);
}J'utilise les mails pour savoir ce qui se passe quand la page est appelée. J'avais la flemme d'écrire dans un fichier.
Du coup, je reçois par mail ce que j'ai poste plus haut et j'ai pu vérifier que la seule condition dans laquelle ca rentre, c'est le else finale que j'ai ajouté (mail("BIZARRE")).
Par ailleurs, merci d'avoir répondu !
En passant, c'est cool la coloration syntaxique. C'est pas sur tout les forums qu'on peut l'avoir.
Dernière modification par Nanolenain (07/12/2010 18:44:46)
Hors ligne
Ooooh ! Magnifique ! J'ai toujours la description du serveur, mais maintenant, elle est suivie du mot tant attendu : "VERIFIED" ! Merci beaucoup stc !
Hors ligne