Intégration automatique en BDD???

  • Auteur de la discussion Auteur de la discussion OJAL
  • Date de début Date de début
WRInaute impliqué
Bonjour,

Je dois proposer une méthode à mes partenaires pour qu'ils puissent intégrer des données directement dans ma BDD MySQL.
Ils ont à faire rentrer dans ma BDD qu'un seul enregistrement à la fois...
Que puis-je leur proposer comme méthode?
Pour info, les données à faire rentrer proviennent d'un formulaire qui pour le moment leur envoi un email, mais ceci pourrais être modifié bien sur.

Merci d'avance pour vos idées ;-)
 
WRInaute discret
tu peux effectuer une requete SQL (INSERT INTO xxx VALUES(a,b,c...)) à partir de ton formulaire ....
 
WRInaute accro
tu peux leur donner un acces mysql leur permettant d'ajouter des entrées (pas sécurisé du tout)

ou bien, leur donner acces à un formulaire qui leur permet d'ajouter les entrées...
 
WRInaute impliqué
Merci à vous 2, cedber et KaZhaR

Je veux bien passer par une requête SQL, mais je vais être obligé de leur donner un login sur la BDD et ça je ne peux à priori pas... ntre autres pour des raisons de sécurité...
Accès à un formulaire... on voudrait quelquechose d'entièrement automatisé... => Ca semble pas jouable...

Je penserais plus à l'utilisation du protocole SOAP??? mais n'y-a-t-il pas des olutions plus légères à mettre en place???

Thanks ;-)
 
P
pistonocus
Guest
Dans ton formulaire ru mets un include..
Par exemple :
Ton fichier avec la config
Code:
<?
$dbhost = "localhost";
$dbuname = "username";
$dbpass = "password";
$dbname = "databasename";
$formulaire_font = "Arial";
$textcolor1 = "#FFFFFF";
$nomsite = "lenomde ton site"
?>
Tu enregistres ce code sur une page que tu appelleras config.php

Apres dans ton fichier "form.php" tu fais un include config.php que tu peux l'inclure selon les conditions de session actuelles ou pas.

Code:
<?
<?php
// inclure la configuration du formulaire
include("config.php");
// tester les erreurs dans formulaire
// Si tous les champs correctes alors donner l'ordre d'evoyer
// debut du formulaire
	echo "<center><font face=$formulaire_font color=$textcolor1><b><u>Formulaire Partenaire de $nomsite</u></b></font>";

Tu piges l'idée a peu pres non?
Tu te fais dans le fichier form.php, une ouverture de sesion, cookies et tout le bazard. pour ceci tu peux utiliser un ".htxxxxxx" dans ton serveur.
Tu fais la fonction pour envoyer le mail
Tu fais le query dans la BDD
Tu fais la requete que cedber t'a proposé.
SQL (INSERT INTO xxx VALUES(a,b,c...)) Dont a, b, c, seraient les valeurs à ajouter.
tu fais un free result (tu liberes la BDD)
Tu fermes la connexion et tu pase à la page non securisé pour dire merci.
Voila

Je suis sur que j'oublie quelque chose mais bon....
Si tu peux pas utiliser des .htxxxxx sur ton serveur, à l'epoque j'avais fait un fichier qui simule le .htxxxx via un formulaire de demande de mot de passe : Je l'avais appellé NProtectDS.php puisque je l'avais fait pour les portails de NPDS. c'est une version allegé "AutoWarn System"
Tu peux tres bien l'utiliser c'est bien securisé et si quelq'un essai de rentrer par la force t'est avisé par courrier a la seconde qui suit.

Code:
<?php
/*Script realisé d'apres une idée original d'"AutoWarn System"  par pistonocus
/* Pour les portails NPDS
/* Installer ce fichier a la racine de votre site en changeant le nom
/* du fichier : au lieu de NProtectDS.php vous l'appellez : moi.php ou autre chose.
/* Ensuite il faut prendre le fichier admin.php "pour toi c'est form.php" et inserer un include
/* Comment inserer l'include? 
/* include("moi.php"); 
/* ce petit include il faut le mettre juste apres le debut de :
/* <?PHP 
/* include("moi.php"); et "avant config.php pour toi" 
/* Biensur si vous changez le nom du fichier faut mettre le même
/* et c'est tout. La prochaine fois tu iras sur ton form.php  il y a une
/* petite fenêtre qui s'ouvre et qui te demandera le login et le mot de passe.
/* Tu donnes simplement le login que tu à mis sur $shellUser et le mot de passe
/* que tu à mis  sur $shellPswd et voila
/* Si vous avez des questions -w-w.las-lu-e.net
/* Vous pouvez utiliser cette technique pour n'importe quel fichier que vous vouler proteger sur votre site.
/* Bonne securité a vous tous.
/* Piston "OCUS" pour WRI

/* Ici 1 = Activé 0 = desactivé*/
$selfSecure = 1;
/* Ici faut mettre le nom d'utilisateur */
$shellUser = "";
/* Ici le mot de passe, biensur faut mettre tres compliqué */ 
$shellPswd = "";
/* Ici l'addresse electronique ou vous voulez recevoir le MAIL d'alerte*/  
$adminEmail = "";
$fromEmail = $HTTP_SERVER_VARS["SERVER_ADMIN"];
/* vous pouvez changer ça pour mettre le nom du domaine que vous avez securisé                                                 */ 
$Version = "NProtectDS 1.0";

