PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#26 Re : HTML, xHTML CSS » Activation mail dans formulaire CSS » 24-11-2015 19:56:22

Jc

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.

++

#27 Re : Défouloir » Présentation : Skyros » 20-06-2016 09:51:02

Jc

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 wink

++

#28 Re : MySQL, PostgreSQL, etc... » [Résolu] Mon POST n'aime pas le DELETE » 24-11-2015 20:04:18

Jc

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.

++

#29 Re : MySQL, PostgreSQL, etc... » MYSQL et les caractères spéciaux » 02-07-2015 16:17:31

Jc

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.

#30 Re : MySQL, PostgreSQL, etc... » MYSQL et les caractères spéciaux » 02-07-2015 16:17:31

Jc

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

#31 Re : MySQL, PostgreSQL, etc... » MYSQL et les caractères spéciaux » 02-07-2015 16:17:31

Jc

Bonjour,

admettons que $machaine contienne le contenu contenant des apostrophes,


$machaine=addslashes($machaine);
$sql="INSERT INTO matable (numcol1,numcol2,varcol3) VALUES ($col1,$col2,'$machaine')";
 

Bon dimanche

#32 Re : MySQL, PostgreSQL, etc... » Problème pour une requête qui semble complexe » 18-06-2015 00:13:20

Jc

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 wink

A bientôt wink

#33 Re : MySQL, PostgreSQL, etc... » Utiliser des INT ou des VARCHAR dans une table associative ? » 09-06-2015 13:59:14

Jc

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.

#34 Re : Forum Général PHP » Empecher user acceder aux pages par url » 05-06-2015 11:09:09

Jc

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)

#35 Re : Forum Général PHP » Simplication de code » 05-06-2015 10:51:30

Jc

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.

#36 Re : Forum Général PHP » XML ou cache ? » 03-03-2015 03:35:15

Jc

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.

++

#37 Défouloir » Meilleurs voeux 2015! » 05-01-2015 12:15:55

Jc
Réponses : 0

Bonjour à tous,

J'aimerais souhaiter à tous mes meilleurs vœux pour cette nouvelle année 2015 et surtout, le plus important, une bonne santé smile

Jc

#38 Re : Forum Général PHP » undefined index » 24-01-2015 13:26:16

Jc

Bonjour,

Meilleurs vœux également pour 2015! smile

if (isset ($type != 'new' && $resultat['dif_days'] <= $nb_days2benew))

Cette syntaxe est incorrecte ! la voici corrigée:


if (isset($type) && $type !== 'new' && $resultat['dif_days'] <= $nb_days2benew){
   // code à éxecuter
}
 

à + wink

#39 Re : Forum Général PHP » Indiquer la syntaxe d'une variable dans une URL - Besoin d'aide - Merc » 18-12-2014 13:39:13

Jc

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>';

++

#40 Re : Forum Général PHP » insérer des videos mp4 dans des iframesavec un onclick, en php » 22-12-2014 17:29:49

Jc

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.

#41 Re : HTML, xHTML CSS » Ouvrir Internet Explorer en plein écran » 03-12-2014 20:34:01

Jc

@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 wink

#42 Re : Forum Général PHP » insérer des videos mp4 dans des iframesavec un onclick, en php » 22-12-2014 17:29:49

Jc

Bonjour,

Tout d'abord merci pour ton témoignage pierrot35, ça me fait plaisir, des retours de ce genre, on en a pas souvent sad

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:

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">....</html>

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 wink

#43 Re : Forum Général PHP » Problème d'enregistrement d'image avec move_uploaded_file » 10-11-2014 07:35:18

Jc

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.

#44 Re : Forum Général PHP » Protéger par un formulaire toutes les IHM d'une même session php » 10-11-2014 07:31:50

Jc

Bonjour,

Merci pour ton retour, le plaisir a été pour moi smile
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.

#45 Re : Forum Général PHP » erreur 500 migration vers PHP 5.4 » 10-11-2014 09:42:40

Jc

Bonjour,

Vous devriez vous assurer d'avoir désactivé dans votre php.ini le REGISTER_GLOBALS en le mettant à OFF.

Bonne journée wink

#46 Re : Forum Général PHP » les Flags en php » 22-10-2014 09:19:42

Jc

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

#47 Re : Forum Général PHP » Protéger par un formulaire toutes les IHM d'une même session php » 10-11-2014 07:31:50

Jc

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.

#48 Re : Forum Général PHP » Protéger par un formulaire toutes les IHM d'une même session php » 10-11-2014 07:31:50

Jc

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.

#49 Re : Forum Général PHP » Protéger par un formulaire toutes les IHM d'une même session php » 10-11-2014 07:31:50

Jc

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.

#50 Re : Forum Général PHP » Insertion des enregistrements dans une table Mysql » 17-10-2014 15:11:29

Jc

"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.

Pied de page des forums

Propulsé par FluxBB