Problème Migration PH4 >>> PHP5

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème Migration PH4 >>> PHP5

par dunbar » 02 mai 2008, 17:19

Génial alors il y a un GROS bouton résolu en haut à gauche tu peut cliquez dessus :wink:

par Julio » 02 mai 2008, 17:16

Oki, bon alors en même temps j'avais une queue de 45000 mails dans Qmail sur mon serveur.
On vient de refaire la queue, et ça fonctionne.

Je viens de tester avec la modife et ça fonctionne aussi.

par dunbar » 02 mai 2008, 17:14

Salut;
Essaye comme ceci
<?php
/********************************************************************************************************\
*                                                                                                        *
* FICHE D'INSERTION DE JOUEUR                                                                             *
*                                                                                                        *
* Nom du fichier         : insertJoueur.php                                                              *
* Repertoire             : ../joueur                                                                     *
* Derniere modification  : 19.09.03 @ 16:52                                                              *
* Descriptif             : Ce fichier contient le code d'insertion d'un joueur                           *
*                                                                                                        *
* Ce code est la propriété de Leaguexbox. Toute utilisation partielle ou complete de ce code sans    *
* autorisation pourra entrainer des poursuites aupres des instances compétentes. Pour tout renseignement *
* supplementaire vous pouvez nous contactez à [email protected]                                         *
*                                                                                                        *
\********************************************************************************************************/


// Gestion securite
define('IN_NCL',true);


// Connection a l'environnement
define('PAGE_TYPE','communaute');


include("../includes/connect.php");



// Si certains champs n'ont pas ete renseignes, on assignele message d'erreur correspondant
if ((empty($nomJoueur)) || (empty($prenomJoueur)) || (empty($pseudo)) || (empty($email)) || (empty($mdpass)) || (empty($ville)) || (empty($adresse)) || (empty($cp)) || ($diffInfo!='1'))
    NCLerreur($lang['miss_champs'],4);


// Vérification de la présence ou non de balise html < et >




for($i=0;$i<strlen($pseudo);$i++)
{
    if($pseudo[$i]=='<' || $pseudo[$i]=='>')
    {
        NCLerreur($lang['error_in_pseudo'], 4);
    }
}


// On teste si l'adresse mail entree est correcte
// On passe la variable $mailValide à 0
$mailValide=0;
for ($i=0;$i<strlen($email);$i++)
{
    // Si l'adresse contient un @ on incremente la variable de 1
    if ($email{$i}=='@')
        $mailValide++;

    // Si l'adresse contient un . on incremente la variable de 1
    if ($email{$i}=='.')
        $mailValide++;
}


// Si $mailValide est inferieur a deux, c soit qu'il manque l'@,soit qu'il manque le .
// L'adresse n'est donc pas valide et on assigne le message d'erreur correspondant
if ($mailValide<2)
    NCLerreur($lang['email_error'],4);




// Si les deux champs email et emailconfirm ne contiennent pas la meme adresse, on assigne
// le message d'erreur correspondant
if ($email!=$emailconfirm)
    NCLerreur($lang['mails_differents'],4);

// Si les deux champs email et emailconfirm ne contiennent pas la meme adresse, on assigne
// le message d'erreur correspondant
if ($mdpass!=$mdpassconfirm)
    NCLerreur('Votre mot de passe n\'\est pas identique, merci de le ressaisir',4);


// On teste si le pseudo entre est lgx ou admin, qui sont tous deux interdits
if (($pseudo=="admin") || ($pseudo=="lgx"))
    NCLerreur($lang['login_interdit'],4);


// Plus d'attribution de mot de passe au hasard depuis le 28-02-08 : Scalap
// On genere un mot de passe au hasard, qui sera envoye a l'utilisateur par mail apres avoir ete encode
//$mdpass=rand(1,99999999);


// Le mot de passe du site sera encode en base_64
$mdpasssite=base64_encode($mdpass);