if($selfSecure){
if (($PHP_AUTH_USER!=$shellUser)||($PHP_AUTH_PW!=$shellPswd)) {
Header('WWW-Authenticate: Basic realm="Administrateur Site"');
Header('HTTP/1.0 401 Unauthorized');
echo "<html>
<head>
<title>Erreur - Accés Réservé</title>
</head>
<h1>ACCES REFUSE</h1>
Une alerte vient de partir à destination du Webmaster-Administrateur du Site. Votre IP est enregistrée.<hr>
<em>$Version</em>";
if(isset($PHP_AUTH_USER)){
$warnMsg ="Intrusion sur le serveur: http://".$HTTP_SERVER_VARS["HTTP_HOST"]."$PHP_SELF
Tentative de recherche de Password:
Date: ".date("d-m-Y H:i:s")."
IP: ".$HTTP_SERVER_VARS["REMOTE_ADDR"]."
Hôte et Navigateur: ".$HTTP_SERVER_VARS["HTTP_USER_AGENT"]."
Login utilisé : $PHP_AUTH_USER
Password Utilisé : $PHP_AUTH_PW
";
mail($adminEmail,"Intrusion en Cours",$warnMsg,
"From: $fromEmail\nX-Mailer:$Version ");
}
exit;
}
}
if(!$oCols)$oCols=$termCols;
if(!$oRows)$oRows=$termRows;
?>

Tu peux securiser ton formulaire via une session aussi.
Comme ça tu n'est pas obligé de donner le MDP de ta BDD.
C PA du SMS.
Elle reste bien caché et tu peux faire ce que tu voulais.
C'est juste une question d'un jour même pas, pour mettre en place ton truc donc si tu dois faire ça tres souvent le mieux serait de bien cadrer tout ça.... parceque moi des fois je sais plus ce que je dis alors....

Prends ça juste comme exemple, n'applique pas telquel, repasse par dessus, et fais ton machin.
Moi c'est juste des chemins logiques que je te donne.
En esperant que ceci peut t"eclairer.
 
WRInaute occasionnel
font face=$formulaire_font color=$textcolor1>

.... le vois pas l'intérêt d'afficher fièrement un "Get FireFox" si c'est pour coder comme un porc...
bon je t'avoue que j'ai pas maté tout le code, en gros pour ce qu'il demande il faut 3 ou 4 lignes... je pense pas que le problème soit vraiment ça...

OJAL ? est-ce que tu veux que tes visiteurs/admins/partenaires (etc) disposent d'un formulaire pour ajouter des informations dans une base de données ? (un peu comme un forum ?)
 
P
pistonocus
Guest
Didier_S a dit:
font face=$formulaire_font color=$textcolor1>

.... le vois pas l'intérêt d'afficher fièrement un "Get FireFox" si c'est pour coder comme un porc...

ATTENTION :
Que ceux qui savent pas coder passent à IE 6.0
N'IMPORTE QUOI.

C'etait un exemple. Franchement... des fois.... Je me tais....
 
WRInaute impliqué
Merci pistonocus pour ta réponse.
Je vais regarder si ça correspond à ce que je recherche...

Didier_S, la BDD est déjà alimentée avec un formulaire, mais je souhaiterais que mes partenaires puissent justement alimenter ma BDD automatiquement sans passer par un formulaire qui est forcément manuel...

C'est pour cela que je pense à une solution SOAP XML... mais avant de partir dans cette solution que je ne connais pas je voulais voir si d'autres solutions plus simples ne pouvaient pas convenir....
 
WRInaute impliqué
Tout dépend du type de données que tu dois insérer. Vraissemblablement, REST srait plus adapté que SOAP si tu ne le connais pas. SOAP est un peu lourd à mettre en place.

Ce que l'on appelle REST, c'est juste une requête du genre:
Code:
http://www.dom.tld/script.php?donnee1=xxx&donnee2=xxx...

Le script.php se charge alors d'insérer les données dans la BDD.
 
WRInaute impliqué
Ton idée me semble excellente SHROM,

Je fais juste un script PHP qui place dans un enregistrement de la BDD les valeurs des champs passés dans l'URL....

