Aller au contenu

Findel

Hubmaster
  • Compteur de contenus

    116
  • Inscrit(e) le

  • Dernière visite

Messages postés par Findel

  1. Indique dans ta base que la colonne "mots" doit être unique.

    Ensuite, tu pourras utiliser l'instruction suivante :

    mysql_query("INSERT INTO recherche(`mots`,`date`,`nbr`) VALUES('".$_GET['mots']."','".date('U')."','1') ON DUPLICATE KEY UPDATE nbr=nbr+1");

    Ainsi, tu n'aura plus besoin de tester quoi que ce soit, ça marchera dans le cas d'un nouvel enregistrement comme dans le cas d'une mise à jour d'un mot déjà existant

  2. Ne commence pas par te poser les questions de grand-parents.

    Fais au plus simple : Chaque bête a forcément un père et une mère, au minimum. Il te suffit donc d'avoir une seule table.

    Dans cette table, tu stocke l'identifiant de la bête, l'identifiant de son père, celui de sa mère, et c'est terminé.

    Après effectivement, pour afficher les informations sur une bête il te faudra sélectionner les deux parents, puis les deux parents de chacun des parents pour obtenir les grands-parents

  3. - la variable de session n'est pas écrite tout de suite (je crois)

    Si si, elle est dispo dès que tu l'alimente la première fois.

    - elle doit donc rester qqepart dans les entrailles du navigateur qui, lui, est unique

    Elle est toujours stockée sur le serveur... Ou alors on doit pas parler de la même chose et ça me fait un peu peur. Si tu parle de l'id de session, oui il est stocké sur le navigateur s'il supporte les cookies.

    - la variable serait alors commune au deux sites, du moins tant que le visiteur ne ferme pas son navigateur

    tout ça sous réserve d'erreur(s) de ma part.

    Ca non, on ne peut jamais "partager" des variables entre deux sites, à moins de les passer en post ou en get. Je ne sais pas comment tu as pu en arriver à la conclusion contraire, mais si tu veux en causer c'est volontier

  4. Il y a deux soucis en fait :

    1/ Il faut que tu "écrive" le contenu de la variable. Il faut donc mettre quelque chose comme : <a href="<?php echo $_SESSION['accueil']; ?>" title= .........

    2/ Tu ne peux pas initialiser une variable de session sur un site et l'utiliser sur un autre ! Une variable de session c'est propre à chaque site (heureusement d'ailleurs)

    Edit : Avec la solution c'est mieux.

    Il faudrait passer par une variable passée en paramètre :

    Dans http://fcfe2.free.fr/index.php, tu fais un lien de la forme href=&quot;http://www.maintiendomicile.fr/?accueil=fcfe2.free.fr/index.php"

    Dans http://www.maintiendomicile.fr, il faut écrire alors : <a href=&quot;http://<?php echo $_GET['accueil']; ?>" title= .........

    Par contre, ça reste toujours bizarre de renvoyer comme ça d'un site à l'autre

  5. Tu es sur de nous montrer le bon script ?

    Si je suis le lien, je tombe sur une page qui a deux fois le <html><head>... c'est pas normal à mon avis tu dois avoir un include qui traine là où il devrait pas

  6. +1 vraiment pas plus de 100 euros.

    De plus les disques à 18 Go de nos jours c'est un peu ridicule.

    Par contre, 256 de RAM et un bi-PIII 800, ça m'étonne un peu qu'on te désigne ça comme un "serveur" ... Rassure moi, c'est une offre d'occasion, pas un hébergeur pro ? Même les ordi "personnels" sont plus puissant aujourd'hui

  7. <?php 
    session_start();

    $lg = 'fr'; // valeur par défaut

    if (isset($_GET['lang'])) {
    // langue passée dans l'url
    $lg = $_GET['lang'];
    $_SESSION['lang'] = $lg;

    } else {
    if (isset($_SESSION['lang'])) {
    // langue mémorisée en session
    $lg = $_SESSION['lang'];
    }
    }

    if ($lg=='fr') { // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
    include('language/language-fr.php');
    }

    else if ($lg=='en') { // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
    include('language/language-en.php');
    }

    else if ($lg=='it') { // si la langue est 'it' (italien) on inclut le fichier it-lang.php
    include('language/language-it.php');

    ?>

  8. Pour utiliser les fonctions ssh2 il faut avoir d'abord installé l'extension il me semble.

    Pour symlink, je pense que c'est limité au système local.

    A mon avis, tu vas avoir du mal à faire un lien à distance, il vaudrait mieux que tu creuse la possibilité de faire un script sur le serveur distant qui s'occupe lui de faire le lien. Ensuite, depuis ton serveur tu appelle ce script.

    Par contre, je trouve bizarre que tu ais besoin de faire une telle manipulation sur un serveur distant, tu es certain d'en être obligé ?

  9. Dans le constructeur de arti :

    $sqlserver, $sqluser, $sqlpassword, $database, $persistency = true

    Autant de variables qui n'existent pas, à mon avis le soucis vient de là. Comme le disait march, il faudrait que tu rajoute tout ça en paramètres au constructeur d'arti

  10. Je refais le code de ton image :

    <?php
    session_start();
    if(!IsSet($_GET['nbr_chiffres'])) {
    $nbr_chiffres = 6; // Nombre de chiffres qui formerons le nombre par défaut
    }else {
    $nbr_chiffres = (int) $_GET['nbr_chiffres']; // Si l'on met dans l'adresse un ?nbr_chiffres=X
    }
    // Là, on défini le header de la page pour la transformer en image
    header ("Content-type: image/png");
    // Là, on crée notre image
    $_img = imagecreatefrompng('../images/validation.png');
    // On défini maintenant les couleurs
    // Couleur de fond :
    $arriere_plan = imagecolorallocate($_img, 0, 0, 0); // Au cas où on utiliserai pas d'image de fond, on utilise cette couleur là.
    // Autres couleurs :
    $avant_plan = imagecolorallocate($_img, 255, 255, 255); // Couleur des chiffres

    // calcul du nombre seulement si on ne l'a pas déjà calculé
    if (!isset($_SESSION['captcha'])) {
    // calculer le nombre
    $_SESSION['captcha'] = '';
    for ($i = 0; $i < $nbr_chiffres; ++$i) {
    $_SESSION['captcha'] .= (string) mt_rand(0,9);
    }
    }

    // generation de l'image
    imagestring($_img, 5, 18, 8, $_SESSION['captcha'], $avant_plan);
    imagepng($_img);

  11. Je viens de tester avec ce code et ça fonctionne :

    <html>
    <head>
    <script type="text/javascript">
    var soins;
    function affichesoins()
    {
    soins=window.open('http://www.google.fr','windowView1','width=100,height=100,left=100,top=100,toolbar=no,location=no,directories=no,
    status=no,menubar=no,scrollbars=1,resizable=1');
    }
    function fermesoins ()
    {
    soins.close ();
    }
    </script>
    </head>
    <body>
    <input type="button" onclick="affichesoins()" value="aff" />
    <input type="button" onclick="fermesoins()" value="close" />
    </body>
    </html>

  12. En fait, c'est pas exactement ça.

    Quand tu met le session_start() au début de ton fichier, tu le rend différent à chaque visite. Quand tu ne le met pas, ta page peut être mise en cache (et pré-remplie par le navigateur avec le history.back)

    Donc, c'est au navigateur que tu dois le pré-remplissage, mais il ne faut pas y compter dessus, tout d'abord tu as vu pourquoi, et ensuite car tous les navigateurs ne s'amusent pas à re-remplir un formulaire quand on revient dessus.

    Un conseil : Enregistre les variables saisies dans ta session puisque tu en as une, et lorsque tu affiche ton formulaire, met ces valeurs dans les value des champs

  13. Grosso modo deux solutions :

    1/ Ouvrir une liaison de données dans access pointant directement sur la base du site.

    Avantage : Tout est possible puisque directement accès aux deux

    Inconvénients : La partie programmation doit se faire côté Access puisque c'est le seul à voir les deux. En effet il n'est pas trop imaginable de faire un lien depuis le site vers la base Access pour des raisons de sécurité (ou de connexion physique parfois). Les temps de réponses ne sont pas toujours fameux puisqu'on dépend d'une connexion au net... Prévoir du cache et autre peut aider.

    Attention, il faut que l'hebergement propose l'accès à distance à la base MySQL, ce qui n'est pas toujours le cas. D'ailleurs en terme de sécurité c'est mieux si ce lien n'est pas proposé.

    2/ Travailler par "dump".

    L'idée est d'avoir un scrit sur le serveur web qui pond des fichiers de dump, au format texte, csv, sql, ... suffit de bien le déterminer. Côté Access, puisque la mise à jour est bi-directionnelle, prévoir un petit module d'export des données.

    Ensuite, une ouverture de connexion FTP pour envoyer au serveur web l'export de données d'Access et rapatrier celui fait par le script web, puis chargement dans Access du dump et chargement dans MySQL de l'export.

    Avantage : Pas de connexion lourde, pas limité par une éventuelle sécurité.

    Inconvénients : Partie à programmer à la fois dans Access et sur le serveur web.

    Dans la solution que j'avais mise en place voici comment j'avais procédé :

    Sur le site web :

    - Un script qui sauvegarde les tables vers autant de fichier XML que de tables.

    Dans Access :

    - Un module qui se charge de créer autant de fichier .php que de tables à exporter, fichier comprenant tout ce qu'il faut : connexion à Mysql et les mysql_query(...) qui vont bien

    - Un module qui soit capable de lire les fichiers XML qui vont venir du serveur web pour les intégrer dans Access

    - Un module qui appelle la page correspondant au script de dump du serveur web

    - Un module qui appelle les pages PHP qu'il a lui même pondu

    - Un module qui fait la connexion FTP pour poser ses fichiers PHP et faire un get des fichiers XML

    Voici comment se passait la synchro, depuis Access :

    1/ Appel de la page qui correspond au script de dump sur le serveur web

    2/ Lancement de la création des fichiers PHP

    3/ Connexion FTP

    4/ Dépot des fichiers PHP

    5/ Rapatriement des fichiers XML

    6/ Suppression des fichiers XML sur le FTP (ménage quoi)

    7/ Fermeture FTP

    8/ Lecture des fichiers XML pour chargement dans Access

    9/ Appel des pages correspondant aux fichiers PHP qui ont été envoyés

    10/ Connexion FTP

    11/ Suppression des fichiers PHP

    12/ Fermeture FTP

    Les outils utilisés :

    - Commande FTP DOS de windows, assez simple à utiliser en créant des fichiers .bat

    - Une instanciation de l'objet d'Internet Explorer pour les appels de pages web depuis Access

×
×
  • Créer...