Site fermé ou ouvert
Forum Programmation : Site fermé ou ouvert
Bonjour,
Je cherche quelqu'un qui sache compléter mon script, je ne trouve pas...
ouvert.html :
Code :
|
post_ouvert.php
Code :
|
En faite je voudrai soit ouvrir le site, soit le fermer.
J'avais pensé à un sorte d'include, mais je n'y arrive pas.
Merci de m'aider !
Je ne connait pas le PHP. Désolé.
| Citation :
|
Ne répond pas au topic alors...
Yes chef.
En fait, ce que je veux faire, c'est si site=ouvert, affiche cette page, sinon, affiche celle la.
Merci de m'aider !!
Bonjour,
essaye:
Code :
|
A+
2 erreur, la premiere dans ton tableau $_POST tu ne met aucune valeur, quest ce que tu veux qu'il compare ? Le nom de l'input est "ouvert" (<select name="ouvert"> ) donc $_POST['ouvert']
De plus, lorsque tu fais la comparaison, tu a ecris Ouvert dans la valeur du select, donc tu devras ecrire Ouvert, et pas ouvert.
Enfin...
<?
if ( $_POST['ouvert'] == "Ouvert" ) {
// Inclusion de la page du site ouvert
} else {
//Inclusion du site fermé
}
?>
| Citation :
|
Ok, merci d'avoir corrigé mes erreurs !
J'avais déjà pensé à un include, sauf que ca inclut dès qu'on envoi la requete, mais moi je voudrai que la requete s'enregistre (j'avais pensé avec du sql).
En fait, ce script se situe dans la partie admin, donc seul l'administrateur peux choisir si le site est ouvert ou fermé : si le site est fermé, quand les visiteurs arrive sur le site, une page indique que le site est fermé, donc les visiteurs ne peuvent rien faire sur le site, car il n'y a aucun lien ni rien sur la page. Mais si le site est ouvert, la page par défault avec tous les liens et tous les scripts s'affiche, donc le visiteur peut visiter le site.
C'est assez compliqué ce que je veux faire, mais pour ceux qui connaise un peu XOOPS, quand on veut fermer le site dans l'administration du site, un page spécial "fermeture du site" s'affiche.
Il faudrai en fait que si site=fermé, ca active une certaine page.
Merci beaucoup !
Et cela depend de quoi ouvert et fermé ?
Cela dépend si l'administrateur l'active ou pas !
D'où mon premier script en html, pour choisir si le site est ouvert ou fermé !!
tu t'y prends mal. Tu n'y arrieras pas avec juste des scripts en testant des variables.
Il faut sauvegarder le rsultat du formulaire dans un fichier. Et il faut ensuite que le chargement de la page dépende du contenu de ce fichier
Comme dit au dessus, pour une petite info, cree un fichier .php avec divers parametre du site, dont ouvert ou fermé, quand tu traitera ton script, tu ecrira dedant sa valeur.
regarde sur php.net "fopen" tu aura le reste des fonction accompagné qui te serviront
Ok, merci, je vais voir ca tout de suite !
Moi j'utiliserai un fichier text ou une BDD (admettons le fichier text)
et tu fait :
-l'admin dit ouvert : le ouvert.txt contient a l'interieur un 1
-l'admin dit fermé ouvert.txt contient 0
ensuite tu va lire le fichier et :
if $lavarialble == 1
else
et le tour est joué !
Cela dit, il n'y a pas qu'avec PHP que l'on peut résoudre le problème, avec un autre langage aussi, comme le java script, ...
En Javascript, pourquoi faire ? PHP s'execute coté serveur, Javascript coté client, le JS est désactivable.
Si le webmaster un jour, desactive le JS ou a eventuellement un probleme avec son naviguateur(je suis pas parano, j'explique) en PHP, il est sur qu'une fois la valeur validé sur son interface d'admin lui permettra d'obtenir ou non sa maintenance sur le site.
Il vaut mieux stocker ca dans une BDD (ca a plein d'avantages divers).
Deja, première remarque :
Code :
|
Manquerait-y pas un chti bouton "submit" ?
Zut, alors....
Ensuite :
Code :
|
- on écrit pas <? mais <?php
- manquerait-il pas un ptit isset ?
Pour la base mysql, je te conseille de faire un table "site_etat" avec ces trois variables :
id, date, ouvert.
À chaque visite tu lis la dernière entrée ('SELECT ouvert FROM site_etat WHERE id=LAST_INSERT_ID()')
Et tu regarde si le champ ouvert vaut 0 (fermé) ou 1 (ouvert).
À chaque passage dans l'adminisitration tu lis la dernière entrée pour vérifier que le site n'était pas déja fermé/ouvert, et si c'est bien un changement d'état tu ajoutes le nouvel état ("INSERT INTO site_etat(id, date, ouvert) VALUES('', NOW(), $ouvert)" ).
On pourrait stocker un seul champ, mais avec ma méthode tu pourras faire de zolies stats pour faire palir d'envie les autres webmasters (le site a été fermé 12.7% du temps, les fermetures durent en moyennes 5 heures 4 secondes...)
Non il ne manque rien, ici ce n'est pas necessaire un ISSET, vu que c'est une liste déroulante et qu'il ne traitera que cela. De plus si il y'a vraiment que ce script d'ouverture/fermeture de site pour maintenance, inutile d'utilisé mysql. (Surtout si il ne veut pas de stats)
Sinon vu qu'il n'y a pas le submit il peu faire onclick="document.lenomduformulaire.submit()"
| Citation : Non il ne manque rien, ici ce n'est pas necessaire un ISSET, vu que c'est une liste déroulante et qu'il ne traitera que cela. |
Ha ha ha....
Si, l'isset est bien nécessaire, car je peux très facilement valider le formulaire en donnant la valeur que je veux à ce $_POST. C'est pas une faille de sécurité _en soit_ mais ca provoque quand meme une erreur PHP assez grave, et ca arrête le script, donc il vaut mieux l'éviter.
Rigole, rigole...
Tu ne sais meme pas à quoi sert l'isset. ISSET verifie si la variable est DECLARE mais ne controle pas sa valeur.
Donc ici, le isset comme je le disais n'est pas necessaire car c'est un choix dans un select, il contiendra a l'origine forcement une valeur, et vu qu'il ny'a pas d'autre champ input, cette variable sera toujours déclaré.
Pour la suite tu script tu peut utilisé un switch
switch ($_POST['Ouvert']) {
case 'ouvert':
case 'ferme':
//Execution du script
break;
default:
// Condition si la valeur n'est pas egale a ouvert ou fermé.
}
T'a raison de rire, quest ce que je me marre !
hum, effectivement j'ai fait l'amalgamme "besoin d'isset"/"besoin de controle de la valeur".
Cependant le besoin d'isset est toujours vrai : exemple, le submit dirige vers 'validation.php'. Que ce passe-t-il si j'ouvre firefox, je tape l'adresse de son site, suivit de 'validation.php' ?
Boum ! il execute le code, mais le $_POST n'est pas défini, d'où gros bug : soit le php s'arrete, soit il donne la valeur FALSE par exemple à $_POST['ouvert'], et il essaie de l'inserer dans la BDD, d'où gros bordel en perspective.
Dans ce cas oui, mais je partas du principe que cette zone sera protegé par session/htaccess. M'enfin....
Si il faut l'isset c pratiquement indipendable tou comme trim
le mieu c'est de faire isset(trim($_POST['letruc'])) meme pour le select car si il n'y a rien tu renvoir u petit message ou tu ramene en arriere dans le forumalaire qui convient
OK, merci pour toute vos réponses, je vais regarder ca de près !
Il y a 865 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

SiM07