Page 1 sur 1

Problème Input d'URL dans un formulaire

Posté : 20 juin 2018, 14:49
par PetiteFlamme31
Bonjour à tous et à toutes,

Alors voilà, je souhaiterais dans mon formulaire qu'on puisse saisir un URL dans un input.
Cet URL pourrait être de la sorte "https://www.site.fr", "www.site.fr" ou "site.fr" (tant qu'il est sécurisé).
Autrement dit, ce sont les possibilité que l'utilisateur a pour saisir l'URL.

Si il met http sans "s"ou autre chose j'indique une erreur. Si l'un de ces 3 formats est respecté, on envoie le formulaire sur une page ou je me charge d'obtenir le lien sous la forme "https://www.site.fr".
J'ai testé des preg_replace, des strstr, des "required pattern=".*\.myco\..*" pour l'affichage d'erreur si c'est http par exemple, mais je n'arrive pas à faire ce que je veux, pourriez-vous m'aider svp ? Comment faire en sorte de donner la possibilité à l'utilisateur d'écrire le lien sous 3 formes possibles afin que j'en récupère la forme précise avec "https://www." svp ?

Mon code du formulaire (<input class="form-control" type="url" name="siteweb" > ligne 6):
<form action="result.php" method="post">  
  <!-- FORMULAIRE -->
  <div class="input-group mb-3">
    <label for="basic-url">Entrez un nom de domaine valide (et sécurisé : https://...) :
    </label>
    <input class="form-control" type="url" name="siteweb" 
           placeholder="https://www.monsite.fr, www.monsite.fr, monsite.fr..." value="" 
           required pattern=".*\.Une expression régulière ?\..*"
           title="L'URL doit être valide et sécurisé (https://...)">
    <span class="validity">
    </span>
  </div>
  <br />
  <div class="form-group">
    <label for="secteur_activite">Selectionnez le secteur d'activité :
    </label>
    <select class="form-control" name="secteur_activite" required="required">
<?php
if (count($rows) > 0) {
foreach ($rows as $row) {
echo ("<option value='" . $row["id_secteur"] . "' selected>" . $row["libelle_secteur"] . "</option>");
}
} else {
echo ("Erreur avec la base de donnée, veuillez réessayer ultérieurement.");
}
?>
    </select>
  </div>
  <div class="submit_btn">
    <button type="submit" id="b4" class="s-btn a4 submit_btn" onclick="sendData('b4')" name="submit">
      <span>Analyser le site
      </span>
    </button>
  </div>
</form> 
                                    
En image :
Image
---
Image

Merci d'avance pour votre aide :)

Re: Problème Input d'URL dans un formulaire

Posté : 20 juin 2018, 23:17
par @rthur
C'est cadeau, j'ai essayé de gérer un maximum de cas possibles :
https://regex101.com/r/HmVRp1/1
;-)

Code : Tout sélectionner

^(?:https:\/\/)?(?:(?!-))(?:xn--)?[a-z0-9][a-z0-9-_]{0,255}[a-z0-9]{0,1}\.?[a-z0-9][a-z0-9-_]{0,61}[a-z0-9]{0,1}\.(?:xn--)?(?:[a-z0-9\-]{1,61}|[a-z0-9-]{1,30}\.[a-z]{2,})$

Re: Problème Input d'URL dans un formulaire

Posté : 21 juin 2018, 09:30
par PetiteFlamme31
C'est cadeau, j'ai essayé de gérer un maximum de cas possibles :
https://regex101.com/r/HmVRp1/1
;-)
Bonjour @rthur !
Alors là je ne sais vraiment pas comment vous remercier, merci beaucoup c'est exactement ce dont j'avais besoin =D>
De plus je ne connaissais absolument pas ce site, pour s'entraîner il n'y a rien de mieux !

Merci à vous, bonne continuation !