[PHP] RewriteRule
okuni
Messages postés
1221
Date d'inscription
Statut
Membre
Dernière intervention
-
okuni Messages postés 1221 Date d'inscription Statut Membre Dernière intervention -
okuni Messages postés 1221 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'utilise le système d'url rewritting sur mon site mais je viens de rencontrer un problème.
J'ai mis le code suivant dans mon htaccess :
mais lorsque j'écris dans l'url : http://www.monsite.com/sites-liste-test.html
donc la valeur test pour $3
j'obtiens une erreur (erreur php et non apache)
alors que si j'écris 2 ou test2, le script fonctionne.
En plaçant des echos un peu partout, j'ai remarqué que si j'écris test, ma variable $_GET['serie'] est vide.
Pouvez-vous m'aider?
j'utilise le système d'url rewritting sur mon site mais je viens de rencontrer un problème.
J'ai mis le code suivant dans mon htaccess :
RewriteRule ^(series)-([a-z_0-9]+)-([a-zA-Z0-9]+)\.html$ index.php?section=$1&page=$2&serie=$3
mais lorsque j'écris dans l'url : http://www.monsite.com/sites-liste-test.html
donc la valeur test pour $3
j'obtiens une erreur (erreur php et non apache)
alors que si j'écris 2 ou test2, le script fonctionne.
En plaçant des echos un peu partout, j'ai remarqué que si j'écris test, ma variable $_GET['serie'] est vide.
Pouvez-vous m'aider?
A voir également:
- Apache rewriterule
- Apache open office gratuit - Télécharger - Suite bureautique
- Apache laragon - Télécharger - Divers Web & Internet
- Apache - Forum Réseau
- Ftp apache ✓ - Forum Webmastering
- Apache curl - Forum Linux / Unix
7 réponses
if (isset($_POST['serie']) or isset($_GET['serie'])) { if (isset($_GET['serie'])) { $serie = $_GET['serie']; } else { $serie = $_POST['serie']; } }
voilà, je ne met pas le reste vu le problème réside dans le $_GET['serie'].
Pour info, mon formulaire avec le $_POST['serie'] fonctionne parfaitement.
Je ne suis pas sûr mais pourquoi ne pas essayer ceci
if (isset($_POST['serie']) or isset($_GET['serie'])) { if (isset($_GET['serie'])) { $serie = $_GET['serie']; } elseif(isset($_POST['serie'])) { $serie = $_POST['serie']; } }
Le elseif est inutile car je test les variables avant.
Et si elles sont tous les 2 vides, $serie sera vide mais ça ne pause aucun problème par la suite.
Et si elles sont tous les 2 vides, $serie sera vide mais ça ne pause aucun problème par la suite.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
Alors je vais vous embêter encore plus, est-ce possible d'avoir une plus grosse portion du code ? J'ai du mal à m'imaginer :S
Alors je vais vous embêter encore plus, est-ce possible d'avoir une plus grosse portion du code ? J'ai du mal à m'imaginer :S
Comme tu veux mais le problème viens directement du GET['serie'] qui est vide.
voila, tu as tous maintenant.
le début est donc le formulaire d'où provient $_POST['serie']
<?php //formulaire pour une recherche. ?> <p><form action="series-liste.html" method="post"> <label for="serie">Rechercher une série : </label><input type="text" name="serie" id="serie" value="<?php if (!empty($_GET['serie'])) { echo $_GET['serie']; } else { echo $_POST['serie']; } ?>" class="galerieBtn" /> <input type="submit" name="rechercher" value="Rechercher" class="galerieBtn" /> //Si formulaire rempli alors on recherche like $_POST['serie'] if (isset($_POST['serie']) or isset($_GET['serie'])) { if (isset($_GET['serie'])) { $serie = $_GET['serie']; } else { $serie = $_POST['serie']; } //recherche pour les séries $result_serie = mysql_query("SELECT id,serie,creation FROM raynal_video_serie WHERE serie LIKE '%$serie%' and type='1' ORDER BY serie ASC"); //recherche pour les mangas $result_manga = mysql_query("SELECT id,serie,creation FROM raynal_video_serie WHERE serie LIKE '%$serie%' and type='2' ORDER BY serie ASC"); } else { $result_serie = mysql_query("SELECT id,serie,creation FROM raynal_video_serie WHERE type='1' ORDER BY serie ASC"); $result_manga = mysql_query("SELECT id,serie,creation FROM raynal_video_serie WHERE type='2' ORDER BY serie ASC"); }
voila, tu as tous maintenant.
le début est donc le formulaire d'où provient $_POST['serie']