// Requete servant a determiner si le pseudo entre existe deja
$testlogin = requete_sql("SELECT *
                          FROM " . TABLE_USERS . " tu
                          WHERE tu.pseudo = '$pseudo' ");
$testlogin2 = mysql_num_rows($testlogin);


// Requete servant a determiner si le mail entre existe deja
$testmail = requete_sql("SELECT *
                         FROM " . TABLE_USERS . " tu
                         WHERE tu.mail = '$email' ");
$testmail2 = mysql_num_rows($testmail);


// Si testlogin2 est different de 0, c'est que la requette a renvoye au moins un resultat et
// que le pseudo existe donc deja. On assigne donc le message d'erreur correspondant.
if ($testlogin2!=0)
    NCLerreur(sprintf($lang['login_existant'], $pseudo),4);


// Si testmail2 est different de 0, c'est que la requette a renvoye au moins un resultat et
// que le mail existe donc deja. On assigne donc le message d'erreur correspondant.
if ($testmail2!=0)
    NCLerreur(sprintf($lang['email_existant'], $email),4);


//rustine : $lang est utilisé dans le systeme de newsletter
$langue=$lang;


//Inscription a la newsletter
define('IN_WA_FORM', true);
$waroot = '../newsletter/';
include($waroot . 'newsletter.php');


//fin de la rustine
$lang=$langue;


// On recupere la date du jour
$dateToday=date("Y-m-d");


// Si le champs de l'avatar n'a pas ete renseigne, on utilise l'avatar par defaut
//if($urlphoto=='')
//    $urlphoto='../images/avatars/defaut.jpg';
//changé par fred le 7/04/04 (avec les tpl, c'est plus simple si on ne code pas l'adresse de l'avatar dans la base




// Requete d'insertion du joueur
$sqlInsertUser="INSERT INTO " . TABLE_USERS . "
       (dateJoin, valrand, nom, prenom,
       sexe, dateNaissanceJour, dateNaissanceMois, dateNaissanceAnnee,
       universite, pseudo, mdpass, mail,
       adresse, codePostal, ville, pays,
       departement, affichNom, affichPrenom, affichMail,
       icq, msn, aim, adsl, lienPhoto,infos,teamOK)
       VALUES
       ('$dateToday', '$valrand', '$nomJoueur', '$prenomJoueur',
       '$sexe', '$jour', '$mois', '$annee',
       '$universite', '$pseudo', '$mdpasssite', '$email',
       '$adresse', '$cp', '$ville', '$country',
       '$dep', '$nomVisible', '$prenomVisible', '$emailvisi',
       '$nicq', '$nmsn', '$naim', '$nadsl','$urlphoto','$diffInfo','N')";
mysql_query($sqlInsertUser) or die(mysql_error());




// On recupere l'ID du joueur qui viens d'etre enregistre
$lastUserId=mysql_insert_id();


// On enregistre dans log process les donnees de l'utilisateur s'etant inscrit

$client_ip = getenv("REMOTE_ADDR");
$client_host = gethostbyaddr($client_ip);
logProcess($_SERVER['SCRIPT_NAME'],"OK",addslashes("Inscription du joueur $lastUserId sous l'ip : $client_ip et le host : $client_host"),0,0);






// Enfin cree une entree dans la tables des jeux favoris pour le joeur qui viens d'etre cree
$sqlJeuxFavoris="INSERT INTO jeu_joueur
       (idJoueur, idJeuPref1,
       idJeuPref2, idJeuPref3,
       idJeuPref4, idJeuPref5, idJeuPref6)
       VALUES
       ('$lastUserId', 0, 0, 0, 0, 0, 0)";
requete_sql($sqlJeuxFavoris);




$headers ='From: <[email protected]>'."\n";
// Pour finir l'insription on envoie un mail de confirmation, qui contient le mot de passe
$OBJET = "Inscription sur LeagueXbox.fr";
$MAIL_TEXT =
"Bienvenue sur Leaguexbox $pseudo !


Ton inscription est validée, et voici le mot de passe à utiliser : $mdpass


Tu peux tout à fait le changer une fois connecté sur le site, en cliquant sur le menu MON COMPTE.
Surtout n'oublis pas de bien remplir tous les champs de ton profil et particulièrement le champ GAMERTAG.


Le Staff Leaguexbox te souhaite bon surf sur LGX en éspérant que tu y trouves pompes à ton pied ;)


@TRES BIENTÔT SUR LGX ET SUR LE LIVE ;)
L'Administration LGX,
http://www.leaguexbox.fr
";
if(mail($email,$OBJET,$MAIL_TEXT,$headers)) // envoie du mail
     {

          echo '<center><p> Envoi réussi</p>
               <center><p> Message correctement envoyé une copie va vous parvenir par Email.</center></p>';
               echo '<center><div><a href=../main_pages/accueil.php>Bon Surf</a><br/></div></center>'."\n";
          }else{
          echo 'Le mail n\'a pu être envoyé';
          }


?>


par dunbar » 02 mai 2008, 17:03

Je t'ai fais parvenir le code par MP pour que tu puisses comprendre.
Oui j'ai reçu mais la prochaine fois place le ici que tout le monde puisse t'aider :wink:

essaye en remplacant cette ligne et dit nous quoi ! :wink:
mail($email, $OBJET, $MAIL_TEXT, "From: [email protected]");

par Julio » 02 mai 2008, 16:56

