8768 sujets

Développement web côté serveur, CMS

Bonjour !
J'aimerai faire un form (method post) qui ne pourrait se déclencher que depuis un url.
Je m'explique :
Par exemple,mon fichier form.php est hébergé sur monform.com
J'ai 2 sites : tom.com et lila.com
Je crée un form en html et je mets l'action sur monform.com/form.php
J'aimerai que quand la requête viens de tom.com elle soit acceptée et que l'action du PHP se déclenche mais que quand la requête viens de lila.com,elle ne soit pas acceptée et qu'il y ait une erreur genre "Désolé,mais cette action n'est pas autorisée".
Je me demande si ça doit être fait du coté PHP ou du coté serveur web (j'utilise nginx).
Merci d'avance Smiley cligne Smiley smile Smiley biggrin !
Modérateur
Et l'eau,

Je comprends pas bien le scénario. Peux tu être plus explicite ?

En tout cas, regarde du côté de la superglobale $_SERVER. Le controlleur de ton form (attribut action) va dispatcher. Si ça vient de je fais ceci ou cela...
Exemple :
Sur form.lelibreauquotidien.fr,j'ai un fichier php :

<?php 
echo $_POST['text'];
 ?>

Puis,sur lelibreauquotidien.fr j'ai hébergé du html :

<form action="form.lelibreauquotidien.fr" method="post">
  <input type="text" name="text">
  <input type="submit">
</form>

J'aimerai que quand form.lelibreauquotidien.fr est appelé en action depuis *.lelibreauquotidien.fr,il se déclanche et fasse l'echo qui est dans le php.
Et par exemple,si le formulaire est appelé avec le même code html que sur lelibreauquotidien.fr mais sur unsitetiers.fr,il y est une erreur.
Voila,j'espère que c'est plus clair !
llaq.