Vous n'êtes pas identifié(e).
c'est pas joli. Fais plutôt :
As-tu essayé de lancer cette requête dans phpmyadmin pour voir si elle te retournai des résultats ?
D'autant plus qu'il n'est pas compliqué de modifier pour que le script fonctionne un minima.
Il suffit de remplacer $adresse par $_POST['adresse'] et $action par $_POST['action'].
N'importe quel éditeur de texte te fournira l'outil rechercher/remplacer qu'il te faut.
Beurk... Il y a des header() placé avant la fermeture du fichier, je trouve cela d'une mocheté. ^^'
Enfin passons pour le moment.
Le souci de ce script est d'une part qu'il n'y a pas vérification de si le fichier a été correctement ouvert ou non.
Commence donc déjà par rajouter le ini_set en haut de script afin d'activer l'affichage des erreurs si ce n'est pas déjà le cas de la configuration du serveur.
Ensuite le souci vient du fait que ton serveur actuel a désactivé une configuration qui était obsolète et pas protégée.
Avant on pouvait (on peut toujours si on réactive la propriété dans le php.ini) faire :
Pour récupérer la valeur d'un <input name="code">
Mais maintenant pour faire plus propre on passe par le tableau super-global :
$adresse est donc inexistant dans ton code, il faut à la place utiliser $_GET['adresse'] ou bien $_POST['adresse'] (suivant l'attribut method de ton formulaire).
Peux-t-on voir le script en question ?
Es-tu sûr que c'est à cause d'une version de PHP et non dû une erreur non affichée(dans le php.ini : error_reporting = E_ALL ?) ? (connexion non réussie à la base de donnée, écriture dans un fichier impossible suite à un manque de droits, ect)
PS: si tu n'as pas accès au php.ini essayes ceci en début de script :
Le dossier sessions n'a apparemment pas les droits nécessaires.
Fais un chmod dessus.
Je n'ai cependant aucune connaissance des droits, en général je mets 777 afin de pas m'embêter mais quelqu'un t'indiquera sans doute mieux que moi le niveau de droits requis.
Si tout ce micmac est juste pour éviter d'écrire quelques lignes de PHP je crains que cela ne vaille pas le coup. ^^'
L'email est-il bien envoyé ? Pas de message d'erreur ?
Car à priori cela viendrait de la variable $mailSent qui n'a pas la valeur true, donc de la fonction mail() qui n'a pas fonctionné.
Regardes le code source HTML généré par le navigateur, il est possible qu'à cause de certaines balises HTML le message d'erreur ne soit pas visible mais bien présent.
Tu ne peux rajouter de paramètres dans la fonction (voir documentation).
Il faut donc modifier ta variable $message pour y insérer les informations que tu souhaites.
En concaténant à la fin ou au début par exemple :
Il faudrait dans ce cas créer un script shell windows que tu exécuterais à partir de system() et qui prendrai en paramètre le login.
La solution n'est donc pas PHP.
A ma connaissance il n'y a pas mieux que ce que je t'ai proposé pour former une requête dynamiquement.
Mais après je peux ne pas comprendre ce que tu désires réellement.
Pourrais-tu détailler ce que tu veux ?
Car une requête préformatée avec des conditions à remplir cela stipule que tu connais le nombre de conditions et donc il n'y a aucun test à faire normalement. Or c'est complètement contraire au code que tu nous présentes en premier post.
C'est une donnée sérialisé ça(plus précisément un tableau), pourquoi ne pas la désérialiser pour l'utiliser...
unserialize()
Il existe la fonction shuffle().
Il ne te reste donc qu'à récupérer le contenu de ton XML(plein de méthodes possibles), le stocker dans un array, le passer dans la fonction et tout remettre dans ton fichier.
Il y a l'air de manquer un \n à la fin du Content-type, je ne sais pas si cela peut jouer.
Sinon est-ce que tes internautes reçoivent tous les mails ainsi ou bien seulement certains.
Si c'est pour tous cela viendrait plutôt de chez eux et donc de leur client mail. (bien que j'en doute mais sait-on jamais)
Une condition avec des OU puisqu'il ne t'en faut qu'un seul de valide pour cocher la checkbox :
Et sachant que tu fais un echo de cette variable dans tous les cas je te conseille plutôt une chaîne vide, car la valeur null n'est pas une chaîne de caractères vide.
Si la base de donnée se trouve sur le même serveur tu peux y accéder de cette manière :
Si c'est sur une toute autre connexion par contre je ne sais pas...
Car les primitives de requêtes n'acceptent qu'une connexion, une solution pourrait être de faire le "join" en PHP.
Ouais bah ma santé... La faute à qui hein ?
Il faut que tu récupères le nom du fichier(renseigné dans un champs texte du formulaire) dans le tableau $_POST, que tu testes son existence avec la fonction is_file() et que tu exécutes unlink().
On est là pour aider et non faire le code à votre place (cf règlement du forum).
Or à la vue de tes compétences nous ne pourrons t'aider car tu n'as aucune base correcte de ces langages.
Va lire des cours sur le HTML et le PHP, refais ton code, et si tu as problèmes reviens nous voir.
Je te conseillerai vivement d'aller repotasser un cours sur le HTML.
Car si ce que je pense est correct ta page doit contenir plusieurs pages HTML...
J'imagine pas le foutoir que doit faire le navigateur pour réussir à trouver quoi afficher et comment.
Ce que te reprochais MK c'est qu'on peut atteindre les variables de sessions où que l'on soit dans le script (fonction, class, ect).
Donc il est inutile de les passer en paramètre d'une fonction puisque que dans la fonction tu y as accès.
Ton code PHP est à l'intérieur du echo, donc il n'est pas interprété.
Regardes le code HTML généré et tu auras une drôle de surprise.
Je suppose que ce n'est pas le cas dans son application mais je serais tenté de dire que cela dépend MK.
J'ai pour ma part développé des classes de connexion prenant des paramètres et ce afin de laisser libre l'utilisation d'un quelconque système de stockage pour les sessions.
Alors certes les 99% des classes de session utilisent les sessions PHP mais cela permet d'avoir du traitement en plus sans contraintes de les réécrire à chaque fois.
Tu utilises la fonction isSet() dans ta fonction, je suppose donc que tu la maitrise.
Il faut donc faire de même avec les variables d'entrées de ta fonction loginout().
On ne récupère jamais des paramètres sans les contrôler.