Je t'ai fais parvenir le code par MP pour que tu puisses comprendre.

par dunbar » 02 mai 2008, 16:51

Euh oui, mais le destinataire c'est jamais le même en faite vu que c'est un mail d'inscription, c'est pour ça que je demandais, il faut que j'utilise $email.

Veux tu voir le code de ma page peut-être ?
Donc alors comme c'est une inscription ils doivent mettre leur adresse mail donc toi tu la récupére comme ceci.
$dest      = $_POST['mail_inscription'];  --> $_POST est l'adreese qu'ils introduise à l'inscription

$mail = c'es l'adresse de l'expiditeur (toi)
Oui le code de ta page serait le bien venu :wink:

par Julio » 02 mai 2008, 16:46

Euh oui, mais le destinataire c'est jamais le même en faite vu que c'est un mail d'inscription, c'est pour ça que je demandais, il faut que j'utilise $email.

Veux tu voir le code de ma page peut-être ?

par dunbar » 02 mai 2008, 16:43

OKi, je vais essayer, moi je suis webdesigner, le codage php c'est une autre pers qui le gère, donc je suis un peu à la rue sur le php.

Pour la ligne suivante :
$dest     = 'mail_destinataire'; 
Moi je dois coller ça : $email
Je met juste ça : $email à la place de 'mail_destinataire' ?
Tu y place l'email du destinataire

par Julio » 02 mai 2008, 16:11

OKi, je vais essayer, moi je suis webdesigner, le codage php c'est une autre pers qui le gère, donc je suis un peu à la rue sur le php.

Pour la ligne suivante :
$dest     = 'mail_destinataire'; 
Moi je dois coller ça : $email
Je met juste ça : $email à la place de 'mail_destinataire' ?

par dunbar » 02 mai 2008, 15:05

Salut
Comme ceci peut-être (a la grosse louche) :wink:
<?php
$nom_site ='test mail';
$mail     = 'mail_expediteur';
$dest     = 'mail_destinataire';
$headers  ='From: '.$nom_site.'<'.$mail.'>'."\n";

// Pour finir l'insription on envoie un mail de confirmation, qui contient le mot de passe
$OBJET = "Inscription sur ********.fr";
$MAIL_TEXT =
'Bienvenue sur ********* '.$pseudo.' !'."\n\n".
'Ton inscription est validée, et voici le mot de passe à utiliser : '.$mdpass.'.'."\n\n".
'Tu peux tout à fait le changer une fois connecté sur le site, en cliquant sur le menu MON COMPTE..'."\n\n".
'Surtout n\'oublis pas de bien remplir tous les champs de ton profil et particulièrement le champ GAMERTAG.'."\n\n".
'Le Staff ********te souhaite bon surf sur ****en éspérant que tu y trouves pompes à ton pied ;).'."\n\n".
'@TRES BIENTÔT SUR ***;).'."\n\n".
'L\'Administration ***,.'."\n\n";
'http://www.*********.fr .'."\n";


   if(mail($dest,$OBJET,$MAIL_TEXT,$headers))

	      {

          echo '<center><p> Envoi réussi</p>
               <center><p> Message correctement envoyé .</center></p>';

          }
     else
          {
          echo 'Le mail n\'a pu être envoyé';
          }


?>

Problème Migration PH4 >>> PHP5

par Julio » 02 mai 2008, 14:14

Bonjour,

Je viens de baculer de PHP4 à PHP5, tout s'est bien passé, j'ai dû activer quelques fonctions.
Par contre, ma fonction mail ne marche plus. Pour le forum, pas de soucis, c'est du Vbulletin, ça marche impeccable. Par contre, les mails d'inscription au site, les mails de mot de passe oublié etc... eux ne passent plus.

Voici un exemple de mail envoyé :
// Pour finir l'insription on envoie un mail de confirmation, qui contient le mot de passe
$OBJET = "Inscription sur ********.fr";
$MAIL_TEXT = 
"Bienvenue sur ********* $pseudo !


Ton inscription est validée, et voici le mot de passe à utiliser : $mdpass


Tu peux tout à fait le changer une fois connecté sur le site, en cliquant sur le menu MON COMPTE.
Surtout n'oublis pas de bien remplir tous les champs de ton profil et particulièrement le champ GAMERTAG.


Le Staff ********te souhaite bon surf sur ****en éspérant que tu y trouves pompes à ton pied ;)


@TRES BIENTÔT SUR ***;)
L'Administration ***,
http://www.*********.fr
";
mail("$email", "$OBJET","$MAIL_TEXT","From: support@*********.fr"); 
Est-ce que quelqu'un aurait une idée pour corriger ce problème ?
Amicalement