Aller au contenu

patricia.b

Webmaster Régulier
  • Compteur de contenus

    65
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par patricia.b

  1. Merci d'une réponse aussi rapide... Oui pour ta première question, Oui pour ta seconde question, Et si j'ai pensé que cela pouvait venir des chmods, c'est que cela fonctionne en local, donc sans chmods, avec ou sans fonction de retour et ne fonctionne que sans fonction de retour une fois sur le serveur de mon hébergeur qui lui nécessite ces de chmods... Je précise que je si on me fait une autre proposition pour une redirection sur la page html, je la prendrais avec plaisir, je ne tiens pas du tout à ma solution qui ne fonctionne pas...
  2. Bonjour, J'ai le script php suivant pour permettre l'upload de fichiers sur mon site, avec des chmods 733. <?php $dossier = 'upload/'; $fichier = basename($_FILES['avatar']['name']); $taille_maxi = 102400; $taille = filesize($_FILES['avatar']['tmp_name']); $extensions = array('.png', '.gif', '.jpg', '.jpeg' '.xls'); $extension = strrchr($_FILES['avatar']['name'], '.'); //Début des vérifications de sécurité... if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau { $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, xls'; } if($taille>$taille_maxi) { $erreur = 'Le fichier est trop gros...'; } if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload { //On formate le nom du fichier ici... $fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier); if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné... { echo 'Upload effectué avec succès !'; } else //Sinon (la fonction renvoie FALSE). { echo 'Echec de l\'upload !'; } } else { echo $erreur; } ?> Ce script est "alimenté" par le formulaire ci-dessous, placé sur une page hmtl: <form name="upload" enctype="multipart/form-data" method="post" action="upload.php"> <!-- On limite le fichier à 100Ko --><input type="hidden" name="MAX_FILE_SIZE" value="102400"> Fichier : <input type="file" name="avatar"> <input type="submit" name="envoyer" value="Envoyer le fichier"> </form> Cela fonctionne parfaitement. Mais je voudrais qu'après que l'upload du fichier soit fait, ou s'il y a erreur, un retour vers la page de formulaire soit possible. J'ai utilisé le code suivant : // Récupération de l'url de retour $return_link = $_SERVER['HTTP_REFERER']; Puis ai créé la fonction de retour automatique : function createReturnLink(){ global $return_link; echo "<a href='".$return_link."'>Retour</a><br>"; } et placé echo(createReturnLink()); après echo 'Upload effectué avec succès !'; et echo 'Echec de l\'upload !'; Et là, rien ne va plus et je me retrouve avec le message d'alerte : "Warning: move_uploaded_file(upload/Image-1.png) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/admiplus/domains/admiplus.fr/public_html/upload.php on line ... [celle qui correspond dans mon script à : if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier))] Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpenWX3O' to 'upload/Image-1.png' in /home/admiplus/domains/admiplus.fr/public_html/upload.php on line ... [idem ci-dessus] Echec de l'upload !" J'ai supposé qu'il me fallait changer mes chmods, mais même avec les 777, j'obtiens le même résultat. Où fais-je erreur à votre avis ? Merci par avance de votre aide...
  3. Bonjour, J'ai, sur le site sur lequel je suis en train de travailler, un caddie qui fonctionne très bien lorsqu'il s'agit d'y intégrer des produits, mais lorsque je veux enlever un produit, au lieu de ne supprimer que la ligne concernée, il enlève toutes celles qui se situent à partir de la ligne à supprimer... Donc si, par exemple j'ai 6 produits dans mon panier et que je veuille enlever le 3e, il ne me restera plus que les deux premiers. Voici le script que j'utilise si quelqu'un peut me dire ce qui cloche, ce serait hyper sympa... <?php session_start(); $split = explode(",", $list); if (IsSet($split[1])) { foreach ($split as $item) { $i = explode("+", $item); if ($i[0] != $id) { $list = "$i[0]+$i[1],"; } } if (substr($list, -1) == ",") { $list = substr($list, 0, -1); } } else { $list = ""; } ?> Merci par avance de votre aide.
  4. Bonjour, N'étant pas très experte en php, j'ai perdu un temps fou à d'abord chercher "toute seule" comment parvenir à faire un menu déroulant avec liens sans utiliser de javascript, puis à parcourir différents forums... et comme je ne suis pas seule dans ce cas, je livre "mon" script à ceux à qui cela peut servir. Il est basé sur un script proposé par le Site du Zéro (encore merci à lui...), et je l'ai 'adapté pour qu'il puisse récupérer les données d'une BDD mysql. Ce menu déroulant permet donc de renvoyer l'utilisateur vers une page interne ou externe. Il nécessite la création d'une page de traitement que vous appelerez : redirection_navigation.php. Pour réaliser cette page : <?php /* on vérifie que l'information "menu_destination" existe ET qu'elle n'est pas vide : */ if ( isset($_POST['menu_destination']) && !empty($_POST['menu_destination']) ) /* si c'est bien le cas (existe ET non-vide à la fois), on redirige le visiteur vers sa valeur choisie de l'information "menu_direction" : */ {header("Location: ".$_POST['menu_destination']."");} /* sinon, on le redirige vers une autre page utile : */ else {header("Location: http://");} /*vous mettez entre http:// et " l'url complète de la page concernée*/ Pour la page sur laquelle figure le menu déroulant, je ne vous mets que ce qui concerne le menu déroulant. Vous ajouterez vos indications de connexion à votre BDD et de déconnexion... <form method="post" action="redirection_navigation.php"> <select name="menu_destination"> <?php /*On récupère les données de la BDD*/ $query = mysql_query("SELECT nom,url FROM table ORDER BY nom ASC"); /*On fait une boucle pour lister le contenu de la BDD*/ while ($row = mysql_fetch_row($query)) { /*$row[1] correspond, dans mon exemple au champ de l'url et $row[0] à celui du nom*/ echo "<option value=\"$row[1]\">$row[0]</option>"; } ?> </select> <input type="submit" value="Aller"> </form> Une précision concernant la ligne : $query = mysql_query("SELECT nom,url FROM table ORDER BY nom ASC"); Après SELECT, je n'ai mis volontairement que 2 données pour limiter le champ de recherche dans la BDD et comme je voulais que le résultat apparaisse en ordre alphabétique, j'ai ajouté : ORDER BY nom ASC. Bien sûr, vous remplacez : nom, url par les champs de votre BDD et table par le nom de votre table. Ce script fonctionne parfaitement chez moi.
  5. Oui, un fournisseur distribue plusieurs produits... Une table de jointure, j'ai jamais fait (je suis vraiment très, mais très débutante ) mais je vais apprendre... En attendant, je vais utiliser la requête que m'a soumis KnockedMaster, et qui fonctionne très bien. Grand merci... et lorsque j'aurais un même produit distribué par plusieurs fournisseurs, je le rentrerai comme un produit unique associé au fournisseur (je ne sais pas si je suis très explicite, là...). Cela gonflera un peu ma BDD, mais je ne pense pas avoir beaucoup de produits identiques distribués par plusieurs fournisseurs, tout au moins dans l'immédiat. Encore une fois merci pour vos réponses.
  6. Merci de votre réactivité. Pour répondre aux questions : - un même produit peut être distribué par plusieurs fournisseurs - pour l'id de la table fournisseur, je viens de le changer (pour ne pas me mélanger avec les différents id). Je l'ai donc appelé frsid. Ce qui fait que mes tables, maintenant, sont ainsi : 1) fournisseurs avec : frsid (autoincrémenté), nom, adresse, etc. 2 ) produits avec : id (autoincrémenté), nom, chemin_image, description, prix, stock, frsid
  7. patricia.b

    Requête sur 2 tables

    Bonjour, Je suis plus que débutante en ce qui concerne le SQL, et, en général, j'essaie de me débrouiller seule ou en parcourant des forums pour trouver la solution à mes problèmes, mais là, je n'ai pas trouvé comment faire une requête qui, pourtant, doit être très courante... (si la réponse existe sur ce forum, d'avance toutes mes excuses, c'est que j'aurai mal cherché...) D'une part, j'ai deux tables : 1) fournisseurs avec : id (autoincrémenté), nom, adresse, etc. 2 ) produits avec : id (autoincrémenté), nom, chemin_image, description, prix, stock, id_fournisseur D'autre part, j'ai une page php sur laquelle tous les produits contenus dans la table "produits" sont listés : nom, image - tous fournisseurs confondus - avec, pour chaque produit, un bouton "détail". Cliquer sur l'un des boutons "détail" amène à la page... "detail.php" qui affiche le nom, l'image, la description et le prix du produit sélectionné dans la page précédente. Là, je n'ai pas de problème pour faire la requête permettant de les récupérer puis de les afficher. $query = mysql_query("SELECT * FROM produits WHERE id='$id'"); $row = mysql_fetch_row($query); Cependant, je voudrais ajouter à chaque produit le nom du fournisseur correspondant, mais il me faut aller chercher son nom sur la table "fournisseurs", si je ne veux pas me retrouver avec son n° id, et je ne sais pas comment écrire ma requête. Merci d'avance pour votre aide...
  8. UN TRES BON ANNIVERSAIRE AU HUB et UNE TRÈS LONGUE VIE... Bonne journée à tous...
  9. Merci. Depuis ta réponse, j'ai fait fonctionner mes petites cellules grises (comme dit Hercule Poirot) car cela m'ennuyait de ne pas avoir de retour automatique vers la page de remerciement. J'ai modifié mon script, supprimé les includes "header" et "footer" que j'avais créées pour mettre le haut et le bas de mon cadre et ai placé le <?php echo $msg_ok;?> dans la cellule centrale d'un tableau de 3 lignes. J'ai créé des css pour placer : - le haut du cadre avec son bandeau, dans la première ligne - les côtés du cadre, dans la seconde ligne - le bas du cadre dans la dernière ligne. J'ai ainsi "libéré" le header et utilisé : header("Location:..... ...et comme cela la redirection se fait automatiquement. Bonne fin de journée.
  10. Bonjour, Merci de ton aide. C'est, je crois, le défaut de tous les débutants... J'apprends le php toute seule et peut-être que mon cerveau de quinquagénaire veut trop bien faire et surcharge inutilement... Bonne journée.
  11. Bonjour, Merci de m'avoir répondu. Si je comprends bien ton propos, tu fais une vérification des champs dans le formulaire et à nouveau une vérification des champs dans la page php ?... Mais ce n'est pas à ce niveau que je voudrais changer quelque chose. Je pense m'être mal expliquée : J'ai déjà fait : 1 - un formulaire html (sans vérification des champs) qui fonctionne très bien 2 - une page php avec vérification des champs, enregistrement des données sur BDD et 2 textes différents selon si tout est OK ou non et il fonctionne aussi sans problème : les champs sont vérifiés, les données sont bien entrées dans la BDD il y a émission de messages texte. C'est au niveau de ces messages que je voudrais agir : je souhaiterais renvoyer le visiteur vers une autre page html que le formulaire si tout est OK, mais je ne peux pas utiliser le refresh car "j'occupe" le header avec le bandeau du cadre dans lequel se trouve le message d'infirmation ou de confirmation d'enregistrement du formulaire. Pour mieux illustrer mon propos, le mieux serait peut-être, si tu en as le temps, bien sûr, que tu ailles sur ma page de formulaire : http://tresors-de-provence.com/vipot/sondagefleurs5.html, que tu remplisses d'abord une partie des champs obligatoires, ce qui devrait te renvoyer à une page d'erreur, puis que tu complètes ensuite tous les champs obligatoires, ce qui va t'amener à la page de confirmation (actuellement générée par la page php et <?php echo $msg_ok;?>). C'est ce message que je voudrais supprimer pour le remplacer par un lien vers une page html autre que le formulaire...
  12. Bonjour, Je suis plus que débutante en php et il m'a fallu plus d'une semaine (et l'aide d'un ami qui m'a corrigé certaines erreurs) pour arriver à écrire une page php qui fonctionne et récupère les données d'un formulaire (avec certains champs obligatoires et d'autres facultatifs) et les faire s'insérer dans ma BDD... Evidemment, ce script renvoie un message après la validation du formulaire : soit il indique les champs manquants, soit il confirme que tout est OK. Maintenant, je voudrais le modifier et faire en sorte qu'au lieu du message confirmant que tout est ok délivré par <?php echo $msg_ok;?>, je voudrais qu'un lien soit fait vers une page "merci.html" qui comporte elle-même un autre lien. Comme j'ai voulu personnaliser la page comportant les messages "champs manquants" et "confirmation ok" avec un cadre adaptable à la hauteur du message généré qui comporte un bandeau en haut et un pied de page , j'ai créé, à part, une page "header.php' et une page "footer.php" que j'ai mis en include, et ai placé le <?php echo $msg_ok;?> dans une table avec un fond comportant les côtés droit et gauche du cadre. Et maintenant je suis bloquée parce que je ne sais pas ce qu'il me faut faire pour que seulement lorsque le formulaire est OK, ce soit la page "merci.html" qui s'affiche et non le message généré par <?php echo $msg_ok;?>. J'ai essayé d'utiliser le "refresh" mais j'ai dû mal m'y prendre car que le formulaire soit ou non correctement complété, la page php renvoie sur la page "merci.html". Comme je ne suis pas certaine d'être très claire dans mes explications, voici le contenu de ma page php après les "formules d'usage" : balise php et données connexion BDD (soyez indulgents avec moi sur sa rédaction, c'est mon premier "vrai" script, il fera certainement brouillon pour beaucoup d'entre vous...) //message erreur champs obligatoires $msg_erreur = "Erreur. Vous n'avez pas complété tous les champs. Utilisez la fonction retour de votre navigateur pour remplir les champs omis :<br/><br/>"; $msg_ok = "Votre demande a bien été prise en compte."; $message = $msg_erreur; //recuperation des données table coordonnees et vérification des champs obligatoire if (empty($_POST['nom'])) $message .= "Nom<br/>"; $entreprise=$_POST['entreprise']; $adresse=$_POST['adresse']; $ville=$_POST['ville']; $tel=$_POST['tel']; $fax=$_POST['fax']; if (empty($_POST['email'])) $message .= "Email<br/>"; $site=$_POST['site']; if (empty($_POST['siret'])) $message .= "Siret ou N° TVA intracommunautaire<br/>"; if (empty($_POST['profession'])) $message .= "Profession<br/>"; $skype=$_POST['skype']; $msn=$_POST['msn']; if (empty($_POST['produits'])) $message .= "Vous a-t-on déjà présenté, ou avez-vous déjà acheté des produits similaires à ces pots ?<br/>"; if (empty($_POST['recontact'])) $message .= "Souhaitez-vous que nous vous recontactions lors de la mise sur le marché de ces pots ?<br/>"; include ("header.php"); // si un champ est vide, on affiche le message d'erreur if (strlen($message) > strlen($msg_erreur)) { ?> <html> <body> <div align="center"> <table width="800" border="0" cellspacing="0" cellpadding="0" background="images/accueilcotes.gif"> <tr> <td> <div align="center"> <br/> <br/> <?php echo $message; ?> <br/> </div> </td> </tr> </table> </div> <?php // sinon c'est ok } else { foreach($_POST as $index => $valeur) { $$index = stripslashes(trim($valeur)); } // Insertion des données dans la table coordonnees $query = "INSERT INTO coordonnees(nom,entreprise,adresse,ville,tel,fax,email,site,siret,profession,sky pe,msn,produits,recontact) VALUES('$nom','$entreprise','$adresse','$ville','$tel','$fax','$email','$site','$siret','$profession','$skype','$msn','$produits','$recontact')"; $result = mysql_query ($query); if ($result) { ?> <div align="center"> <table width="800" border="0" cellspacing="0" cellpadding="0" background="images/accueilcotes.gif"> <tr> <td> <div align="center"> <br/> <br/> <?php echo $msg_ok;?> <br/> </div> </td> </tr> </table> </div> </body> </html> <?php } else { echo mysql_error(); } } include ("footer.php"); mysql_close(); ?> Merci pour votre aide...
  13. Merci, retour de formulaire bien reçu. J'ai dit à mon amie de vérifier ses réglages de navigateur et elle vient de me répondre que c'était la "barre d'outil google qui bloquait les pop up!!!". Le pire, c'est que c'est elle qui a tenu à ce pop up Par contre, elle m'a demandé de configurer son site pour un écran 800 x 600 et je m'aperçois que je ne l'ai pas signalé (d'où la petite taille du "cliquer ici" vu par "Nullette"). Je le ferai lorsque je le retravaillerai car j'ai encore les pages en anglais et en allemand à faire. Bonne journée à tous.
  14. Bonjour, Je suis en train de faire un site pour une amie traductrice, et, pour que celui-ci soit dans les mêmes conditions d'hébergement que celles qu'il aura par la suite (en page perso Wanadoo), je l'ai mis provisoirement à la place de mon site généalogique afin d'en tester les liens et formulaire. Or, d'après cette amie, il n'y a pas d'accès formulaire. Or, non seulement lorsque je me rends sur le site, j'y accède sans problème, mais je le complète, l'envoie (et en reçois le résultat par la suite sur ma BAL). Je fais donc appel à vous pour tester et me dire, si possible, ce qu'il en est. L'adresse provisoire du site est : http://perso.wanadoo.fr/genealogie.bourgogne Il faudrait, à partir de la page d'accueil, survoler le lien "devis" puis cliquer sur "obtenir un devis". Normalement une petite fenêtre pub devrait s'ouvrir avec un bouton pour accéder au formulaire. J'ai configuré le formulaire pour que son résultat me revienne, mais n'utilisez pas les adresses ou lien e-mails pour me répondre car ce ne sont pas les miens et je n'aurais pas votre message. Merci d'avance pour votre aide. Cordialement, Patricia
  15. C'est aussi ce que je me suis dit en allant sur leur site, mais je n'ai pas voulu m'arrêter à ma seule opinion avant de répondre à mon amie. En parcourant le site addandboost.com, j'ai eu l'impression qu'ils ne faisaient qu'utiliser des outils mis à la disposition de tous pour référencer gratuitement son site. Il suffit de voir les tarifs de voila ou google pour avoir un bon positionnement...
  16. Bonjour, Une amie qui va faire son site se préoccupe déjà du référencement et me demande ce que je pense de addandboost.com. Comme je ne le connais pas, j'ai commencé par chercher si des messages avaient déjà été portés sur lui, mais n'ai trouvé qu'un message en faisant mention. Pouvez-vous me donner votre avis sur addandboost.com : son référencement est efficace ou non ? Si non, vers qui dois-je orienter mon amie pour que son site pro soit bien placé dans les principaux moteurs ? Merci d'avance pour votre aide.
  17. Bonjour, Pour une étude de marché concernant la formation sur Mac uniquement, je recherche des formateurs indépendants (pas de commerçants), quelle que soit leur clientèle (particuliers, professionnels ou les deux), qui accepteront de répondre à quelques questions. Cela ne demandera que quelques minutes. Aucune donnée financière ne leur sera demandée. Alors, si vous êtes déjà en activité ou le serez début 2006, pourriez-vous vous inscrire sur la page : http://www.votreprojet.fr/etude_formation.html afin de collaborer à cette étude. Je précise que cette étude n'est pas demandée par un formateur actuel ou futur mais en vue de la création d'une entreprise de services. Si vous n'êtes pas concerné, mais connaissez des personnes susceptibles de l'être, pouvez-vous les en informer ? Merci d'avance pour votre aide. Cordialement, Patricia
  18. Bonjour et bienvenu sur ce hub, Concernant ton client koweitien, s'il te paie par virement de banque à banque (et d'avance), normalement, tu ne risques pas grand chose. Je dis bien "normalement", parce que j'ai eu une désagréable expérience en 2004 avec un paiement dit "sécurisé" par carte bancaire d'un client étranger : 40 jours après l'acceptation de la transaction bancaire et paiement , la banque m'a informée que cette carte avait été fraudée et qu'elle m'en débitait le montant ! Imagine : plus de 7 000 euros de marchandises expédiées + les frais de transport pour lesquels je n'ai jamais été payée
  19. Oups !... Je signale une erreur de typo et ne me rends même pas compte que je n'ai pas oublié le "n" après dans "accompagne"... Toutes mes excuses.
  20. Bonjour, Je vais donner une opinion non pas "technique" mais de visiteuse. Je trouve le site sympa avec une bonne navigation, mais j'avoue avoir zappé immédiatement la page intro (qui ne couvre pas la totalité de la page d'accueil) à cause de la musique qui l'accompage et que j'ai trouvé énervante, mais je ne parle que selon mon goût. J'y ai relevé une petite erreur de typographie sur la page d'accueil : il manque un espace après la virgule à : "sympa,un coin". Cordialement, Patricia
  21. Bonjour, L'entreprise individuelle est le statut juridique le mieux adapté dans ton cas. J'ai pas mal de connaissances en ce qui concerne la création d'entreprise, aussi, si je peux te conseiller, ne serait-ce qu'en ce qui concerne le statut fiscal. Adresse-moi un MP avec tes questions, j'y répondrais avec plaisir. Cordialement, Patricia
  22. Merci à tous pour vos réponses... Amicalement, Patricia
  23. Bonjour, J'ai, sur mon site (http://www.votreprojet.fr), plusieurs formulaires dans lesquels figurent un champ obligatoire "téléphone fixe", et j'aimerais que les personnes qui le complètent n'y mettent pas un numéro de portable. Y a-t'il un code html à insérer pour refuser toute donnée commençant par 06 dans ce champ ? J'aimerais aussi qu'un message d'alerte pointe son nez si quelqu'un essaie de placer son n° de portable dans ce champ. Merci d'avance pour toute aide qui me sera apportée, car le html n'est pas vraiment mon truc. Amitiés de Provence, Patricia
  24. Bonjour et bienvenue à toi "collègue" ... comme on dit dans notre belle Provence.
  25. Bonjour, Je te souhaite, à mon tour, la bienvenue sur ce hub. J'ai fait, moi aussi de la formation informatique et de la photo (je parle de l'argentique...) Côté informatique, je suis résolument Mac depuis 1989 alors, si tu as besoin d'aide de ce côté-là, n'hésite pas ! Amicalement, Patricia
×
×
  • Créer...