Partage
  • Partager sur Facebook
  • Partager sur Twitter

Envoie code de conffirmation

    22 mai 2019 à 21:30:02

    Bonsoir je suis débutant en php, je cherche une solution pour un code. En fait je doit envoyer un code de confirmation a un utilisateur sue son numéro de téléphone que je doit récupérer dans une base de donnée voici ce que j'ai commencer a faire

    voici l'erreur : Notice: Array to string conversion in /opt/lampp/htdocs/SVA/inscription.php on line 69

    <?php
    		
    		include "APISMS-master/Messages/SMSApi.php";
    
    		if(!empty($_POST['nom']))
    		{
    			try
    			{
    				$bdd = new PDO('mysql:host=localhost;dbname=Inscription;charset=utf8', 'root', '');
    			}
    				catch (Exception $e)
    			{
    		        die('Erreur : ' . $e->getMessage());
    			}
    
    			// Je mets aussi certaines sécurités ici…
    			$passe = htmlspecialchars($_POST['passe']);
    			$passe2 = htmlspecialchars($_POST['passe2']);
    
    			if($passe == $passe2 AND isset($_POST['connecter']))
    			{
    			
    			$code = rand(0,9999);
    			// Je vais crypter le mot de passe
    			$passe = sha1($passe);
    
    			$req = $bdd->prepare('INSERT INTO validation (nom, prenom, email, passe, telephone) VALUES(?, ?, ?, ?,?)');
    			$req->execute(array($_POST['nom'], $_POST['prenom'], $_POST['email'], '$passe',$_POST['number']));
    
    			$reponse = $bdd->query("SELECT telephone FROM validation ");
    		
    			$number = $reponse->fetch();
                
    
    
    			//function sendSMS($number, $code){
    			    //$config = [];
    			    //$sms = new SMSApi($config);
    			    $sms = new SMSApi();
    			    $senderAddress = "tel:+221770000000";
    			    $sms->sendSMS(
    			        $senderAddress,
    			        "tel:+221".$number,
    			        $code,
    			        "TESTSMS");
    			$sms->getSMSBalance();
    			}
    			else
    			{
    			 echo 'Les deux mots de passe que vous avez rentrés ne correspondent pas…';
    			}
    			}
    
    	?>

    -
    Edité par moustaphambaye4 22 mai 2019 à 21:35:04

    • Partager sur Facebook
    • Partager sur Twitter
      22 mai 2019 à 21:44:43

      Bonsoir.

      Pour commencer, si tu inclues le fichier SMSApi.php, il est inutile d'utiliser use.

      Ensuite, ta requête de sélection dans la table validation, tu ne fais que récupérer le premier enregistrement de la table et franchement, je ne vois pas l'intérêt de sauvegarder des données dans une table, si elle ne doit contenir qu'un seul enregistrement.

      Pour terminer, et donc, qu'attends-tu comme aide ?

      Tu ne donnes aucun message d'erreur et tu n'expliques même pas quel est ton problème.

      Sinon, ta variable $number, ne contient pas directement la valeur attendu, il te faudrait donc plutôt faire :

      $sms->sendSMS(
          $senderAddress,
          "tel:+221" . $number['telephone'],
          $code,
          "TESTSMS"
      );

      D'ailleurs, pourquoi faire une seconde requête SQL, alors que tu as déjà le numéro de téléphone de l'utilisateur quand tu fais l'insertion en base de données.

      • Partager sur Facebook
      • Partager sur Twitter

      Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.

        22 mai 2019 à 22:29:37

        Oui tu as sans doute raison @Latrtak en fait c'est juste pour un test mon problème se trouvait avec la  variable $number comme tu l'a dit j' y avais  pas mis la valeur attendu je le l'ai rectifie et sa l'air marcher

        La seconde requête C'est pour tester si j'arrivai a récupérer un numéro de téléphone  dans  la base pour ensuit l'envoyer  a utilisateur. Et une prochaine fois j’essayerais d’être plus clair. Et merci hun!

        • Partager sur Facebook
        • Partager sur Twitter

        Envoie code de conffirmation

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown