Vous n'êtes pas identifié(e).
Je vous comprends plus que bien ,
Pour vous éclairer en toute sincérité ( je sais que ce n'est pas le but de ce forum)
Les technos et le codage informatique.. une longue histoire.. de 8 mois environ, ce n'est pas mon métier de base, mais de fil en aiguille ...et des heures à ne plus compter.. je brosse petit à petit un ensemble de techno que souvent je découvre à l'avancement.
Cela m'engage en permanence vers des connaissances de plus en plus élargies sans avoir la possibilité de les consolider une à une comme je le voudrais, jusqu'à les confondre en terme d'applicatifs.
Java/posrgresql/glassfish/struts/,.. je me suis lancé sur ces technos ( livres, tutos, et appuis de temps en temps) en travaillant sur une appli qui à la base était déjà formaté avec ces technos, donc pas le choix, il à bien fallu que je me les approprie partiellement pour évoluer vers ce que je veux faire maintenant.
C'est comme ça que j'ai commencé, par mimétisme, en testant ce que je faisais jusqu'à ce que ça marche..
Ma difficulté fondamentale, enfin je le pense, est que je travaille sur une techno, puis passe sur une autre, et ainsi de suite, si bien que j'ai du mal à capitaliser ce que j'apprends pour le réinvestir sans me replonger dans ce que j'avais compris, ou souvent cru comprendre, 3 semaines avant, surtout qu'à chaque fois que je pousse une porte il y en a des dizaines d'autres derrière, à la fin ça fait beaucoup..
Je suis bien conscient de cela, ne m'en cache pas et ne forge pas non plus de prétentions, qui seraient par ailleurs démontées par le premier véritable informaticien venu.
Ce que je sais par contre, est que ça avance et que ça finira par aboutir, c'est un travail de fourmi, surtout que, lorsqu'on a des petites jambes on doit faire des petits pas, sinon.. on se casse L..
Je ne peux vous en dire plus en public, mais si cela vous intéressait, je peux vous envoyer un lien vers l'appli et vous verriez que ce n'est pas une petite appli "creuse".
Elle à une longue histoire derrière elle qui se compte en années...et vais pas la laisser tomber maintenant, même avec mes petits moyens.
Si vous vouliez d'autres infos, plus précises et plus circonstanciées, je vous enverrai avec plaisir celles-ci par mail privé, en confiance.
Pour revenir sur des choses plus factuelles :
J'ai ce code dans mon head
Il faut aussi que je rajoute quand même la bibli ? <script type="text/javascript" lang="fr-fr" src="libs/js/mabibliotheque.js"></script>
Bon, j'y retourne, je clique sur envoyer et rien ne bouge, je vais voir ce qui se passe.
Je reviens vers vous plus tard
pierrot
Bonjour JC,
OUI, je pense avoir le schéma en tête, il y a certains points que je n'ai pas totalement intégrés mais l'essentiel est le raisonnement.
Mais j'ai un doute sur le JS du submit "envoyer", si je ne trompe pas il doit bien être en JQUERY comme ceci :
jQuery(function(){
function submit_form(){...}
et non en format classique : <script type="text/javascript">...</script>
Isoler mon ph
Si j'isole mon fichier php sous un autre nom, donc sans l'intégrer dans le fichier existant form-validation.php de l'ancien formulaire, ce serait peut être mieux ?
Maintenant je vais pouvoir refaire mon formulaire avec cette méthode, (modules : envoi/réception mail, textarea, checkbox, etc..) puisque l'ancien est de fait devenu invalide.
Question Div
Donc, je vais devoir, pour chaque div (sans <form>), entrer un input (div/email, textarea, etc..), puis laisser le script submit engager la chaîne de traitement de l'ensemble des input, cela est bien valide ?
Je voudrais récupérer et enregistrer l'Ip du contact :
<?php
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
else
$ip=$_SERVER['REMOTE_ADDR'];
echo $ip;
?>
Avec cela je peux enregistrer $ip dans ma bd en l'ajoutant au JS ?
var ip=$('#form_ip').val();
+
php
function check_entries($nomprenom,$email,$telephone,$typecontact,$ip)
Ou faut il que je l'input aussi ?
Cela n'est pas urgent...
Avant cela, je vérifie tout les codes avant de lancer le formulaire et espère que ça va bien se passer.
Merci pour votre patiente et votre pédagogie,
Pierrot
(re)
J'entre bien mes données dans ma table avec mon php ?
J'ai un fichier connectbd dans le même répertoire :
Est ce qu'il faut que je mette le code d'enregistrement des données dans la bd aussi dans ce fichier, comme ci-dessous ?
Puisque dans le php, j'appelle le fichier ci-dessus ( require_once('connect_db.php')
> celui-ci établit gère déjà les codes de validation en base de données
> donc je ne fais juste qu'appeler connectdb.php qui s'occupe de tout le traitement bd ( connexion,validation et enregistrements) ?
Sinon ou est le choix de la table de la bd ?
J'approche..
Concernant "la mise à jour en temps réel", je me suis probablement mal expliqué :
Mais cela est un autre problème, je travaille en java/struts/glassfish avec Netbeans : dans l'appli, j'ouvre un popup, puis l'utilisateur entre ces données qui sont enregistrées dans postgresql lorsque le popup est validé, ensuite des triggers traitent ces données et mettent la bd à jour, mais les données traitées (opérations arithmétiques simples) ne se mettent pas à jour dans le popup au fur et à mesure qu'elles sont saisies, les résultats sont stockés, mais ne réapparaissent instantanément.
Si vous le voulez bien je vous en ferai part ultérieurement, je ne veux pas vous "squatter", ce que vous faites en ce moment est déjà énorme, et j’espère infiniment que cela servira à d'autres que moi seul.
Une chose après l'autre, et à chaque jour sa galère..
pierrot
Excuse pour le tuto, je n'avais vu que c'était destiné à Infantimigulo, que je salue, étant telgrucien.
Bonjour,
merci Jc pour ce retour ,
Je vais me concentrer sur vos conseils, ligne à ligne, et abandonner internet pour "faire de la soudure", je m'aperçois que cela porte la confusion dans la compréhension de vos explications, pour en final obérer la faculté de raisonner globalement.
Ce que vous notez concernant un tuto, j'y avais pensé, mais je crois que c'est encore prématuré.
Ce n'est pas moi qui serait capable de faire un tel tuto, il s'agit de votre tuto, donc du ressort de vos qualités et de votre expertise.
Si vous le voulez bien, dés que j'aurai fini ce thème, je formaliserai ce tuto avec des termes de débutant, et vous corrigerez en terme de technicité, pour obtenir un document accessible à tous et expert dans son objet.
Des tutos, il y en a à profusion, d'une part ils concernent très souvent la capture de données dans la bd avec des <form> ( ici c'est l'inverse), et d'autre part sont souvent remplis de "barbarismes" difficile à digérer., notamment dés que l'on touche Ajax.
Il est facile de compliquer des choses simples ( ça je sais faire..), mais rendre simple des choses compliquées c'est autrement plus pareil.
Si je comprends, je pense que les autres débutants comprendront aussi.
Je reviens vers vous dés que j'aurai assimilé ce que vous m'indiquez.
J'ai maintenant du pain sur la planche,
Pierrot
Bonjour Jc,
j'ai pas réussi.. et vais "m'acharner" encore qq jours avant de revenir sur "ma terre".
Il me manque toujours un bout du mécano pour que je comprenne et pour avoir une vision globale.
Je m'aperçois que, comme je viens de le lire sur votre précédent post et celui de Infantimigulo, les informations qui circulent sur le net concernant cette thématique sont souvent incohérentes les unes avec les autres, parfois même contradictoires, et , pour un non initié comme moi, cela biaise du raisonnement, à en être découragé ou même se sentir un limité.. si ce n'est pas id..
Donc je repose le tout, et me relance, je deviens convaincu que c'est un concept qui, à terme,va devenir nécessaire presque à tous.
Si vous le voulez bien, nous redémarrons.. doucement.
Voila le code que vous m'avez indiqué, j'ai tenté de le compléter mais sans résultat, je ne l'ai pas tout compris.
Vous trouverez après celui-ci, un autre code que j'ai travaillé pour tendre vers un raisonnement à mon niveau, avant de le recomplexifier par le votre, néanmoins je crois que je commence à me représenter un peu mieux le concept, c'est pas encore très clair, mais ... mais le voile se lève..
Ma base de reflexion / RECONFIG
Et puis le changement du submit que j'ai remis dans<Div> .. <form>
J'espère que ça ne va pas me griller l'envoi mail du formulaire.
pierrot
bonjour JC,
Vous savez, je ne serai jamais un pro..
Il est vrai que je n'ai pas fait se code, j'avais fait mon propre formulaire "classiquement" avec <form.. input..> etc.., mais je n'en était pas satisfait notamment au niveau du captcha et au niveau de l'envoi mail vers la personne qui remplissait le formulaire, et du retour de contact vers ma propre boite mail.
Mon formulaire ne faisait pas très pro, c'est pour cela que je suis reparti d'une autre base et l'ai modifié pour obtenir ce que je voulais.
Cette réorientation
Tout cela me perd un peu, je ne comprend pas tout mais je vais travailler sur ce que vous me dites et tenter de tout "reconceptualiser":
Je pensais avoir compris.., AJAX fait bien le pont entre le php ( form-validation.ph) et la bd, qui lui gère l'insertion des données en bd, mais ou est passée la connexion bd, également dans le php ( form-validation.ph) ou dans un php sur la page html ?
Et c'est bien le submit HTML qui appelle AJAX .. en fait c'est une boucle..
Je vais chercher des topologies de tout ça sur internet.
En entrant le code function submit_form(){.} que vous m'indiquez, je vais devoir supprimer les anciens codes , le(s)quel(s) ? , je risque de faire des bêtises...
Mon bilan
Cela fait maintenant presque 3 semaines que je tente d'intégrer de nouvelles dimensions, je suis totalement autodidacte et essaye apprendre "sur le tas"..
Souvenez vous d’où nous sommes partis, un simple code de protection "syndicale", et comme je vous le disais, plus j'avance et plus je m'aperçois de mon ignorance grandissante..
Si je n'y arrive pas ce weekend, je vais devoir rester sur la méthode d'insertion en db dans form-validation.php.
Je sais que ce n'est pas conforme à ce que vous préconisez, par ailleurs avec raison me semble t'il, mais je dois rester dans ma réalité de débutant très moyen et pense être, en l'état, bien incapable de maîtriser ce que vous indiquez, ce que je regrette réellement, j'aurai bien souhaité avoir du top, mais c'est comme ça, à chacun ses capacités.. ça semble si simple pour vous..
Même avec cette méthode d'insertion du traitement de toutes données en bd via form-validation.php , je vais devoir adapter le code que j'ai réalisé avec votre précieux concours, mais il ne s'agit plus d'une seule donnée, mais d'un pack complet..
Faut il encore renommer chaque variable, faut il faire tout en même temps, etc.. mais cela restera vraisemblablement maintenant que du codage et de l'articulation méthodologique.
Je dois ensuite retourner rapidement sur l'appli pour me "battre" avec postgresql ( le calcul et la mise à jour de données en temps réel sur l'Ihm).
Si vous pouvez m'accompagner pour le dernier coup de pouce..
Merci encore et bilan ce WE
Cordialement
Pierrot
New - En fait, il apparaîtrait que le formulaire soit conçu pour automatiquement récupérer tous les éléments html dont les class sont listées dans le script....
Donc il suffirait de traiter l'insertion en db dans form-validation.php
Si c'est ça, ça sent l'écurie..:)
pierrot
Pour confirmation, tu trouveras ci-dessous le code html le code html de ma page formulaire
la Div nom prenom
<!-- NOM PRENOM -->
Puis la Div submit de la même page html ou se trouve name="cfg-element-35-7" qui pose probleme
Je n'ai rien d'autre, ce n'est pas manque d'avoir "fouillé" les fichiers du formulaire,j'ai aussi pensé que je me trompais en ne les trouvant pas, mais je dois me rendre à l'évidence, il n'y a pas de <form>, ni de onclick, ni rien qui y ressemble.
La difficulté vient de la transmission des données entre formulaire HTML et code php... alors cherché et trouvé un fichier JS contactform.js qui génère le submit et l'envoie en POST vers le fichier PHP : form-validation.php (jQuery.post('cfg-contactform-35/inc/form-validation.php'
Ce script devrait permettre de gérer l'enregistrement des données de mon html et ensuite passer au traitement bd dans form-validation.php, , je me trompe ?
Fichier contactform.JS
var formcontainer = jQuery(this).closest('.cfg-contactform');
var loading = formcontainer.find('.cfg-loading');
var formcontainer = jQuery(this).closest('.cfg-contactform');
var loading = formcontainer.find('.cfg-loading');
loading.show();
var submit_btn = jQuery(this);
submit_btn.hide();
formcontainer.find('.cfg-errormessage').hide().remove();
var form_value_array = Array();
var radio_value = Array();
var checkbox_value = Array();
var selectmultiple_value = Array();
var deleteuploadedfile_value = Array();
formcontainer.find('.cfg-form-value').each(function()
{
var elementlabel = jQuery(this).closest('.cfg-element-container').find('.cfg-label-value');
var elementlabel_id = elementlabel.closest('label').attr('id');
var elementlabel_value = elementlabel.html();
// catch uploads
if(jQuery(this).hasClass('cfg-uploadfilename'))
{........}
// catch input text values, textarea values, select values
if(jQuery(this).is('.cfg-type-text, .cfg-type-textarea, .cfg-type-select'))
{.......}
// catch radiobutton values
if(jQuery(this).is(':radio'))
{....}
// catch checkbox values
if(jQuery(this).is(':checkbox'))
{..}
// catch multiple select values
if(jQuery(this).hasClass('cfg-type-selectmultiple'))
{....}
// catch time values
if(jQuery(this).hasClass('cfg-type-time'))
{.....}
});
// catch list of uploaded files to delete
formcontainer.find('.cfg-deleteuploadedfile').each(function()
{..});
var captcha_img;
var captcha_input;
if(formcontainer.find('.cfg-captcha-img').length)
{...}
// console.log(deleteuploadedfile_value);
// console.log(form_value_array);
[b]jQuery.post('cfg-contactform-35/inc/form-validation.php',[/b]
{.... },
function(data)
{....} /* end function data */
); /* end jQuery.post */
}); /* end click submit */
// DELETE UPLOADED FILE
jQuery('body').on('click', '#cfg-contactform-35 .cfg-deleteupload', function()
{....});
});
Cela engage AJAX pour communiquer avec ma bd et php pour traiter, tu l'avais d'ailleurs évoqué.
Je crois, j’espère.. cette fois "tenir le bon bout".
je ne saurai assez te remercier, ça doit devenir répétitif pour toi, pourtant je ne peux faire que ça, il est rare d'être ainsi accompagner dans la durée.
Il faut juste que tu me dises si je dois te tutoyer ?, je suis un tantinet "vieille France, et suis gêné de te tutoyer alors quoi tu ne le fais pas.
Pierrot
Bonjour Jc,
OK, je passe par Js / Ajax, j'ai commencé à regarder comment ça fonctionne hier.
Je crois qu'il doit être possible d'utiliser un Js du formulaire déjà existant ( Jquery).
Il contient:
jQuery('#cfg-contactform-35 .cfg-submit').click(function()
C'est normal que je n'ai pas de onclick nulle part ? regardes mon html du bouton submit ci-dessous :
D’après ce que je crois comprendre, le traitement du formulaire ce fait en donc en JS avec contactform-35
En tout cas, le Php précédent n'est pas perdu..
Je me demandais si il ne faudrait pas créer 2 fichiers, l'un pour se connecter et l'autre pour insérer, et pourquoi pas aussi extraire, de telle sorte que je puisse les rappeler quand je le voudrai.
Bref, je redémarre.. une prise de tête
Comme tu l'as écris , c'est le métier qui rentre ... oui, mais je t'assure qu'il rentre pas vite..
Une nouvelle fois merci,
pierrot
Bonjour Jc,
je crois que sans <form..submit> il ne doit pas être possible de passer de cfg-element-35-7 à $nomtobd puisque je n'ai pas de submit dans un <form> ?
La connexion enregistre donc obligatoirement une donnée, mais toujours "value vide"
Je crois de plus en plus que je ne vais pas pouvoir éviter AJAX, que je connais très très peu.
Ça fait quasiment 3 semaines que je butte sur cette difficulté, je dois maintenant la contourner.
Avec tout les codes que j'ai essayés, cela aurai du fonctionner, mais ce n'est pas, je pense, un problème de code php, php n'y peut rien sans <form>
qu'en penses tu ?
pierrot
bonjour Jc,
excuses moi pour cette faute, je ne savais pas que cela était important, maintenant que je le sais je ne l'oublierai pas,
Je vais appliquer la correction, te tiens au courant de mes "avançées".
Merci beaucoup
pierrot
Tu as raison, je refais un tour demain,
Mon html est Ok, je viens de le vérifier.
Pourras tu, dés que tu le pourras bien sûr, voir mon interrogation ci-dessous ?
Pourquoi lorsque j'applique la ligne 1 ci dessous je trouve mon echo var_dump() à NULL avec empty dans mon champ bd ?
$sql="INSERT INTO confid (nomprenom) VALUES('".$nomtobase."')";
Et
Si j'applique la ligne2 ci dessous je bloque le formulaire sur l'entrée du nom, et à l'écran j'ai "champ 'cfg-element-35-7' non soumis via formulaire"
$sql="INSERT INTO confid (nomprenom) VALUES ('$nomtobase')";
Merci encore pour tout,
bonne soirée
pierrot
bonsoir Jc,
je confirme , ma version php est 4.3, le php.ini est sur Off, je peux passer en version 5, ou 6
D'autre part j'ai découvert, en lançant le formulaire sans le contactform, que j'avais le message ci dessous, j'ai alors changé 755 par 777 via filezilla, mais ça n'a rien fait :
<The upload directory is not writable: uploads won't work in your form.
Use your FTP software to set the permission to "755" on the "cfg-contactform-35/upload" directory to solve this problem.
Set the permission to "777" if it does not work otherwise.
If there is no "upload" directory inside the "contactform" folder, use your FTP software to create it and set it with the directory permissions mentionned above (755 or 777).>
Concernant le code :
Lorsque j'ai appliqué le dernier code (ci dessous) j'avais en retour toujours : champ 'cfg-element-35-7' non soumis via formulaire
Ça bloque au même endroit, cfg-element-35-7 est vide donc $nomtobd est vide aussi
Pour simplifier
J'ai "tronqué" le code pour y voir plus clair, je remettrai les conditions ultérieurement.
Resultat en bd : champ de la bd = empty et echo var_dump($.. = NULL
Le transfert entre $_POST["cfg-element-35-7 et $nomtobd ne se fait toujours pas
Concernantt le php variables à la fin du doc et Mysql
Voici un lien avec (peut être) de l'info utile ? http://www.one-docs.com/php5/
Ce ne serait pas un problème de Path ?
Tu m'avais parlé du PDO, apparemment il est déjà installé
Je ne te note pas tout les codes que j'ai mis, entr'autres, pour explorer les fichiers et dossiers du répertoire, ce serait trop long,
je vais tenter de contacter le concepteur du formulaire
Je retourne dans le JS ce soir
pierrot
Ma version php est 5.3, je peux la passer en 5.4, 5.5 ou 5.6
D’après ce que je crois savoir, en version 4.2, le php.ini est passé sur Off par défaut, mais je vais le vérifier ce soir.
Dans le code : {print "champ 'cfg-element-35-7' non soumis via formulaire";exit;}
Je peux continuer sur l'enregistrement en bd ? parce que soit j'affiche "print.." soit je sors "exit", et là j'arrête le déploiement de mon formulaire.
Faut pas que j'enlève "exit" et engage le processus en base à la place de "exit" ? sinon je ne pourrai jamais entré mes variables dans le formulaire ?
Bonne soirée et merci,
je vais bien finir par y arriver..
pierrot
Bonjour Jc,
Merci de ne pas désespérer
J'ai pris bonne note de ton conseil, j'ai commencé à y travailler.
Puis je me suis dit que si je pouvais 'intégrer $nomtobd dans le tableau qui contient "cfg-cfg-element-35-7 ( j'ai transformé $nomtobd en $nomtobase faute d'erreur entre bd et db..) et que je disais qu'elles étaient égales, ça pourrait peut être marcher ?
J'ai donc ajouté 2 lignes de code et ça me donne cela :
<?php
$_POST["cfg-element-35-7"] = array("cfg-element-35-7, nomtobase");
$nomtobase = $_POST["cfg-element-35-7"];
// mes tests echo
// echo $_POST['nomtobase']; //==> n'affiche rien
echo var_dump($nomtobase); // array(1) { [0]=> string(27) "cfg-element-35-7, nomtobase" }
//echo $nomtobase ; // affiche ===> array
//echo print_r($_POST['$nomtobase']); // affiche ==> 1
// echo print_r($nomtobase); // affich Array ( [0] => cfg-element-35-7, nomtobase ) 1
....
Est elle est passée ? ma base enregistre "Array" ?
Est que cette méthode peut être valide ?
Je n'affiche plus de "champ" vide" ( if(empty($_POST['cfg-element-35-7'])){echo '<font color="red"> champs cfg-element-35-7 vide </font>';}, donc il y a une variable qui passe, ? non ?
je vais maintenant "entreprendre" l'Ajax.
Pierrot
Bonsoir,
Je m'étais déjà posé la question,et avais déjà cherché, et pensais que c'était une autre méthode.
J'ai tout recommencé ce soir avec bluefish... sans jamais en avoir trouver un seul <form action ..dans l'ensemble de mes dossiers/fichiers du formulaire, je les tous ouvert un à un, je ne comprends plus ... je ne suis pourtant pas complètement novice, des <form action j'en ai utilisé des quantités dans l'appli, ou alors je suis f.. j'arrête pour ce soir,
Merci Jc
bonne soirée à toi
pierrot
lorsque je fais
echo '<pre>', print_r($GLOBALS), '</pre>'
cela m'indique à chaque fois [REQUEST_METHOD] => GET
Array
(
[GLOBALS] => Array
*RECURSION*
[_ENV] => Array ...REQUEST_METHOD] => GET
[HTTP_ENV_VARS] => Array...REQUEST_METHOD] => GET
[_SERVER] => Array ....REQUEST_METHOD] => GET
[HTTP_ENV_VARS] => Array...REQUEST_METHOD] => GET.
cela veut il aussi dire que le formulaire est posté en GET ?
Merci de ta présence,
j'ai appliqué le code, cela revient au même.
Par contre j'ai ajouté un préalable qui m'indique que la variable cfg-element-35-7 est vide, ce qui me parait normal puisque le formulaire n'est pas encore rempli, c'est peut être là le problème..
Lorsque je neutralise le if(empty.., je trouve bien dans mon echo $nomtobd le "n/a", c'est obligé puisque cfg-element-35-7 est vide.
Ne s'agirait il pas simplement l'emplacement du code php qui produirait cela, il charge une variable input qui n'existe encore pas puisque étant créée après le submit?
Qu'en penses tu ? est ce que je raisonne mal ?
Voila le code partiel
<?php
if(empty($_POST['cfg-element-35-7']))
{
echo '<font color="red"> champs cfg-element-35-7 vide </font>';
}
// si pas vide, >>> direction enregistrement dans table
else
if (isset($_POST['cfg-element-35-7']))
{$nomtobd=$_POST['cfg-element-35-7'];}
else
{$nomtobd='n/a';}
echo $nomtobd;// vérif ok, me renvoie la variable du "else... == > n/a."
$db=mysql_connect("mabase.eu.mysql", "mabase_eu", "************");// ok
................. etc ..
merci encore
pierrot
bonjour Jc,
je suis désolé, ça na marche pas, je reste toujours bloqué sur cette difficulté, je pense que ce n'est plus un problème de codage, sinon j'aurai une alerte et ma bd n’enregistrerai pas irrémédiablement " variable inconnue" issu de echo $sql
Existe t'il un code pour afficher les liens d'enregistrement des "input" ? array() ?
J'ai mis cela,
echo '<pre>', print_r($GLOBALS), '</pre>'; mais ça ne me dit rien que je ne comprenne
Je pense que ça vient du name de l'input du formulaire d'origine "cfg-element-35-7" qui doit stocker que temporairement ma variable name?
le code original du formulaire étant
<div class="cfg-element-set" id="cfg-element-35-7-set" >
<div class="cfg-element-content">
<input type="text" class="cfg-type-text cfg-form-value " name="cfg-element-35-7" id="cfg-element-35-7" />
<?php....
Je cherche maintenant ou est ce "fout.." fichier pour l'uploader avant de lancer ma bd, Il ne peut être que dans le dossier formulaire cfg-contactform-35,
J'ai changé name="cfg-element-35-7" par name="nomtobd puisque sinon j'avais des problèmes de syntaxe avec "$cfg-element-35-7", mais rien n'y fait.
Juste une petite modification de ton dernier code auquel cas ou quelqu'un souhaiterait l'utiliser tel quel >>> else {$nomtobd='variable inconnue'};
il faut juste déplacer le ";" après "}", une petite erreur de frappe, ce qui donne :
if (isset($_POST['nomtobd']))
{
$nomtobd = $_POST['nomtobd'];
}
else
{
$nomtobd= "variable inconnue"; // de Jc aprés modif du ";"
}
..
Tu as déjà passé du temps avec mes difficultés et je comprendrai que tu puisse être maintenant dans l'impossibilité de poursuivre, dans tout les cas je te remercie et ne peux que conseiller aux autres demandeurs dans ce forum de te solliciter., sinon je reste à l'écoute.
Auquel cas je n'y arriverai pas, j'abandonnerai tout simplement et inscrirai les contacts manuellement dans ma bd.
Merci beaucoup
Pierrot
Bonjour Jc,
j'ai fait ne nécessaire concernant la modification de l’accès à la bd ainsi que mon post précédent.
J'ai fait une grosse boulette.. coller des codes "non préparés" de surcroît faux.
Les codes réels étaient :
<div class="cfg-element-set" id="cfg-element-35-7-set" >
<div class="cfg-element-content">
<input type="text" class="cfg-type-text cfg-form-value " name="cfg-element-35-7" id="cfg-element-35-7" />
<?php
//$cfg-element-35-7=$nomtobd; // ?????????
//session_start(); //test ????????????
//rename($_POST['cfg-element-35-7'], $_POST['nomtobd']); // ?????????
//$_POST['nomtobd'] = $_POST['cfg-element-35-7']); //test ?????????
rename($cfg-element-35-7, $nomtobd);
if(isset($_POST['nomtobd'])) $_POST['nomtobd'];//recup champs <input type="text" name="nomtobd" />
else $nomtobd='variable inconnue';
$db=mysql_connect("mondomaine.eu.mysql", "mondomained_eu", "**********"); // ok
mysql_select_db("mondomaine_eu.mysql", $db);// ok
$sql="INSERT INTO matable (nomprenom) VALUES ('$nomtobd')"; // pourquoi VALUES ('$nomtobd') reste orange ==> pas de donnée captée ou syntaxe ?
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); // insertion table
echo var_dump($nomtobd);
echo $nomtobd;
mysql_close(); //fermeture base
?>
</div>
</div>
Toujours rien dans ma base sauf l'éternel "variable inconnue" qui vient du else..
J'essaie de renommer le name de l'input pour ne plus être ennuyer par la syntaxe du cfg-element-35-7, qui ne passe pas avec un $ devant..
merci de ton alerte
pierrot
Bonjour JC,
J'essaie de ne pas trop "t'embêter" mais je cale encore..
J'ai appliqué le code correctif mais j'ai les mêmes difficultés;
Je le re-formalise pour ne pas se disperser, mais avec de nouvelles annotations en gris
<input type="text" class="cfg-type-text cfg-form-value " name="nomtobd" id="cfg-element-35-7" /> // changement de name ==> j'ai changé le name d'origine (cfg-element-35-7) par nomtobd puisque j'avais de problèmes de syntaxe dans les codes avec le name d'origine notamment ( les tirets !!!)
<?php
echo var_dump($data); // me renvoie NULL dans mon IHm
if(isset($_POST['nomtobd'])) $filename=$_POST['nomtobd'];//recup champs <input type="text" name="nomtobd" />
else $nomtobd='variable non chargée'; // "Variable non chargée" ==> c'est ce qui s'enregistre dans ma table en écrasant la variable par défaut qui est neant
echo $nomtobd; // vérif ok, me renvoie la variable du "else... == > variable non chargée."
//echo var_dump($data); // me renvoie encore NULL
$db=mysql_connect("truc.eu.mysql", "*********", "*********");// CA C'EST OK
mysql_select_db("truc_eu.mysql", $db);//CA AUSSI
$sql="INSERT INTO matable (nomprenom) VALUES ('$nomtobd')"; // VALUES ('$nomtobd') ==> la variable reste rn orange ==> pas de donnée ?
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());// insertion table
mysql_close();//fermeture base
?>
</div>
Ma table ==> sauf id et login, toutes les champs sont en varchar, avec "neant" par defaut
Je me demandais si la variable ne serait pas enregistrée temporairement puisque qu'elle change à chaque activation du formulaire, pour cela je suis allé dans le dossier cfg-contactform qui contient d'autres dossiers et une dizaine de fichiers php, mais sans rien trouver, ne sachant pas par ailleurs trop ce que je cherchais ( j'ai pas trouvé de nom de fichier correspondant à cfg-element-35-7) ? mais un ensemble dédié spécifiquement au formulaire :
(cfg-contactform ==> dossiers class > class-contactrform, dossier inc > contactform.config.php + form-validation.php + upload.php, js > + ..... ..) , je ne vais pas tous le énumérer sauf si besoin..
Je ne suis pas certain que le problème soit là.
Sans vouloir abuser de ton temps, peux tu me guider, je suis sûr que je ne suis pas loin , mais en informatique chez moi "pas loin et jamais" ..
Merci, j'essaie pourtant de ne pas trop "t'embêter".
pierrot
- sur mon serveur (linux 64 bits/ 8go ram) j'ai 2 DD dont un en miroir et dd externe pour les sauvegardes, je sais bien que c'est pas suffisant pour éviter un crash.. j'ai encore du travail sur ce problème qui cette fois est incompressible, j'essaie de faire des priorités, mon objectif à très très CT est d'avoir un site de commercialisation suffisamment protégé puis de rebasculer sur l'appli/serveur ensuite.
- j'ai été sur OVH regarder le VPS Classic, je vais m'y pencher, la maintenance se fait toujours en lignes de commandes ?
- Pour l'appli en SAAS, je ne l'ai pas dit, mais l'appli sera distribuée gratuitement, elle ne sert uniquement, me concernant, qu'a générer et récupérer des agrégats analytiques qui seront eux commercialisés ultérieurement ( je ne peux t'en dire plus ici), c'est pour cela que toutes les applis doivent travailler en temps réel avec la même bd, pour agréger toujours en temps réel toutes les données des utilisateurs finaux.
Postgresql contient environ 140 tables...tout est récupéré.. mais tu me comprendras, je ne peux m'étendre plus sur ce forum.
A la limite, l'implantation des applis sur des serveurs physiques différents n'empêcherait pas de les connecter à la même base postgresql, je pense que cela est à ma portée (???), je l'ai bien fait sur une.. mais je ne sais pas si c'est la bonne méthode, ou alors peut être en traitement différé via les triggers ? mais je ne serai plus en temps réel.
Pour les distributeurs, ils la distribueront également gratuitement à leurs clients, la valeur ajoutée pour eux est ailleurs ( idem .. je ne peux en parler ici), j'ai une petite idée sur le temps de souscription qui est entre C et MT.
- Sur le SSL, j'ai pas encore tout compris, mais à quoi sert alors le https ? je devrais ré-aborder cet aspect plus tard. Même si je ne peux réaliser tout ce que tu m'indiques dés maintenant, est ce que actuellement le site privé et son formulaire te paraissent correctement protégé (en l'état) ?
je ne veux surtout pas devenir "redondant", tu m'apportes déjà beaucoup, mais quand tu le pourras, si tu as le temps de regarder mon problème d'entrées de données formulaires dans ma bd, je butte la dessus, pourtant je pense avoir compris le process mais ou est mon erreur, méthode, codage ou les deux ?
je vais encore essayer.. le métier rentre pas facilement..
Pierrot
Bonjour,
- le SLA="Service Level Agreement"
Cette fois je pense peut être (?) avoir compris, à priori cette garantie de niveau de service s'adosse essentiellement à la disponibilité du serveur ? mais alors la qualité de l'appli et des services qui lui sont associés n'entrent pas dans ce concept ? Si c'était le cas, le problème serait uniquement le choix d'une typologie de serveur ? c'est à peu prés ça ?
- Sur le vps cloud
s'agit 'il de serveur dédié ? quelle différence y a t'il entre le Vps cloud et le mutualisé classique, il semble que le Vps cloud est un "dédié" sur un serveur physique partagé ? et que dans les 2 cas les ressources du serveur soient partagées ?
Je n'ai de toutes façon pas les moyens d'accéder, pour l'instant, à ces types d'hébergements. J'ai essayé il y a qq mois, mais je n'ai eu que des problèmes alors j'ai monté mon propre serveur. Dans un 1er temps, quoique tu ais totalement raison, je vais me contenter de ce que j'ai puis après, suivant l'évolution du dispositif, j'évoluerai vers une structuration plus pertinente.
- sur l'application physique par marque blanche
L'appli doit être reconfigurée suivant les chartes graphiques des distributeurs, et pourrait aussi être revue, mais modérément, sur son contenu.
Je ne sais pas encore si le coût l'hébergement et maintenance de chaque appli sera à ma charge ou à la charge du distributeur , cela reste ouvert selon le rythme de déroulement du projet. Actuellement je dois rester simple et monter en capacité de structuration au fur et à mesure des implantations, je sais que c'est faire les choses à l'envers, mais je n'ai ni la compétence ni les moyens financiers pour mettre en place un idéal, tout ce que je peux faire est me préparer à cela sans par ailleurs savoir comment. Si je me pose trop de questions sans que je sais pertinemment sans réponses ou sans moyen de les mettre en œuvre, je ne vais plus pouvoir avancer, mais je t'ai bien compris et suis totalement en accord avec toi, mais je n'ai les moyens de me payer une ferrai, alors ( pour l'instant) ma 2 chevaux me suffit, c'est un choix par défaut, après .. on verra
- les autres techniques de cloisonnement de données
Pourrais tu me dire qq mots la dessus, pour ma part je me disais qu'avec glassfish je pouvais rediriger chaque distributeur/utilisateur sur un port de déploiement de telle ou telle appli selon l'appli qui lui est destiné, sans toucher à ma base.
- sur le SSL, Alors je n'ai pas compris, pourquoi j'ai du activer le SSL pour pouvoir procéder aux liens https des formulaires sinon cela ne fonctionnait pas ? mais pour revenir à ma "simple" préoccupation, le fait que l’accès privé soit hasher avec Login et mot de passe, que mon formulaire principal soit positionné derrière et "formater" en https, cela protège t'il correctement les informations qui y circulent ?
En résumé, il faut que je sois réaliste, je suis incapable actuellement d'atteindre le niveau d'un pro, j'ai rêvé, il faut que je remette les pieds sur terre tout en prenant en compte, suivant mes possibilités, les évolutions critiques, en tout ou partie, dont tu me fais part. Cela à déjà fait exploser "le minimum syndical" de départ, mais plus je veux "être parfait" plus je m'aperçois que j'en suis incapable actuellement. Néanmoins, je ne me doutais pas du tout de l'ensemble de la complexité que tu m'as fait apercevoir et ne pourrai pas y échapper, mais doucement,.. plus j'en sais et moins je sais pouvoir savoir .. mais si le projet décolle, j'externaliserai et je ferai appel à ton expertise dans un contexte de partenariat en sous-traitance, si cela te convenait en ce temps. Je pense que le projet, dont je ne peux tout dévoiler ici, comporte encore bien d'autres aspects qui nécessiteront du travail d’orfèvre hors de ma portée.
Pour revenir sur "MA terre", avant de repartir sur tes conseils, je n'arrive toujours pas à enregistrer mes données de formulaire dans ma bd, l'enregistrement se fait en bd mais le(s) contenu(s) du formulaires n'apparaissent pas dans ma table . Je teste avec une seule donnée, après j'intégrerai les autres
peux tu m'indiquer ou je faute ?
Mon formulaire
<div class="cfg-element-container">
<label class="cfg-label" id="cfg-element-35-7-label" ><span class="cfg-label-value">Nom Prénom</span><span class="cfg-required">*</span></label>
<div class="cfg-element-set" id="cfg-element-35-7-set" >
<div class="cfg-element-content">
<!--<input type="text" class="cfg-type-text cfg-form-value " name="cfg-element-35-7" id="cfg-element-35-7" /> nom origine cfg-element-35-7 renommer nomtobd -->
<input type="text" class="cfg-type-text cfg-form-value " name="nomtobd" id="cfg-element-35-7" />
<?php
if(isset($_POST['nomtobd'])) $nomtobd=$_POST['nomtobd'];//recup champs <input type="text" name="nomtobd" />
else $nomtobd="";
$db=mysql_connect("mabase.eu.mysql", "mabase_eu", "**********");//connexion base
mysql_select_db("mabase_eu.mysql", $db);//selection bd
$sql = "INSERT INTO matable(id, nomprenom) VALUES('','$nomtobd')";// requête sql
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());// insertion table
mysql_close();//fermeture base
?>
</div>
</div>
<div class="cfg-clear"></div>
</div>
Je ne sais plus si je dois de tutoyer , excuse cette question
merci beaucoup
pierrot
Bonjour Jc,
En fait, l'appli est déjà en ligne et la connexion se fait directement sur le serveur via glassfish sur un port sécurisé + identifiant et Mdp, ce que je voudrais est de permettre aux visiteurs de visiter une version demo de l'appli en évitant de leurs communiquer l'url https d’accès direct.
J'ai accès direct à mon serveur alors que j'étais précédemment chez Ovh sur un serveur mutualisé, mais cela me posait qq difficultés de maintenance en ligne et de puissance Ram , maintenant que j'ai réinstallé l'appli je peux directement travailler sur ubuntu.
Concernant le SLA ( je ne savais pas ce que cela voulait dire), c'est, si j'ai compris, un cahier des charges que chacun doit respecter, du genre du document que l'on doit accepter pour installer un logiciel en ligne. Je n'ai pas mis en ligne ce type de document, c'est un peu plus compliqué que cela puisque je souhaite distribuer cette appli en marque blanche, mais je ne peux entrer toutes les infos sur un forum public, si tu le souhaitais, il doit être possible de t'envoyer ces infos en conversation privée via le forum pour que tu puisses viser par ton expertise.
Pour info
Projeter une distribution en marque blanche fait que chaque "distributeur" travaillera avec une seule et unique base postgresql ( la mienne), tout en travaillant sur des applications indépendantes sous leurs propres marques mais sur le même serveur ( redirection domaine/port en fonction de chaque marque)
Chaque marque blanche utilisera alors la même bd postrgresql, Il y a donc un complexe de sécurisation à créer au fur et à mesure du déploiement commercial de chaque marque d'appli et de ses clients utilisateurs..
Les sites commerciaux des distributeurs en marque blanche restent des éléments de commercialisation de l'appli sous leurs propres marques sans lien url avec mon site ou l'appli
Le site que je finis est, entr'autres*, un outil de commercialisation de cette marque blanche qui doit bien sécurisé puisque la formalisation des échanges avec les distributeurs transiteront par là.
Mysql me semblait suffisant pour ces échanges commerciaux, et puis mon hébergeur ne propose pas postgresql mais que mysql, il n'y aura à priori pas de liens entre postgresl/appli et mysql/site.
La sécurisation des 2 formulaires ( un en session publique et l'autre en session privée) est maintenant opérationnelles en https://.., mais je n'ai pas eu à utiliser un codage htacess ayant activé le SSL de mon hébergeur (donc pas de rewrite de ma part malgré ce que j’avais commencé à faire).
Par contre,je ne sais pas quel port est utilisé ? faut il que j'ajoute ta ligne de code en plus ? il y a qqchose qui m'échappe encore, je pensais que cela aurait été compliqué de mettre les formulaires en https via htacess, mais en fait ça c'est fait automatiquement et de ce fait je n'ai pas appris grand chose sur ce théme.
C'est en fait très très compliqué pour moi, j'ai à apprendre sur le tas, maintenant je touche un peu à tout sans être, et loin s'en faut, un quelconque expert informatique, dés que je tombe sur qqcghose de compliqué, eh bien... ça se complique vraiment.. et passe parfois des jours sur un problème qui demande qq heures.. et c'est pas aussi fréquent d'avoir de l'aide sur certains forums sans passer pour un trublion sans niveau, entre experts, excuses moi, c'était mon quart d'heure philosophie..
Je vais retourner sur mes entrées de données formulaires en bd en attendant tes observations, crois bien en la sincérité de mes remerciements, c'est rare...
J’espère que je ne suis pas trop bavard, mais il me semblait, au vu de tes post, qu'il fallait que tu ai un aperçu plus élargi de mes difficultés, si je suis confus n'hésite pas à me le dire.
Auquel cas je n'arrive pas à entrer mes données de formulaires aujourd'hui, je te contacte.
en attendant tes retours
merci encore
pierrot