Vous n'êtes pas identifié(e).
Bonsoir,
<form class="form-horizontal" action="mailto:moi@domaine.com">
Ici vous êtes supposé mettre votre email à la place de "moi@domaine.com" en laissant les guillemets, comme l'a dit tof73.
Cette méthode va ouvrir l'application mail de l'internaute, le champ "To" sera rempli avec ce mail. En gros c'est l'internaute qui doit faire le travail.
Pour le faire vous même il vous faut remplacer la ligne:
<form class="form-horizontal" action="http://www.monsite.fr/sendmail.php">
en mettant votre script d'envoi de mail en php dans le fichier sendmail.php.
++
Bienvenue sur phpdébutants Skyros . Je ne connais pas ce luthier, je suis également en Alsace bien que je ne sois pas Alsacien non plus, et je joue de la guitare aussi comme notre ami MK. J'irais voir à l'occasion lors d'un prochain passage sur Nîmes
++
Salut,
Vu que myId est de type numérique ET décimal, $delElem = myQuery("DELETE FROM proisls_society_elem WHERE elem_society = $myId"); est encore plus simple et évite les conversions de type implicites.
++
Bonjour,
Je vous suggère vous aussi de lire ce que j'ai écrit
admettons que $machaine contienne le contenu contenant des apostrophes,
$machaine=addslashes($machaine);
Donc je le répète en clair addslashes a pour seul but d'échapper les apostrophes dans une chaîne de caractères et encore QUE si on est sur MySQL! Les autres caractères spéciaux n'étant pas l'objet de la question initiale, je le rappelle également.
Maintenant si vous voulez vous renseigner sur comment on doit normalement gérer les choses à ce niveau, je vous invite à lire ce post: http://www.developpez.net/forums/d12434 … tions-sql/
bonne journée.
Bonjour,
Malheureusement ça ne fonctionne pas. Je n'ai aucune insertion dans ma base.
....
$yyy=addslashes($yyy);
$requete=mysql_query("INSERT INTO xxx VALUES('$_POST[xxx]','$_POST[xxx]','$_POST[xxx]','$_POST[xxx]','$_POST[xxx]','$_POST[xxx]','$_POST[xxx]','$_POST[xxx]','$_POST[xxx]','$_POST[yyy]') ");
Visiblement vous n'avez rien compris au code que je vous ai fourni, votre code en est une parfaite démonstration.
Deux choses essentielles à dire sur votre code :
1) on ne doit jamais insérer directement dans une requête SQL les variables publiques $_POST ou $_GET sous peine d'être vulnérable aux attaques par injection SQL pour le moins, et il y en a d'autres. MySQL_real_escape_string() ne vous protège en rien, du moins elle n'offre aucune garantie à ce niveau. De plus elle est dépréciée comme il est indiqué dans le lien fourni par tof73, donc ne l'utilisez plus sous peine de voire votre code générer des erreurs sous peu.
2) $yyy=addslashes($yyy);
Ensuite ce code ne fera strictement rien dans votre contexte, sauf à écrire $yyy=addslashes($_POST['yyy']); et de passer ensuite $yyy dans votre requête et non $_POST['yyy']. D'ailleurs vous ne l'avez peut-être pas remarqué mais il n'y a pas de variables $_POST['xxxx'] explicites dans le code que je vous ai fourni. Je suis en effet passé par des variables intermédiaires.
Si vous avez des questions n'hésitez pas, c'est toujours mieux que de transformer son site en passoire.
Bonne journée
Bonjour,
admettons que $machaine contienne le contenu contenant des apostrophes,
Bon dimanche
Bonjour,
Désolé de mettre les pieds dans le plat, mais votre requête est fausse et ne peut fonctionner ainsi. Si elle ne provoque pas d'erreur c'est uniquement car vous avez utilisé une fonction d'aggrégation AVG() qui ne retourne donc qu'une seule ligne, condition indispensable minimale sous MySQL.
Pourquoi est-elle fausse? Imaginez cette requête (la votre écrite plus clairement) : SELECT notes FROM RESULTATS ORDER BY 3; Le 3 ici n'a aucun sens sémantique. Pour classer les résultats de notes par ordre décroissant, il faut écrire ici ORDER BY notes DESC;
Maintenant si vous souhaitez de l'aide pour écrire votre requête, un SHOW CREATE TABLE pour chacune de ces 3 tables, me semble être un minimum, n'étant pas devin
A bientôt
Bonjour,
Etant donné qu’il y a une relation n,n entre les 2 tables, je vais créer une table associative faisant correspondre les ID des 2 tables : Assoc(id_terme, id_syn)
Il s'agit bien en effet au niveau bases de données de la façon correcte de représenter une relation n,n au sens de l'algèbre relationnelle. Elle sera performante tant que ces ids resteront représentés par des entiers à valeur purement technique. Selon le SGBDR utilisé, l'ordre du doublet {id_terme,id_syn} ou {id_syn,id_terme} aura quant à lui un impact au niveau indexation (notion d'index couvrant), et donc au niveau performances, selon votre contexte d'exploitation.
Bonne journée.
Bonjour,
Voici quelques conseils que je vous conseille instamment de suivre :
1) Passez à PDO au lieu d'utiliser mysqli
2) N'utilisez plus $GLOBALS dans votre code.
3) Vous devez hasher les mots de passe dans votre base de données au minimum en SHA2 (MD5 et SHA1 sont obsolètes: MD5 depuis suffisamment longtemps pour plus se rappeler depuis quand, et SHA1 depuis Janvier 2015)
4) Une fois le 3) effectué vous devez comparer le mot de passe saisi par l'utilisateur avec celui hashé en base de données en le hashant au niveau de la requête.
5) Passez par des variables intermédiaires au lieu de $_POST directement dans vos requêtes. Ces variables intermédiaires devront être contrôlées au niveau de leur contenu avant d'être utilisées dans la requête afin d'éviter ce que l'on appelle des injections SQL.
Bonne journée.
4)
Bonjour,
$arraySearch = explode(" ", $_GET['terms']);
$b=count($arraySearch); $searchresult='';
for($a=0;$a<$b;$a++){ if(strlen($arraySearch[$a])>0){$searchresult.=$arraySearch[$a];}}
Voilà en plus simple, mais question utilité fonctionnelle, ça frise la correctionnelle lol.
Bonjour xTG,
Pour te répondre basiquement, cela a un impact
1) si tu n'a pas besoin de consulter les données que tu vas y mettre
2) si les données que tu y mets ne sont pas statiques et/ou qu'elles évoluent rapidement dans le temps.
Donc sur ces deux points tu as déjà une bonne partie de ta réponse.
Un fichier XML est une source de données comme une autre, et entre nous "combiner le cache avec le chargement XML" ne veut strictement rien dire au sens technique... difficile de te répondre sur ce point sans précisions supplémentaires.
Ensuite dans une architecture web, le cahier des charges d'un cache serveur et d'un cache client sont différents.
++
Bonjour à tous,
J'aimerais souhaiter à tous mes meilleurs vœux pour cette nouvelle année 2015 et surtout, le plus important, une bonne santé
Jc
Bonjour,
Meilleurs vœux également pour 2015!
if (isset ($type != 'new' && $resultat['dif_days'] <= $nb_days2benew))
Cette syntaxe est incorrecte ! la voici corrigée:
à +
Bonjour
print '<iframe width="95%" height="315px" src="//www.youtube.com/embed/'.$array[1][0].'?version=3&autoplay=0&controls=0&showinfo=0&hl=fr_FR&rel=0" frameborder="0" allowfullscreen></iframe>';
++
Bonjour,
je pourrai peut être mettre mes liens vidéos dans un fichier protégé par l'authentification php ? auquel cas seuls ce qui auraient accès aux sessions protégées pourraient aller directement sur les vidéos ? je me trompe ?
Il y a deux façons de faire
1) Accès au fichier de façon anonyme : n'importe qui qui connait l'url du fichier peut y accéder et même le télécharger. 2 techniques ici : a) dossier protégé par .htaccess (mais n'importe qui connaissant le mdp du dossier peut y accéder), b) par obfuscation d'url, mais cela nécessite une action préalable de l'utilisateur pour générer ce lien dynamique, donc ce n'est plus vraiment de l'accès anonyme. Personnellement, je n'aime aucune des deux, même si la 2e est "plus propre".
2) Accès au fichier par session authentifiée, la meilleure façon à mon sens. L'utilisateur doit être authentifié et autorisé sur la plateforme pour accéder au fichier avec un lien qui obfusque mais qui n'est pas aléatoire par ex: https://monsite.com/getfile.php?id=1&token=abcdef123456. Cette authentification peut se faire soit via enregistrement mail en double optin, soit via un compte enregistré sur le serveur. Le token ici est plus adapté pour une authentification mail en double optin, sinon pas besoin.
Bon week-end.
@sanimirza: Pour éviter les problèmes dans ce que tu dis, il te faut utiliser pour la première option sélectionnable (qui corresponds à une non sélection), un id=1 et non 0
Bonjour,
Tout d'abord merci pour ton témoignage pierrot35, ça me fait plaisir, des retours de ce genre, on en a pas souvent
Maintenant je vois beaucoup de choses dans ton code, et je pense que tu mélanges pas mal de choses techniquement parlant. Laisse moi t'expliquer succintement et te donner quelques règles pour faire le bon choix.
1) Si tu travailles avec des fichiers présent sur ton serveur, n'utilise pas d'iframes mais plutôt la puissance du html5 avec les balises <video></video> ou <audio></audio>. Pour les documents, comme les pdf, ouvre les sur un nouvel onglet via le widget PDF, c'est pas très pertinent de les inclure dans des iframes.
Pour mettre cela en application, je te recommande d'utiliser une DTD en xhtml5 sur ta page comme suit:
Cette méthode permet l'utilisation de l'Ajax si tu le souhaites.
2) Utilise des iframes pour des vidéos ou des composants managés et dynamiques que s'ils sont hébergés sur des serveurs externes au tiens (vidéos youtube, dans le cloud,...). L'utilisation de l'Ajax dans ce contexte est en général impossible pour des raisons de sécurité, car cela oblige à faire du JSONP (cross domain) et peu de serveurs l'autorisent.
Voilà c'est les bases pour commencer.
A bientôt
Bonjour,
Il vous faut finir l'upload en premier lieu et donc que le move_uploaded_file ait eu lieu avant d'appliquer et d'effectuer votre traitement d'image. Vous devriez passer par GD si la taille de vos images s'y prête.
Bonne journée.
Bonjour,
Merci pour ton retour, le plaisir a été pour moi
Sinon, pour Notepad++ il y a en effet une différence d'action entre changer l'encodage à l'affichage et à l'écriture du fichier (format fichier). Faudrait consulter la notice.
Bonne journée.
Bonjour,
Vous devriez vous assurer d'avoir désactivé dans votre php.ini le REGISTER_GLOBALS en le mettant à OFF.
Bonne journée
Bonjour,
1) Vous avez écrit deux fois la même chose sans utiliser de "flag".
2) Dans quel but ? A quoi cela sert?
Bonne journée
Bonjour,
Pourtant le pensais Jquery.. inactif depuis que je l'avais enlevé ?
Je vous invite à relire ce que je vous ai expliqué, je me doutais bien que vous n'aviez pas compris.... la structure que vous avez enlevé est incorrecte c'est tout. Votre javascript utilise jquery partout, il faut donc le laisser. Gardez juste le fichier le plus réçent.
En ce qui concerne la vérification de l'encodage, vérifiez bien que le BOM est enlevé.
JSON= JavaScript Object Notation
Bonne journée.
Je pense avoir trouvé, j'avais complètement oublié, vu que je n'ai plus ce genre de problèmes depuis longtemps.
Votre fichier php formvalidation.php doit être encodé en UTF-8 sans BOM et votre PHP doit être configuré en UTF-8 par défaut, sinon PHP ne peut recevoir la requête ajax envoyée en UTF-8.
Bon dimanche.
Bonjour,
if (!isset($_POST['fn']) || empty($_POST['fn']))
// json_encode — indique la représentation JSON de 'fn'
{print json_encode(array('message'=>' Erreur dans les paramètres soumis au serveur (-1)'));exit;}
Non json_encode est la pour encoder le retour serveur (le print) au format JSON pour qu'il soit lu et interprétable directement au niveau javascript dans l'event complete de l'appel ajax.
Ensuite oui il faut que la lib JQuery soit chargée dans le header de votre html.
Vérifiez qu'il n'y a pas d'erreur au niveau de votre script javascript avec la console.
Bon week-end.
"INSERT INTO table2 IF EXISTS (SELECT * FROM `moodle`.`table1` WHERE `table1`.`id` >=$VAL_MIN AND `table1`.`id`<=$dx1) ";//la structure des tables est la même
Cette requête n'est pas bonne et n'a rien à voir avec ce que l'on vous à dit.
J'ai corrigé la requête comme vous m'avez dit
On peut savoir à quoi cela corresponds pour vous? par ce que j'ai un sérieux doute.
CREATE TABLE IF NOT EXISTS table2 LIKE `moodle`.`table1`
En sachant que ce code aussi n'est pas bon. Je vous invite à consulter la doc MySQL correspondant à la version de votre serveur.
Bonne journée.