Parse error: syntax error, unexpected...

Résolu/Fermé
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - Modifié par papyclic le 19/02/2015 à 17:07
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 19 févr. 2015 à 20:35
Bonjour,
Je voudrais vous demander si vous pouvez m'aider à résoudre mon erreur, que je n'arrive pas à trouver.
Vu l'erreur je crois que c'est un problème de syntax, malheureusement j'ai essayé de bien analyser mon code mais en vain.
Merci vraiment de votre aide.
Voici mon erreur
Parse error: syntax error, unexpected ',' in C <gras>à la ligne 51</gras>

Ma page
if(isset($_POST['action'])) {

    $nom  = isset($_POST['nom']) ? Security::clean($_POST['nom']) : '';
    $prenom  = isset($_POST['prenom']) ? Security::clean($_POST['prenom']) : '';
 $email  = isset($_POST['email']) ? Security::clean($_POST['email']) : '';
    $pseudo     = isset($_POST['pseudo']) ? Security::clean($_POST['pseudo']) : '';
    $password = isset($_POST['password']) ? Security::clean($_POST['password']) : '';

 $envoie_identifiant = new Envoie_Identifiant_class($nom, $prenom, $email, $pseudo, $password);
 $verif_envoie_identifiant = $envoie_identifiant->VerifEnvoieIdentifiant();

 if($verif_envoie_identifiant == 'success') {

 $sql = "SELECT *
   FROM tb_adherent
   WHERE nom = :nom
   AND prenom = :prenom
   AND email = :email
   AND actif = 1";
 $resultat = $bdd->prepare($sql);
 $resultat->execute(array(
      'nom'   => $nom,
      'prenom'  => $prenom,
      'email'  => $email
      ));

  while($donnees = $resultat->fetch()) {

   $random = rand(759317, 985120);
   $new_password = $random;

   $email_password = $new_password;

   $new_password = Security::hash($new_password);

   $sql = "UPDATE tb_adherent
     SET password = '".$new_password."'
     WHERE nom = '".$nom."'
     AND prenom = '".$prenom."'
     AND actif = 1";
   $requete = $bdd->prepare($sql);
   $requete->execute();

   $mail = mail($email,

   $sql = ("SELECT *
     FROM tb_adherent"));
   $requete = $bdd->prepare($sql);       
   $donnees = $requete->execute();

     "Rappel de tes identifiants",
     "Bonjour ".$prenom.",<br/>
     Tu a souhaité recevoir ton Login et ton Mot de Passe...les voicis...<br/><br/>
     Ton Login est :
     <b><li>".$donnees['pseudo']."</li></b><br/>
     Ton Mot de passe est :
     <b><li>".$email_password."</li></b><br/><br/>

   A bientot !
   echo $donnees['prenom']; \n
   echo $donnees['telephone_fixe'] . ' ' . $donnees['telephone_mobile'];

     http://www.monsite.fr",
     'Content-type: text/html; charset=utf-8'."\r\n",
     "From: monsite.fr <monsite@orange.fr>";

     echo "<span class='success-info'>Ton mot de passe et ton Login viens de t-être envoyé à l'adresse : [ $email ] Tu va les recevoir dans quelques minutes.</span>";
  }
 } else {
  $erreur[] = $verif_envoie_identifiant;
  }
}

if (isset($erreur)) {
 echo output_errors($erreur);
}

6 réponses

jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665
19 févr. 2015 à 17:08
Bonjour,

Tu as juste oublié ... de mettre des echo.... sur cette partie là de ton code...( à partir de la ligne .. comme indiqué par le message d'erreur......

					"Rappel de tes identifiants",
					"Bonjour ".$prenom.",<br/>
					Tu a souhaité recevoir ton Login et ton Mot de Passe...les voicis...<br/><br/>
					Ton Login est :
					<b><li>".$donnees['pseudo']."</li></b><br/>
					Ton Mot de passe est :
					<b><li>".$email_password."</li></b><br/><br/>

			A bientot !

1
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 3
19 févr. 2015 à 18:00
Bonjour
Merci de ton retour, j'avance à petit pas, maintenant j'ai une autre erreur toujours de syntax je suppose.
C'est à cette ligne
Content-type
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C........

			$mail = mail($email,

			$sql = ("SELECT *
					FROM tb_adherent"));
			$requete = $bdd->prepare($sql);							
			$donnees = $requete->execute();

					echo "Rappel de tes identifiants",
					"Bonjour ".$prenom.",<br/>
					Tu a souhaité recevoir ton Login et ton Mot de Passe...les voicis...<br/><br/>
					Ton Login est :
					<b><li>".$donnees['pseudo']."</li></b><br/>
					Ton Mot de passe est :
					<b><li>".$email_password."</li></b><br/><br/>

			A bientot !";
			echo $donnees['prenom'];
			echo $donnees['telephone_fixe'] . ' ' . $donnees['telephone_mobile'];

					"http://www.monsite.fr"
					'Content-type: text/html; charset=utf-8'."\r\n"
					"From: monsite.fr <monsite@orange.fr>";

					echo "<span class='success-info'>Ton mot de passe et ton Login viens de t-être envoyé à l'adresse : [ $email ] Tu va les recevoir dans quelques minutes.</span>";
		}
0
jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665
19 févr. 2015 à 18:03
voici le code corrigé (ça ira plus vite je pense....)
echo "Rappel de tes identifiants,
	   Bonjour ".$prenom.",<br/>
	   Tu a souhaité recevoir ton Login et ton Mot de Passe...les voicis...<br/><br/>
     Ton Login est :
	   <b><li>".$donnees['pseudo']."</li></b><br/>
	   Ton Mot de passe est :
	   <b><li>".$email_password."</li></b><br/><br/>
	   A bientot !";

0
jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665
19 févr. 2015 à 18:04
Tu auras le même souci sur les lignes d'en dessous....

echo "http://www.monsite.fr";
echo  'Content-type: text/html; charset=utf-8'."\r\n";
echo	 "From: monsite.fr <monsite@orange.fr>";;

0
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 3
19 févr. 2015 à 18:26
En mettant les echo il ne rentre pas dans la fonction mail en fait cela me retourne les echo sur la page de mon site et non dans le mail, jen ne sais pas si il n'y a pas un problème d'accolade?
Mais j'ai fait des essaie sans résultat.
Merci encore
0
jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665
19 févr. 2015 à 18:55
Je viens de relire l'intégralité de ton code.....
et ça ne risque pas de marcher !!!!

Tu ne peux pas... directement dans l'appel d'une fonction... mettre des requêtes sql.. des boucles.........

Je te propose ceci :
Tu places cette fonction dans ta page :
<?php

function Envoi_Mail($to,$prenom,$donnees,$email_password ,$from="monsite.fr <monsite@orange.fr>",$cc='',$fileAttach=NULL,$fileName=NULL) {
  
  // Creation de l'entete du mail a envoyer
  // --------------------------------------
  $boundary = md5(uniqid(microtime(), TRUE));
  $headers = "From: $from\r\n";
  $headers .= "Cc: $cc\n";
  $headers .= 'Mime-Version: 1.0'."\r\n";
  $headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
  $headers .= "\r\n";
 
  // Creation du message a envoyer
  // -----------------------------
  $message  =
  '--' . $boundary . "\r\n" .
  'Content-type: text/html; charset=ISO-8859-15' . "\r\n\r\n
  <html>
   <body style='margin:10px 0px 0px 30px;
                color:#393989;
                font-family:Arial;
                font-size:13px;' >      
   
	  Rappel de tes identifiants,
    Bonjour ".$prenom.",<br/>
     Tu a souhaité recevoir ton Login et ton Mot de Passe...les voicis...<br/><br/>
     Ton Login est :
     <b><li>".$donnees."</li></b><br/>
     Ton Mot de passe est :
     <b><li>".$email_password."</li></b><br/><br/>

    A bientot !
    <a href='http://www.monsite.fr'>http://www.monsite.fr</a> 
    <br>
   </body>
  </html>\r\n";
  
  // Piece jointe
  // ------------
  if (trim($fileAttach) != '' && file_exists(fileAttach)) {
   $file_type = filetype($fileAttach);
   $file_size = filesize($fileAttach);

   $handle = fopen($fileAttach, 'r') or die("Le fichier $fileAttach ne peut etre ouvert");
   $content = fread($handle, $file_size);
   $content = chunk_split(base64_encode($content));
   $f = fclose($handle);

   $message .= '--'.$boundary."\r\n";
   $message .= 'Content-type:'.$file_type.';name='. preg_replace("/^[0-9]+_/", "", $filename) ."\r\n";
   $message .= 'Content-transfer-encoding:base64'."\r\n\r\n";
   $message .= $content."\r\n";
  }
  //echo $message;
  
  // Envoi du mail
  // -------------
 return mail($to, $objet, $message, $headers);
 } 
 
 
 if(isset($_POST['action'])) {

    $nom  = isset($_POST['nom']) ? Security::clean($_POST['nom']) : '';
    $prenom  = isset($_POST['prenom']) ? Security::clean($_POST['prenom']) : '';
 $email  = isset($_POST['email']) ? Security::clean($_POST['email']) : '';
    $pseudo     = isset($_POST['pseudo']) ? Security::clean($_POST['pseudo']) : '';
    $password = isset($_POST['password']) ? Security::clean($_POST['password']) : '';

 $envoie_identifiant = new Envoie_Identifiant_class($nom, $prenom, $email, $pseudo, $password);
 $verif_envoie_identifiant = $envoie_identifiant->VerifEnvoieIdentifiant();

 if($verif_envoie_identifiant == 'success') {

 $sql = "SELECT *
   FROM tb_adherent
   WHERE nom = :nom
   AND prenom = :prenom
   AND email = :email
   AND actif = 1";
 $resultat = $bdd->prepare($sql);
 $resultat->execute(array(
      'nom'   => $nom,
      'prenom'  => $prenom,
      'email'  => $email
      ));

  while($donnees = $resultat->fetch()) {

   $random = rand(759317, 985120);
   $new_password = $random;

   $email_password = $new_password;
   $new_password = Security::hash($new_password);

   $sql = "UPDATE tb_adherent
     SET password = '".$new_password."'
     WHERE nom = '".$nom."'
     AND prenom = '".$prenom."'
     AND actif = 1";
   $requete = $bdd->prepare($sql);
   $requete->execute();

   
	if( Envoi_Mail($email,$prenom,$donnees['pseudo'],$email_password ,"monsite.fr <monsite@orange.fr>")){	 
	  echo "<span class='success-info'>Ton mot de passe et ton Login viens de t-être envoyé à l'adresse : [ $email ] Tu va les recevoir dans quelques minutes.</span>";
  }else {
    $erreur[] = $verif_envoie_identifiant;
  }
}

if (isset($erreur)) {
 echo output_errors($erreur);
}





0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 3
19 févr. 2015 à 19:38
Bonjour
Très grand merci pour ce merveilleux script.
Tout fonctionne super très bien, c'est génial d'aider les gens comme tu le fait et tous les autres aussi qui donnent beaucoup de votre temps au service d'un entraide communautaire formidable.
Bonne continuation.

PS Juste une question ! connait tu les connexion automatique avec COOKIE ?
J'ai demandé de l'aide mais par contre je n'ai pas résolu mon problème si au cas ou tu aurais quelque chose à me proposer...
Merci encore pour tout
0
jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665
19 févr. 2015 à 19:44

PS Juste une question ! connait tu les connexion automatique avec COOKIE ?
J'ai demandé de l'aide mais par contre je n'ai pas résolu mon problème si au cas ou tu aurais quelque chose à me proposer...


J'avais déjà cherché avec toi ..... et je ne sais pas pourquoi ça ne fonctionnait pas.....
Il faudrait que je reprenne ENTIÈREMENT ton code pour le refaire ... mais je n'ai pas vraiment le temps. désolé.
0
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 3
19 févr. 2015 à 20:35
Je te remercie.
Cordialement
0