- Modifié
Code HTML
- Modifié
"je voudrais que si le n° de dossier existe (il y en aura 10 maximum) j'ouvre une url (bloqué avec apache2 qui demande un identifiant et mot de passe)" ;
<?php
if(!empty($_POST['chemin']) && in_array($_POST['chemin'], array('dossier1', 'dossier2', '...')) ) {
// redirection
header('Location: /repertoire/'.$_POST['chemin'].'.php');
}
?>
Dreamsanon Merci c'est parfait!
Par contre va falloir m'expliquer un peu car c'est limite du chinois pour moi (je comprend pas tout)
Et autre question, ce code je peux le mettre ailleur que dans ma page html (je ne veux pas qu'on trouve les n° de dossier et surtout les URL que en découlent (pour un peu de sécurité) et si oui, comme le lien ce fait
Je termine ma journée de boulot dans quelques minutes je vais pas pouvoir te donner une explication clair assez rapidement, je te fais ça demain matin
Aucun probleme! Merci beaucoup
- Modifié
Dreamsanon <?php
if(!empty($POST['chemin']) && in_array($POST['chemin'], array('dossier1', 'dossier2', '...')) ) {
// redirection
header('Location: /repertoire/'.$_POST['chemin'].'.php');
}?>
Bonsoir,
Une explication rapide en attendant celle de Dreamsanon
Si (
(le champ "chemin" n'est pas vide)
ET
(le contenu du champ "chemin" est contenu dans le tableau : array('nom_de_dossier_avec_id', 'nom_de_dossier_avec_id_2'', 'etc..')
)
ALORS
le serveur redirige vers /repertoire/[valeur_du_champ_chemin].php
/ étant la racine, ça donne un truc du genre :
https://tondomaine.fr/repertoire/192928.php
ce que tu recherches (si j'ai bien lu ta demande), c'est plus ça :
header('Location: /'.$_POST['chemin'].'/');
Je ne sais pas si j'ai été clair ou si j'embrouille plus qu'autre chose.
- Modifié
Aeryax
Merci pour ces infos. C'est vrai que a froid, ca embrouille un peu, mais je vais y réfléchir demain
Edit: aprés y avoir réfléchi oui c'est plus ca. Car je veux que chaque n° envoie vers une URL différente
Edit2: j'ai la berlue oui ya bien 2 gars qui s'appellent Aerya et Aeryax .... vous vous connaissez?
Salut, pour reprendre on va fais les choses dans l'ordre, tu m'as dis que si certaines conditions sont validées, tu rediriges l'utilisateur vers une URL, composé d'un htpsswd (demande de mot de passe pour accéder à la page).
Est-ce que actuellement tu as déjà mis en place ces URL ?
- Modifié
Dreamsanon
Exat
Pour le moment j'ai 1 seul URL. je pense rajouter les numeros de dossiers et les URL qui correspondent au fur et a mersure
D'accord, donc tu va avoir ton fichier index.php, tout ce qui est en PHP à l'intérieur et invisible pour le visiteur, le visiteur peut uniquement voir le code HTML mais pas le PHP donc pas d'inquiétude la dessus.
Donc index.php
<?php
// Si l'input 'chemin' n'est pas vide (donc il a été rempli et envoyé) ET que la valeur du champ 'chemin' est égale à une des valeurs du tableau, je redirige vers une URL
if(!empty($POST['chemin']) && in_array($POST['chemin'], array('dossier1', 'dossier2', '...')) ) {
// redirection
header('Location: /repertoire/'.$_POST['chemin'].'.php');
}
?>
[...] Le reste de ton code HTML (celui que tu as déjà écris), attention, met bien le HTML après la balise de fermeture "?>" sinon erreur :p
Dreamsanon
Merci, j'ai juste une remarque. Pour le moment j'ai un n°de dossier avec 1 URL
Quant j'en aurais un 2eme, je peux répéter tout ton code ? Car l'argument 'chemin' ne rentre pas en ligne de compte pour l'url. ca donnera ca comme code :
header('Location: /repertoire/.html');
- Modifié
Ce que tu peux faire c'est ceci ;
// $_POST['chemin'] représente ce que l'utilisateur a saisi dans le champ texte.
switch ($_POST['chemin']) {
// Si il a saisi dossier1, je le renvoi vers une URL ... et ainsi de suite pour dossier 2 etc ....
case 'dossier1':
header('Location: /repertoire/monsuperchemin.html');
break;
case 'dossier2';
header('Location: /repertoire/monautresuperchemin.html');
break;
case 'dossier3';
header('Location: /repertoire/etencoreunautrechemin.html');
break;
}
[...]
- Modifié
Dreamsanon Ah parfait merci, oui ca colle plus a ce que je recherche.
Je teste ca de suite !
edit : NIKEL !!! merci beaucoup pour ton aide, ca marche parfaitement! Je t'en dois une mon gars
- Modifié
C'est encore moi !
Ca n'a rien a voir avec le sujet mais j'ai un peu honte d'ouvrir un nouveau sujet car je trouve que je m'éloigne un peu du forum.
Vous savez si je peux modifier le texte du .htacces :
j'ai pourtant mis la ligne
AuthName "Accès protégé"
Mais de 1 je la trouve pas dans ma fenetre, et de 2 j'aimerais bien virer la ligne : Votre connexion n'est pas privée
- Modifié
Krameurmcbaret Sauf erreur de ma part, il s'agit d'un texte générique lié au navigateur. De souvenir le AuthName se retrouve seulement en cas d'erreur (en cliquant sur annuler).
Concernant le message "Votre connexion n'est pas privée", j'imagine que tu n'es pas en https ?
Le htaccess non tu ne peux pas vraiment le paramétrer, ça dépend du navigateur, c'est lui qui formate la fenêtre.
Le seul truc que tu peux ajouter c'est un petit message avec ;
AuthName "hehe mon super message !"
Ok , merci.
Non je suis pas en https, je sais que j'ai cette ligne a cause de ca. Mais comme c'est pas non plus des données hyper sensibles, et que c'est pour qu'un client s'en serve 3 fois par mois, je vais pas me prendre la tête
Krameurmcbaret J'ai vu que certains hébergeur commencent à inclure letsencrypt dans leur offre d'hébergement mutualisé (ce que je pense être ton cas, mais je me trompe peut-être ?). Letsencrypt est un service qui offre des certificats gratuits. Ainsi, si ton hébergeur propose ce service, il y a peut être moyen d'avoir un site en https en seulement 2 - 3 clics.
Merci, mais non je suis sous un serveur dédié.
Les fichiers que je met a disposition des mes clients sont extrêmement lourds (50Go par chantier) mais peuvent être visualisé facilement. (je sais pas trop comment expliqué)
Voila le site du fabriquant :
https://websharecloud.com/?v=ps&t=p:default,c:projectselector,m:t&ps=ps1&ps1=t
C'est re moi,
Je viens vous embêter encore sur mon projet.
Tout marche nickel, mais maintenant j'aimerais bien avoir quelques statistiques sur les accès des différentes pages.
Je ne sais pas trop vers quoi me tourner. C'est possible de faire un script en php qui recolte les n° de dossiers saisit (et ensuite de faire un resumé avec le nombre d'accès par jour/mois et par dossier par exemple)
Ou je doit partir sur un soft a intaller type Observium: https://mondedie.fr/d/7344-Tuto-Observium-LEMP
Merci!