Connexion
S'inscrire
Actualités
Quoi de neuf
Activités générales
Auteurs
Forums
Nouveaux messages
Rechercher un forum
Wiki
Pages
Dernière activité
Quoi de neuf
Nouveaux messages
Nouveaux messages de profil
Activités générales
Membres
Membres inscrits
Visiteurs actuels
Nouveaux messages de profil
Rechercher dans les messages des profils
Teams
Créé ton équipe
Quoi de neuf ?
Nouveaux messages
Rechercher un forum
Menu
Connexion
S'inscrire
Install the app
Install
Forums
Forums généraux
Informatique
PHP - MySQL | Vérification par SMS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Vous utilisez un navigateur non à jour ou ancien. Il ne peut pas afficher ce site ou d'autres sites correctement.
Vous devez le mettre à jour ou utiliser un
navigateur alternatif
.
Répondre à la discussion
Message
<blockquote data-quote="Boosterz'" data-source="post: 5929144" data-attributes="member: 540186"><p style="text-align: center"><img src="http://image.noelshack.com/fichiers/2015/40/1443630723-header.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></p> <p style="text-align: center"></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">I - <strong>Introduction</strong></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">II - <strong>Ressources nécessaire</strong></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">III -<strong> Le script PHP</strong></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">VI -<strong> La création de la table MySQL</strong></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">V - <strong>L'adaptation du script PHP</strong></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"><img src="http://image.noelshack.com/fichiers/2015/40/1443635653-intro.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Ce système est pratique étant donner qu'il permet d'effectué une vérification du numéro de téléphone de la personne qui s'inscrit sur votre site. </span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Attention, l'envoie de SMS est payant par des sites spécialisé plus ou moins cher, certains propose des offres gratuite mais souvent de mauvaise qualité. </span></span></p> <p style="text-align: center"><span style="font-size: 12px"><span style="font-family: 'Arial'">Pour ce tutoriel j'utiliserais Spot-Hit qui propose 10 SMS premium et 10 SMS </span></span><span style="font-family: 'Arial'"><span style="font-size: 12px">low-cost gratuit.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"><img src="http://image.noelshack.com/fichiers/2015/40/1443636173-ressources.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Donc avant de commencer à écrire ce tutoriel j'ai codé un template à l'aide de bootswatch pour le HTML [FA]fa-html5[/FA], donc je vous le met à disposition pour ceux qui ne veulent pas lire mon tutoriel.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"><a href="https://1fichier.com/?4kidhnav7h" target="_blank">Téléchargement (serveur 1)</a> <strong>• </strong><a href="http://www.mediafire.com/download/1pfctu1yk33jg4b/Verification+SMS.zip" target="_blank">Téléchargement (serveur 2)</a> <strong>• </strong><a href="https://mega.nz/#!ERoWiCLL!IXyfLatxQZPiLMc-9LMIDZLvof8SR2CDIedgRMyM3k0" target="_blank">Téléchargement (serveur 3)</a> <strong>• </strong><a href="https://www.virustotal.com/fr/file/127f1a63fb9aec802c87e75d712e1145ca8228738ce53c96fcd2547532206391/analysis/1443636995/" target="_blank">Virus Scan</a></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Ensuite il vous faudra un fournisseur de SMS, donc comme j'ai dis moi j'utilise <a href="http://www.spot-hit.fr" target="_blank">Spot-Hit</a> que je vous conseil.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"><img src="http://image.noelshack.com/fichiers/2015/40/1443638096-script.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Voila le script fournit par Spot-Hit.</span></span></p> <p style="text-align: center"></p><p>[PHP]</p><p><?php</p><p>// Données du message</p><p>$data = Array(</p><p>'key' => 'fe01ce2a7fbac8fafaed7c982a04e229',</p><p>'destinataires' => '+33600000000',</p><p>'type' => 'premium',</p><p>'message' => 'Hello World !',</p><p>'expediteur' => 'Spot-Hit',</p><p>'date' => ''</p><p>);</p><p></p><p>// Conversion des données en paramètre pour une URL (http://fr2.php.net/manual/fr/function.urlencode.php)</p><p>foreach($data as $parametre => $valeur)</p><p>{</p><p>$requete .= $parametre.'='.urlencode($valeur).'&';</p><p>}</p><p></p><p>// Appel de l'API Spot-Hit et récupération de la réponse dans la variable $reponse_json</p><p>$reponse_json = file_get_contents('http://www.spot-hit.fr/api/envoyer/sms?'.$requete);</p><p></p><p>// Conversion JSON en tableau avec json_decode (http://fr2.php.net/manual/fr/function.json-decode.php)</p><p>$reponse_array = json_decode($reponse_json, true);</p><p></p><p>// Si 'resultat' == 1, le message a été envoyé correctement</p><p>if($reponse_array['resultat'])</p><p>{</p><p>echo 'Message envoyé avec succès ! Identifiant unique : '.$reponse_array['id'].'';</p><p>}</p><p>else</p><p>{</p><p>echo 'Erreur(s) : '.$reponse_array['erreurs'].'';</p><p>}</p><p>?></p><p>[/PhP]</p><p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Donc, vous allez devoir modifier deux trois truc sinon cela serait trop simple.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Alors la key vous la trouverez dans la rubrique <a href="http://www.spot-hit.fr/espace-client/parametres/api" target="_blank">API</a>.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Ensuite le numéro si vous voulez un numéro qui soit toujours le même il vous suffit de mettre dans " destinataires ", sinon avec une variable, chose que on verra à la partie suivante.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Le type vous mettez, premium ou lowcost.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Ensuite le message simplement c'est le message qui sera envoyée au destinataire.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">L'expéditeur peut être modifié seulement pour les messages premium.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"><img src="https://imagizer.imageshack.us/v2/500x75q90/910/9S5gk6.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /> </span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Donc on va allez créer la table, pour ma part comme il s'agit d'un tutoriel je vais réduire au maximum. </span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Donc il faudra obligatoirement un pseudo que j’appellerais " name " dans la table.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Ensuite logiquement le numéro " number ".</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Puis le code qui sera envoyer en SMS sera aussi stocké dans la BDD pour vérifié " c_valid ".</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Pour terminé " valid " 0 = non vérifié et 1 = vérifié.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"><img src="https://sc-cdn.scaleengine.net/i/cb790e486d4c56d1bb0675e6cce51b12.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /> </span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Après à vous d'adaptez suivant vos besoins la table et le code PHP.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"><img src="https://imagizer.imageshack.us/v2/500x75q50/901/eQn9gg.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Donc je vais vous montrez comment adapter ce script pour en faire une vérification de code SMS pour une inscription.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Donc on commence par l'inscription moi l’utilisateur a seulement à renseigné le numéro de téléphone et un pseudo.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Pour ma part cette page s'appel " valid.php " c'est la redirection de " inscription.php " quand le membre clique sur le bouton.</span></span></p><p>[PHP]</p><p> <?php</p><p> $bdd = new PDO('mysql:host=HOTEMYSQL;dbname=VOTREBDD','VOTREUTILISATEUR','VOTREPASS');</p><p> function chaine_aleatoire($nb_car, $chaine = 'azertyuiopqsdfghjklmwxcvbn123456789')</p><p> {</p><p> $nb_lettres = strlen($chaine) - 1;</p><p> $generation = '';</p><p> for($i=0; $i < $nb_car; $i++)</p><p> {</p><p> $pos = mt_rand(0, $nb_lettres);</p><p> $car = $chaine[$pos];</p><p> $generation .= $car;</p><p> }</p><p> return $generation;</p><p> }</p><p></p><p> $name;$number;$code;</p><p> if(isset($_POST['name'])){</p><p> $name=$_POST['name'];</p><p> }if(isset($_POST['number'])){</p><p> $number=$_POST['number'];</p><p> $code = chaine_aleatoire(6);</p><p></p><p></p><p> echo '<h2>Inscription validée.</h2>';</p><p></p><p> if($i = $bdd->prepare('</p><p> INSERT INTO users(name,number,c_valid,valid)</p><p> VALUES(:name,:number,:c_valid,0)')</p><p> ){</p><p> $i->bindParam(':name', $name);</p><p> $i->bindParam(':number', $number);</p><p> $i->bindParam(':c_valid', $code);</p><p></p><p> @$i->execute();</p><p></p><p> $message = '';</p><p> }else{</p><p> $message = "";</p><p> }</p><p>}</p><p></p><p>// Données du message</p><p>$data = Array(</p><p> 'key' => 'fe01ce2a7fbac8fafaed7c982a04e229',</p><p> 'destinataires' => $number,</p><p> 'type' => 'premium',</p><p> 'message' => 'Merci de votre inscription, votre code de vérification est : ' . $code,</p><p> 'expediteur' => 'Paradise',</p><p> 'date' => ''</p><p>);</p><p></p><p>foreach($data as $parametre => $valeur)</p><p>{</p><p> $requete .= $parametre.'='.urlencode($valeur).'&';</p><p>}</p><p></p><p>$reponse_json = file_get_contents('http://www.spot-hit.fr/api/envoyer/sms?'.$requete);</p><p></p><p>$reponse_array = json_decode($reponse_json, true);</p><p></p><p>if($reponse_array['resultat'])</p><p>{</p><p> echo 'Message de vérification envoyé avec succès !';</p><p>}</p><p>else</p><p>{</p><p> echo 'Erreur(s) : '.$reponse_array['erreurs'].'';</p><p>}</p><p>?></p><p>[/PHP]</p><p></p><p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Donc c'est bien beau oui mais je vais quand même expliqué le code pour ceux qui ne comprennent pas.</span></span></p> <p style="text-align: center"></p><p>[PHP]</p><p> $bdd = new PDO('mysql:host=HOTEMYSQL;dbname=VOTREBDD','VOTREUTILISATEUR','VOTREPASS');</p><p>[/PHP]</p><p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Donc c'est simple cela définit que la variable que j'appelle bdd sera la connexion à votre base de donnée</span></span></p><p>[PHP]</p><p> function chaine_aleatoire($nb_car, $chaine = 'azertyuiopqsdfghjklmwxcvbn123456789')</p><p> {</p><p> $nb_lettres = strlen($chaine) - 1;</p><p> $generation = '';</p><p> for($i=0; $i < $nb_car; $i++)</p><p> {</p><p> $pos = mt_rand(0, $nb_lettres);</p><p> $car = $chaine[$pos];</p><p> $generation .= $car;</p><p> }</p><p> return $generation;</p><p> }</p><p>[/PHP]</p><p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">La on créer notre fonction que on appel " chaine_aleatoire " qui vous l'avez comprit servira à générer le code SMS.</span></span></p><p>[PHP]</p><p> $name;$number;$code;</p><p> if(isset($_POST['name'])){</p><p> $name=$_POST['name'];</p><p> }if(isset($_POST['number'])){</p><p> $number=$_POST['number'];</p><p> $code = chaine_aleatoire(6);</p><p>[/PHP]</p><p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Maintenant on créer nos variables name, number et code. Code étant un génération de notre fonction avec 6 caractères.</span></span></p><p>[PHP]</p><p>echo '<h2>Inscription validée.</h2>';</p><p></p><p> if($i = $bdd->prepare('</p><p> INSERT INTO users(name,number,c_valid,valid)</p><p> VALUES(:name,:number,:c_valid,0)')</p><p> ){</p><p> $i->bindParam(':name', $name);</p><p> $i->bindParam(':number', $number);</p><p> $i->bindParam(':c_valid', $code);</p><p></p><p> @$i->execute();</p><p></p><p> $message = '';</p><p> }else{</p><p> $message = "";</p><p> }</p><p>}</p><p>[/PHP]</p><p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">La on inscrit simplement l'utilisateur dans notre table.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">La suite vous la connaissez déjà, c'est le script que je vous ai fournit qui envoie le SMS.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Puis simplement la page que j'appel " done.php " qui est la redirection de " verif.php " lorsque l'utilisateur a mit son pseudo et code.</span></span></p> <p style="text-align: center"></p><p>[PHP] <?php</p><p> $name = $_POST['name'];</p><p> $bdd = new PDO('mysql:host=mysql.hostinger.fr;dbname=u271727568_data','u271727568_user','zalare40');</p><p> $req = $bdd->query('SELECT * FROM users WHERE name = "' . $name .'"');</p><p> while($donnees = $req->fetch())</p><p> {</p><p> $getcode = $donnees['c_valid'];</p><p> $code = $_POST["code"];</p><p></p><p> if($getcode == $code)</p><p> {</p><p> echo 'Compte validé';</p><p> $req = $bdd->prepare('UPDATE users SET valid = :valid WHERE name = "' . $name .'"');</p><p> $req->execute(array(</p><p> 'valid' => 1));</p><p> }</p><p> else</p><p> {</p><p> echo 'Code incorect';</p><p> }</p><p> }</p><p> ?></p><p>[/PHP]</p><p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Donc maintenant je vous explique le code.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p><p>[PHP]</p><p> $req = $bdd->query('SELECT * FROM users WHERE name = "' . $name .'"');</p><p>[/PHP]</p><p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">La on créer une requête qui demande de sélectionné tout pour l'utilisateur est égale à notre pseudo fournit avant.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p><p>[PHP]</p><p> if($getcode == $code)</p><p> {</p><p> echo 'Compte validé';</p><p> $req = $bdd->prepare('UPDATE users SET valid = :valid WHERE name = "' . $name .'"');</p><p> $req->execute(array(</p><p> 'valid' => 1));</p><p> }</p><p>[/PHP]</p><p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">La on regarde si notre variable créer juste avant qui consistait à aller chercher le code dans notre base est le même que l'utilisateur a fournit. Si c'est le cas, on met " valid " à 1.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Sinon on met un message d'erreur.</span></span></p><p>[PHP]</p><p> else</p><p> {</p><p> echo 'Code incorect';</p><p> }</p><p> }</p><p> ?></p><p>[/PHP]</p><p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Sans mettre sa validation à 1.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Donc ce tutoriel ce termine ici, si vous ne comprenez pas avant de me contacter je vous invite à télécharger la source fournit.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Si vous ne comprenez toujours pas n'hésiter pas à me MP.</span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Arial'"><span style="font-size: 12px">Merci à [USER=146966]@Posi[/USER] ; [USER=221380]@DEVR0[/USER] ; [USER=115344]@Snizah GTP[/USER] </span></span></p></blockquote><p></p>
[QUOTE="Boosterz', post: 5929144, member: 540186"] [CENTER][IMG]http://image.noelshack.com/fichiers/2015/40/1443630723-header.png[/IMG] [FONT=Arial][SIZE=3]I - [B]Introduction[/B] II - [B]Ressources nécessaire[/B] III -[B] Le script PHP[/B] VI -[B] La création de la table MySQL[/B] V - [B]L'adaptation du script PHP[/B] [/SIZE][/FONT] [FONT=Arial][SIZE=3][IMG]http://image.noelshack.com/fichiers/2015/40/1443635653-intro.png[/IMG] Ce système est pratique étant donner qu'il permet d'effectué une vérification du numéro de téléphone de la personne qui s'inscrit sur votre site. Attention, l'envoie de SMS est payant par des sites spécialisé plus ou moins cher, certains propose des offres gratuite mais souvent de mauvaise qualité. [/SIZE][/FONT] [SIZE=3][FONT=Arial]Pour ce tutoriel j'utiliserais Spot-Hit qui propose 10 SMS premium et 10 SMS [/FONT][/SIZE][FONT=Arial][SIZE=3]low-cost gratuit. [IMG]http://image.noelshack.com/fichiers/2015/40/1443636173-ressources.png[/IMG] Donc avant de commencer à écrire ce tutoriel j'ai codé un template à l'aide de bootswatch pour le HTML [FA]fa-html5[/FA], donc je vous le met à disposition pour ceux qui ne veulent pas lire mon tutoriel. [URL='https://1fichier.com/?4kidhnav7h']Téléchargement (serveur 1)[/URL] [B]• [/B][URL='http://www.mediafire.com/download/1pfctu1yk33jg4b/Verification+SMS.zip']Téléchargement (serveur 2)[/URL] [B]• [/B][URL='https://mega.nz/#!ERoWiCLL!IXyfLatxQZPiLMc-9LMIDZLvof8SR2CDIedgRMyM3k0']Téléchargement (serveur 3)[/URL] [B]• [/B][URL='https://www.virustotal.com/fr/file/127f1a63fb9aec802c87e75d712e1145ca8228738ce53c96fcd2547532206391/analysis/1443636995/']Virus Scan[/URL][/SIZE] [SIZE=3]Ensuite il vous faudra un fournisseur de SMS, donc comme j'ai dis moi j'utilise [URL='http://www.spot-hit.fr']Spot-Hit[/URL] que je vous conseil. [IMG]http://image.noelshack.com/fichiers/2015/40/1443638096-script.png[/IMG] Voila le script fournit par Spot-Hit.[/SIZE][/FONT] [/CENTER] [PHP] <?php // Données du message $data = Array( 'key' => 'fe01ce2a7fbac8fafaed7c982a04e229', 'destinataires' => '+33600000000', 'type' => 'premium', 'message' => 'Hello World !', 'expediteur' => 'Spot-Hit', 'date' => '' ); // Conversion des données en paramètre pour une URL (http://fr2.php.net/manual/fr/function.urlencode.php) foreach($data as $parametre => $valeur) { $requete .= $parametre.'='.urlencode($valeur).'&'; } // Appel de l'API Spot-Hit et récupération de la réponse dans la variable $reponse_json $reponse_json = file_get_contents('http://www.spot-hit.fr/api/envoyer/sms?'.$requete); // Conversion JSON en tableau avec json_decode (http://fr2.php.net/manual/fr/function.json-decode.php) $reponse_array = json_decode($reponse_json, true); // Si 'resultat' == 1, le message a été envoyé correctement if($reponse_array['resultat']) { echo 'Message envoyé avec succès ! Identifiant unique : '.$reponse_array['id'].''; } else { echo 'Erreur(s) : '.$reponse_array['erreurs'].''; } ?> [/PhP] [CENTER][FONT=Arial][SIZE=3]Donc, vous allez devoir modifier deux trois truc sinon cela serait trop simple. Alors la key vous la trouverez dans la rubrique [URL='http://www.spot-hit.fr/espace-client/parametres/api']API[/URL]. Ensuite le numéro si vous voulez un numéro qui soit toujours le même il vous suffit de mettre dans " destinataires ", sinon avec une variable, chose que on verra à la partie suivante. Le type vous mettez, premium ou lowcost. Ensuite le message simplement c'est le message qui sera envoyée au destinataire. L'expéditeur peut être modifié seulement pour les messages premium. [IMG]https://imagizer.imageshack.us/v2/500x75q90/910/9S5gk6.png[/IMG] Donc on va allez créer la table, pour ma part comme il s'agit d'un tutoriel je vais réduire au maximum. Donc il faudra obligatoirement un pseudo que j’appellerais " name " dans la table. Ensuite logiquement le numéro " number ". Puis le code qui sera envoyer en SMS sera aussi stocké dans la BDD pour vérifié " c_valid ". Pour terminé " valid " 0 = non vérifié et 1 = vérifié. [IMG]https://sc-cdn.scaleengine.net/i/cb790e486d4c56d1bb0675e6cce51b12.png[/IMG] Après à vous d'adaptez suivant vos besoins la table et le code PHP. [IMG]https://imagizer.imageshack.us/v2/500x75q50/901/eQn9gg.png[/IMG] Donc je vais vous montrez comment adapter ce script pour en faire une vérification de code SMS pour une inscription. Donc on commence par l'inscription moi l’utilisateur a seulement à renseigné le numéro de téléphone et un pseudo. Pour ma part cette page s'appel " valid.php " c'est la redirection de " inscription.php " quand le membre clique sur le bouton.[/SIZE][/FONT][/CENTER] [PHP] <?php $bdd = new PDO('mysql:host=HOTEMYSQL;dbname=VOTREBDD','VOTREUTILISATEUR','VOTREPASS'); function chaine_aleatoire($nb_car, $chaine = 'azertyuiopqsdfghjklmwxcvbn123456789') { $nb_lettres = strlen($chaine) - 1; $generation = ''; for($i=0; $i < $nb_car; $i++) { $pos = mt_rand(0, $nb_lettres); $car = $chaine[$pos]; $generation .= $car; } return $generation; } $name;$number;$code; if(isset($_POST['name'])){ $name=$_POST['name']; }if(isset($_POST['number'])){ $number=$_POST['number']; $code = chaine_aleatoire(6); echo '<h2>Inscription validée.</h2>'; if($i = $bdd->prepare(' INSERT INTO users(name,number,c_valid,valid) VALUES(:name,:number,:c_valid,0)') ){ $i->bindParam(':name', $name); $i->bindParam(':number', $number); $i->bindParam(':c_valid', $code); @$i->execute(); $message = ''; }else{ $message = ""; } } // Données du message $data = Array( 'key' => 'fe01ce2a7fbac8fafaed7c982a04e229', 'destinataires' => $number, 'type' => 'premium', 'message' => 'Merci de votre inscription, votre code de vérification est : ' . $code, 'expediteur' => 'Paradise', 'date' => '' ); foreach($data as $parametre => $valeur) { $requete .= $parametre.'='.urlencode($valeur).'&'; } $reponse_json = file_get_contents('http://www.spot-hit.fr/api/envoyer/sms?'.$requete); $reponse_array = json_decode($reponse_json, true); if($reponse_array['resultat']) { echo 'Message de vérification envoyé avec succès !'; } else { echo 'Erreur(s) : '.$reponse_array['erreurs'].''; } ?> [/PHP] [CENTER][FONT=Arial][SIZE=3]Donc c'est bien beau oui mais je vais quand même expliqué le code pour ceux qui ne comprennent pas.[/SIZE][/FONT] [/CENTER] [PHP] $bdd = new PDO('mysql:host=HOTEMYSQL;dbname=VOTREBDD','VOTREUTILISATEUR','VOTREPASS'); [/PHP] [CENTER][FONT=Arial][SIZE=3]Donc c'est simple cela définit que la variable que j'appelle bdd sera la connexion à votre base de donnée[/SIZE][/FONT][/CENTER] [PHP] function chaine_aleatoire($nb_car, $chaine = 'azertyuiopqsdfghjklmwxcvbn123456789') { $nb_lettres = strlen($chaine) - 1; $generation = ''; for($i=0; $i < $nb_car; $i++) { $pos = mt_rand(0, $nb_lettres); $car = $chaine[$pos]; $generation .= $car; } return $generation; } [/PHP] [CENTER][FONT=Arial][SIZE=3]La on créer notre fonction que on appel " chaine_aleatoire " qui vous l'avez comprit servira à générer le code SMS.[/SIZE][/FONT][/CENTER] [PHP] $name;$number;$code; if(isset($_POST['name'])){ $name=$_POST['name']; }if(isset($_POST['number'])){ $number=$_POST['number']; $code = chaine_aleatoire(6); [/PHP] [CENTER][FONT=Arial][SIZE=3]Maintenant on créer nos variables name, number et code. Code étant un génération de notre fonction avec 6 caractères.[/SIZE][/FONT][/CENTER] [PHP] echo '<h2>Inscription validée.</h2>'; if($i = $bdd->prepare(' INSERT INTO users(name,number,c_valid,valid) VALUES(:name,:number,:c_valid,0)') ){ $i->bindParam(':name', $name); $i->bindParam(':number', $number); $i->bindParam(':c_valid', $code); @$i->execute(); $message = ''; }else{ $message = ""; } } [/PHP] [CENTER][FONT=Arial][SIZE=3]La on inscrit simplement l'utilisateur dans notre table. La suite vous la connaissez déjà, c'est le script que je vous ai fournit qui envoie le SMS. Puis simplement la page que j'appel " done.php " qui est la redirection de " verif.php " lorsque l'utilisateur a mit son pseudo et code.[/SIZE][/FONT] [/CENTER] [PHP] <?php $name = $_POST['name']; $bdd = new PDO('mysql:host=mysql.hostinger.fr;dbname=u271727568_data','u271727568_user','zalare40'); $req = $bdd->query('SELECT * FROM users WHERE name = "' . $name .'"'); while($donnees = $req->fetch()) { $getcode = $donnees['c_valid']; $code = $_POST["code"]; if($getcode == $code) { echo 'Compte validé'; $req = $bdd->prepare('UPDATE users SET valid = :valid WHERE name = "' . $name .'"'); $req->execute(array( 'valid' => 1)); } else { echo 'Code incorect'; } } ?> [/PHP] [CENTER][FONT=Arial][SIZE=3]Donc maintenant je vous explique le code. [/SIZE][/FONT][/CENTER] [PHP] $req = $bdd->query('SELECT * FROM users WHERE name = "' . $name .'"'); [/PHP] [CENTER][FONT=Arial][SIZE=3]La on créer une requête qui demande de sélectionné tout pour l'utilisateur est égale à notre pseudo fournit avant. [/SIZE][/FONT][/CENTER] [PHP] if($getcode == $code) { echo 'Compte validé'; $req = $bdd->prepare('UPDATE users SET valid = :valid WHERE name = "' . $name .'"'); $req->execute(array( 'valid' => 1)); } [/PHP] [CENTER][FONT=Arial][SIZE=3]La on regarde si notre variable créer juste avant qui consistait à aller chercher le code dans notre base est le même que l'utilisateur a fournit. Si c'est le cas, on met " valid " à 1. Sinon on met un message d'erreur.[/SIZE][/FONT][/CENTER] [PHP] else { echo 'Code incorect'; } } ?> [/PHP] [CENTER][FONT=Arial][SIZE=3]Sans mettre sa validation à 1. Donc ce tutoriel ce termine ici, si vous ne comprenez pas avant de me contacter je vous invite à télécharger la source fournit. Si vous ne comprenez toujours pas n'hésiter pas à me MP. Merci à [USER=146966]@Posi[/USER] ; [USER=221380]@DEVR0[/USER] ; [USER=115344]@Snizah GTP[/USER] [/SIZE][/FONT][/CENTER] [/QUOTE]
Insérer les citations…
Vérification
Publier la réponse
Forums
Forums généraux
Informatique
PHP - MySQL | Vérification par SMS
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
Acceptez
En savoir plus.…
Haut