Fonction strpos() ne fonctionne plus
- Accueil
- Forum
- Programmation
- PHP
- Fonction strpos() ne fonctionne plus
SkinDePewDiePie_ Le 19 septembre 2018 à 10:20 (Édité le 25 janvier 2019 à 17:54)
Alors commençons.
C'est la fonction strpos() qui me permet de vérifier si il y a dans L’URL le protocole: http:// ou https:// ou rien.
Exemples: 1. https://www.tradefac.tk/redirect?q=http://example.com => <a href="http://http//example.com">Accéder au site</a>,
2. https://www.tradefac.tk/redirect?q=https://example.com => <a href="http://https//example.com">Accéder au site</a> et
3. https://www.tradefac.tk/redirect?q=example.com => <a href="http://example.com">Accéder au site</a>.
Alors voila je voudrais savoir pourquoi dans la balise <a> ça me met soit 1. http://http//example.com ou 2. http://https//example.com.
Voici mon code:
<?php
if(isset($_GET['q'])) {
if(!empty($_GET['q'])) {
$q = htmlspecialchars($_GET['q']);
if(strpos($q, "http://")) {
$protocol = "http://";
} else if(strpos($q, "https://")) {
$protocol = "https://";
} else {
$protocol = "http://";
}
} else {
header('Location: tradefac.tk');
}
} else {
header('Location: tradefac.tk');
}
?>
<a href="<?= $protocol ?><?= $q ?>">Accéder au site</a>
Merci d'avoir lu mon topic 😋
Cordialement
CapitaineMatteo: Fondateur de tradefac.tk
Clouder Le 19 septembre 2018 à 10:47 (Édité le 1 janvier 1970 à 01:00)
Ton problème c'est ça :
Tu vérifies que tu as soit HTTP, HTTPS ou RIEN,
Pour HTTP tu rajoutes HTTP encore une fois
Pour HTTPS tu rajoutes HTTPS encore une fois
Pour RIEN tu ajoutes HTTP
Pour résoudre ton problème c'est si tu trouves HTTP ou HTTPS dans ton URL alors ta variable $protocol doit être comme cela $protocol = "" sinon $protocol = "http://"
SkinDePewDiePie_ Le 19 septembre 2018 à 11:13 (Édité le 1 janvier 1970 à 01:00)
SkinDePewDiePie_ Le 19 septembre 2018 à 11:15 (Édité le 1 janvier 1970 à 01:00)