Coté sécu c'est un peu léger, mais si je n'autorise que les IP de mes partenaires ça doit être suffisant? Car n'importe qui pourrait insérer n'importe quoi dans la BDD...
 
WRInaute accro
en meme temps, tout formulaire utilise ta methode REST... il suffit de passer par un autre formulaire autre part hein...
(je dis pas que c'est mal, c'est exactement ce qu'il lui faut, mais il peut en plus, faire une formulaire, pour les partenaires manchots)
 
WRInaute discret
Code:
http://www.dom.tld/script.php?donnee1=xxx&donnee2=xxx...

j'ai peur que cette solution ne soit pas super fiable
cause : longueur des données (url = max 255)
 
WRInaute accro
Intégration XML entre les deux sites ? Upload d'un XML, vérification de ton côté et intégration des donnees dans ta base de données.
 
WRInaute impliqué
julio38 a dit:
Code:
http://www.dom.tld/script.php?donnee1=xxx&donnee2=xxx...

j'ai peur que cette solution ne soit pas super fiable
cause : longueur des données (url = max 255)

REST est adapté pour le transfert de données courtes effectivement, s'il y a transfert d'images ou autres, il vaut mieux utiliser SOAP ou XML-RPC.
 
WRInaute impliqué
KaZhaR a dit:
en meme temps, tout formulaire utilise ta methode REST... il suffit de passer par un autre formulaire autre part hein...
(je dis pas que c'est mal, c'est exactement ce qu'il lui faut, mais il peut en plus, faire une formulaire, pour les partenaires manchots)

Même si la méthode employée est GET, REST définie un ensemble de services comme le font SOAP, XML-RPC ...
 
WRInaute impliqué
julio38 a dit:
Code:
http://www.dom.tld/script.php?donnee1=xxx&donnee2=xxx...

j'ai peur que cette solution ne soit pas super fiable
cause : longueur des données (url = max 255)

Il semblerait que la limitation ne soit valable que pour certains navigateurs... Dans le cas présent, on devrait pouvoir utiliser la longueur souhaitée.

Qu'en pensez-vous?? Pas le temps de faire un test aujourd'hui....
 
WRInaute accro
il faut toujours se baser sur la plus petite limitation, afin de pouvoir gérer tous les navigateurs...
 
P
pistonocus
Guest
En fait OJAL dans le site de ton profil tu n'as pas mis de:

Code:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

Resultat chuis allée voir et j'ai vu 455 ? lol on sait pas si c'est dollar$ ou €uros.
Voila excuses pour cette (parenthèse)
 
WRInaute impliqué
KaZhaR a dit:
il faut toujours se baser sur la plus petite limitation, afin de pouvoir gérer tous les navigateurs...

Je suis d'accord avec toi. Mais dans notre cas, on ne passe justement pas par un navigateur => Le problème semble ne pas exister???
 
WRInaute impliqué
pistonocus a dit:
En fait OJAL dans le site de ton profil tu n'as pas mis de:

Code:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

Resultat chuis allée voir et j'ai vu 455 ? lol on sait pas si c'est dollar$ ou €uros.
Voila excuses pour cette (parenthèse)

Avec quel navigateur ne vois-tu pas le sigle euros????
Ca fonctionne avec IE et FIREFOX...?
 
P
pistonocus
Guest
D'apres le repproche de Didier_S je devrais pas l'utiliser mais je n'ecoute pas ceux qui parlent pour rien dire alors....

Firefox. mais le codage que j'ai c'est en utf-8 si rien ne lui est dit. si tu mets cette ligne alors automatiquement il prendrai le charset que tu indequerais...

pour Didier_S>> Je te promet que demain je change Firefox et à la place je mettrais le symbole de IE.
Peux-tu me dire le rapport qu'il y à entre une conviction pour un navigateur, et le "coder comme un porc..."? Firefox serait reservé à une ELITE ? ou alors tu as complexe de superiorité et tu crois que tu le vaux bien? Pourrais-tu faire un sujet de ceux que tu crois qui devraient utiliser ou pas Firefox?

Il y à qui codent comme des porcs, il y à qui parlent comme des porcs.

Excuse OJAL c'est pas du troll, mais depuis hier je me retiens et j'arrive pas a laisser passer la betise, je devais le dire. Dèsolé.
 
WRInaute impliqué
OJAL a dit:
KaZhaR a dit:
il faut toujours se baser sur la plus petite limitation, afin de pouvoir gérer tous les navigateurs...

Je suis d'accord avec toi. Mais dans notre cas, on ne passe justement pas par un navigateur => Le problème semble ne pas exister???

Après test, je vous confirme bien que le problème de limitation de la longueur de l'URL n'existe pas dans notre cas particulier.

=> J'adopte la solution de passage des valeurs de champs dans l'URL... Nickel et très simple!

Je me mettrai à SOAP une prochaine fois...;-)


Merci à tous!
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut