Quelques questions PHP avec SMS GO de RENTABILIWEB

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 : Quelques questions PHP avec SMS GO de RENTABILIWEB

par sisi37 » 02 déc. 2006, 21:10

Je sais pas trop.

Sur la page du script ça m'affiche OUI (bizarre):
http://sylvian37.info/jeux.php

La base ne bouge pas.

Et par SMS ça m'envoi toujours la réponse "NON", comme si ma page PHP recevait pas le fait que j'ai envoyé un SMS à Rentabiliweb, ou comme si la page PHP ne renvoyait pas "OUI" à Rentabiliweb (sachant que j'ai mis pour que ça mette OUI à chaque fois).

par Truc » 02 déc. 2006, 21:07

J'ai réessayé, j'ai mis 1 en défaut dans la base de données, et j'ai envoyé un SMS. En "Enregistrements" je reste à 0.
le message 'oui' s'affiche sans autre message d'rreur et la base n'est pas incrémentée ?

par sisi37 » 02 déc. 2006, 20:35

Toute la doc que Rentabiliweb me fournis est ici :
http://documentation.rentabiliweb.com/SMSgo.pdf

Mais il faut que je rajoute quelque chose par rapport au code actuel ? :? c'est donc pour ça qu'il doit me manquer quelque chose, lol, et ça je sais encore moins comment faire.

par Ultim4T0m » 02 déc. 2006, 20:31

Montre nous également le script fourni par rentabiliweb, c'est peut-être simplement un problème dans le positionnement de ton code.

par sisi37 » 02 déc. 2006, 20:27

J'ai réessayé, j'ai mis 1 en défaut dans la base de données, et j'ai envoyé un SMS. En "Enregistrements" je reste à 0.

par Truc » 02 déc. 2006, 20:11

type : decimal
Taille/Valeurs : 10,0 (je sais pas trop ce que ça veut dire :-) lol)
le type et taille vont ensemble... ici un décimal donc un nombre à virgule, dans ton cas 10 chiffres avant la virgule et 0 après (un entier donc).

Affiche le contenu de $smsCount avant le test ou regarde directement en BD la valeur.

par sisi37 » 02 déc. 2006, 19:36

Je viens d'essayer en mettant 1 gagnant à chaque SMS, et ça me dit perdu :-(

par sisi37 » 02 déc. 2006, 17:55

Oh merci beaucoup ça me fera surement économiser quelques euros !

par Ultim4T0m » 02 déc. 2006, 17:52

J'ai pas encore essayé d'envoyer des SMS pour voir ce que ça donne, si il me répond bien "gagné" tous les 10 SMS (vu que OUI correspond à gagné) ou s'il me répond "non" tout le temps etc.. :-)
Juste un conseil qui n'a pas grand chose à voir avec ton script ^^

N'envoie pas de SMS, Rentabiliweb te permet d'en générer depuis leur site, dans la gestion de ton service SMS... Ce serait sans doute plus économique pour toi ^^

par sisi37 » 02 déc. 2006, 17:18

Voici mon code actuel :
<?
$host = 'db744.1and1.fr'; 
$user = '***';
$passWd = '****';
$dbName = '****';

// Connexion au serveur MySQL
$cnx = mysql_connect ($host, $user, $passWd) or die('ERR_MYSQL_SERVER : Impossible de se connecter au serveur :' .$host. '<br />' . mysql_error());

// Sélection de la base de données
mysql_select_db($dbName, $cnx) or die ('Connexion &agrave; la base ' . $dbName . ' impossible<br />' . mysql_error());

// Ajout d'un SMS dans le compteur
$qryMajCpt = 'UPDATE sms SET sms_count = sms_count + 1';
mysql_query($qryMajCpt) or die ('ERR_SQL : ' . $qryMajCpt . '<br />' . mysql_error());

// Récupération du nombre de SMS
$qrySelCount = 'SELECT sms_count FROM sms';
$result = mysql_query($qrySelCount) or die('ERR_SQL : ' . $qrySelCount . '<br />' . mysql_error());
$smsCount = mysql_result($result, 0);
/*
** Affichage
*/
if($smsCount % 10 == 0){
    echo 'OUI';
}
else{
    echo 'NON';
}
// Fermeture de la connexion à la base
mysql_close($cnx);
?> 
Pour la base SQL voici les données :
nom de la base : sms
nom du champ : sms_count
type : decimal
Taille/Valeurs : 10,0 (je sais pas trop ce que ça veut dire :-) lol)
null : non

Sinon les autres cases j'ai rien

Et quand je me connecte sur ma page http://sylvian37.info/jeux.php j'ai juste écrit OUI c'est normal ?
J'ai pas encore essayé d'envoyer des SMS pour voir ce que ça donne, si il me répond bien "gagné" tous les 10 SMS (vu que OUI correspond à gagné) ou s'il me répond "non" tout le temps etc.. :-)

Tit PS : Ajoloca tu reste connecté la journée ? :lol:

par Ajoloca » 02 déc. 2006, 15:58

