8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je me suis décidé a poster ici car complétement novice, j'essaye le truc suivant mais est ce possible ?

Après remplissage d'un formulaire, lors de la validation ouvrir une URL

donc mon formulaire:

<form action="tagada.php" method="post">
<p>
Le Nom de votre site
    <input type="text" name="fraise" />
    <input type="submit" value="Créer votre site" />
</p>
</form>


est dans la page action : test_escal.php

<?php
if (!empty($_POST['fraisel']))
{//si la variable fraise n'est pas vide (et donc existe et est remplie) alors il se passe ceci :

header('Location:  http://mon_site.com/sites_test/');
 

}
else
{//sinon il ce passe ceci : 

header('Location:  http://mon_site.com/');  

}        
?> 


l'idée est de faire passer ce qui est rentré dans le formulaire
entre le http:// et le reste de l'adresse URL et d'ouvrir la page

Exemple :
je rentre dans le formulaire : ralala
je valide
ça ouvre la page http://ralala.mon_site.com/sites_test/
pour l'instant je n'ai rien trouver de concluant sur le web malgré 72h00 de recherche.

Merci de m'aider
@micalement
Voici une solution avec un peu de jQuery:
le code html, tu y tapes un nom de sous-domaine (par exemple "tag" ou "est") et ça t'y emmène.
tester sur la démo sur http://jsbin.com/yagolifiyo

<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
  <form action="http://yahoo.com" id="creation">
    <input type="text">
    <input type="submit">
  </form>

</body>
</html>


Le code consiste à récupérer l'événement de submit et de changer le form "action" pour le diriger vers la bonne url.
$("form#creation").on("submit", function() {
 var domain = $("input", this).val();
  console.log(domain);
  $(this).attr('action', "http://"+domain+".freelancis.net");
});
voici le code que j'utilise

faudrait que je puisse rediriger en fonction de la reponse

si on clic sur le bouton envoyer on va sur une url
si on renseigne on lance le script

 <!DOCTYPE html>
<html>
<body>
  <form action="http://spipfactory.com" id="creation">
    <input type="text">
    <input type="submit">
  </form>
  
  
  

<script>
$("form#creation").on("submit", function() {
 var domain = $("input", this).val();
  console.log(domain);
  $(this).attr('action', "http://"+domain+".spipfactory.com/sites_test/");
});
</script>


</body>
</html
>
bon j'ai avancé

donc maintenant avec le code suivant

on boucle bien sur l'url source si le champ texte n'est pas remplie

<!DOCTYPE html>
<html>
<body>
  <form action="http://spipfactory.com" id="creation">
    <input type="text">
    <input type="submit">  
  </form> 

<script>
$( "input[type!='submit']" ).blur(function() {
    if ( $(this).val() == "" ){

            $("form#creation").on("submit", function() {
 var domain = $("input", this).val();
  console.log(domain);  
  $(this).attr('action', "http://spipfactory.com/");
});


    }
    else{
        
        $("form#creation").on("submit", function() {
 var domain = $("input", this).val();
  console.log(domain);  
  $(this).attr('action', "http://"+domain+".spipfactory.com/sites_test/");
});
        
    }
})


</script>
 
</body>
</html>



le pb c'est que le bouton envoyer fonctionne quand même, je vais donc chercher de ce coté parceque si je clic dessus ça ouvre une url qui n'existe pas