Re,

ATTENTION :

Tu mélanges deux langages, SQL et PHP

Créer la table dans la base de données (SQL)
Sous MySQL, avec phpMyAdmin, MySQL Query Browser, .....

Code : Tout sélectionner

-- Création de la table SMS CREATE TABLE `tbl_sms` ( `sms_count` INTEGER UNSIGNED );
Attention :
Le caractère devant et derrière les noms n'est pas l'apostrophe mais l'accent grâve (dans un clavier français Alt Gr + 7)

Mettre à jour et récupérer les infos (PHP)
<?php
/*
** Paramètres de connexion
*/
$host = 'nom_serveur_MySQL'; 
$user = 'nom_utilisateur_MySQL';
$passWd = 'mot_de_pass_pou_utilisateur_MySQL';
$dbName = 'nom_base_de_donnees';

// Connexion au serveur MySQL
$cnx = mysql_connect ($host, $user, $passWd) or die('ERR_MYSQL_SERVER : Impossible de se connecter au serveur :' .$host. '<br />' . mysql_error());

// Sélection de la base de données
mysql_select_db($dbName, $cnx) or die ('Connexion &agrave; la base ' . $dbName . ' impossible<br />' . mysql_error));

// Ajout d'un SMS dans le compteur
$qryMajCpt = 'UPDATE tbl_sms SET sms_count = sms_count + 1';
mysq_query($qryMajCpt) or die ('ERR_SQL : ' . $qryMajCpt . '<br />' . mysql_error());

// Récupération du nombre de SMS
$qrySelCount = 'SELECT sms_count FROM tbl_sms';
$result = mysql_query($qrySelCount) or die('ERR_SQL : ' . $qrySelCount . '<br />' , mysql_error());
$smsCount = mysql_result($result, 0);
/*
** Affichage
*/
if($smsCount % 10 == 0){
    echo 'OUI';
}
else{
    echo 'NON';
}
// Fermeture de la connexion à la base
mysql_close($cnx);
?>
Voilà QQ chose qui se rapproche de la réalité.
Tu devras remplacer les paramètres de connexion par tes propres valeurs.
Si tu dois reposter le code, masque tes paramètres de connexion.

par sisi37 » 02 déc. 2006, 15:18

Pour le moment j'ai fait ça (comme on me l'a indiqué, vu que pour le moment ça me convient impecable) :
<?
CREATE TABLE 'tbl_sms'
(
	'sms_count' INTEGER UNSIGNED
	);
//Creer table SMS

UPDATE 'tbl_sms' SET 'sms_count' = 'sms_count' + 1; // Ajouter un SMS

SELECT 'sms_count' FROM 'tbl_sms'; //connaitre nombre de sms

if('sms_count' % 1 == 0){
	echo 'OUI';
}
else{
	echo 'NON';
}
?>


Mais après je sais pas comment faire pour faire correspondre ça avec ce que RENTABILIWEB m'envoi et que ça ajoute 1 à chaque fois que RENTABILIWEB me dit qu'il y a un SMS.
La page sur laquelle je bosse est la suivante autrement :
http://sylvian37.info/jeux.php

Je sais pas si ça peut aider, voici par exemple un site qui utilise le même système de Rentabiliweb :
http://nod32.elzon.net
http://sms.un-nom.com

Voilà :-)

par sisi37 » 02 déc. 2006, 14:36

Je n'ai pas besoin de conserver les information, et je commence à mieux comprendre le fonctionnement du PHP :-) je vais finir par m'en sortir ! :-)

par Ajoloca » 02 déc. 2006, 13:57

Re,

Donc pour l'instant tu n'as rien, c'est ça ?

Dans ce cas commence par te posser des questions du style.

Dois-je conserver une trace des SMS ?

Non, je ne conserve pas d'infos.
Tu crées une table qui contient un seul champ de type entier non signé.
Un exemple.
La table s'applle 'tbl_sms' et le champ 'sms_count'. Pour la créer

Code : Tout sélectionner

CREATE TABLE `tbl_sms` ( `sms_count` INTEGER UNSIGNED );
Pour ajouter un SMS

Code : Tout sélectionner

UPDATE `tbl_sms` SET `sms_count` = `sms_count` + 1;
Pour connaitre le nombre de SMS

Code : Tout sélectionner

SELECT `sms_count` FROM `tbl_sms`;
C'est juste un exemple qu'il faudra bien entendu adapter.

Oui, je conserve les infos
Quelles informations je dois conserver ?
Avec cette liste tu construis ta table, il te suffira par la suite de compter le nombre de lignes dans cette table pour avoir le nombre de SMS.
Si c'est cette option que tu as choisis il faudra la liste des informations pour créer la table.

par sisi37 » 02 déc. 2006, 13:33

Je sais pas encore trop comment faire :-) c'est pour ça que j'étais venu ici. Faut que je regarde comment puis-je faire un compteur qui ajoute 1 à chaque requête, et à partir de ce compteur faire un MODULO.