begin process at 2012 05 27 18:19:47
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > REDIRECTION D'URL

REDIRECTION D'URL


 Information sur la source

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :redirection, url, simple Niveau :Débutant Date de création :09/01/2011 Date de mise à jour :05/02/2011 11:43:29 Vu :4 545

Auteur : bonhommecrea

Ecrire un message privé
Site perso
Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note

 Description

Redirection d'url simple avec base de donnée

Petit script facile à adapter à son site web.
il va chercher le lien qui est sur la même ligne que l'id ( l )

vous pouvez le tester ici :
http://www.easy-tutorials.tk/redir/

Source

  • <?php
  • /* TABLE SQL redir
  • CREATE TABLE IF NOT EXISTS `redir` (
  • `id` int(11) NOT NULL AUTO_INCREMENT,
  • `url` text COLLATE utf8_bin,
  • PRIMARY KEY (`id`)
  • ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
  • */
  • $site = ""; // Lien de votre site
  • mysql_connect('localhost', 'user', 'pass');
  • mysql_select_db('bdd');
  • if ((!$_GET['l']) || (!ereg("^[0-9]+$", $_GET['l']))
  • if (isset($_GET['l']))
  • {
  • $a = mysql_query('select id, url from redir where id = "'.$_GET['l'].'"');
  • $red = mysql_fetch_array($a);
  • ?>
  • <object class="externe" data="<?php echo $red['url']; ?>" type="text/html" width="1000" height="700" />
  • <?php
  • } // END AFFICHAGE
  • ) exit("Pas de page à cette addresse");
  • else {
  • if(isset($_GET['a']) && $_GET['a'] == 'new' && $_POST['new'] == "Généré")
  • {
  • $action = 'INSERT INTO redir (id,url) VALUES("", "'.$_POST['url'].'")';
  • mysql_query($action) or die('Erreur SQL !'.$action.'<br />'.mysql_error());
  • header('location:?b='.$_POST['url'].'');
  • }
  • else if(isset($_GET['b']) && $_GET['b']){
  • $b = mysql_query('select id, url from redir where url = "'.$_GET['b'].'"');
  • $reb = mysql_fetch_array($b);
  • $url= ''.$site.'?l='.$reb['id'].'';
  • echo ' Votre site à bien été ajouté <br> voici le lien : <a href="'.$url.'">'.$url.'</a> ';
  • } // END NEW
  • else {
  • ?>
  • <form action="?a=new" method="post">
  • Insérez votre lien: <br>
  • <input type="text" name="url">
  • <input type="submit" name="new" value="Généré">
  • </form>
  • <?php
  • } // END POST
  • }// END NON AFFICHAGE
  • ?>
<?php
/* TABLE SQL redir

CREATE TABLE IF NOT EXISTS `redir` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `url` text COLLATE utf8_bin,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
*/
$site = ""; // Lien de votre site

mysql_connect('localhost', 'user', 'pass');

mysql_select_db('bdd');

if ((!$_GET['l']) || (!ereg("^[0-9]+$", $_GET['l']))
if (isset($_GET['l']))
{
$a = mysql_query('select id, url from redir where id = "'.$_GET['l'].'"');
$red = mysql_fetch_array($a);
?>
<object class="externe" data="<?php echo $red['url']; ?>" type="text/html" width="1000" height="700" /> 
<?php
} // END AFFICHAGE
) exit("Pas de page à cette addresse");
else {

if(isset($_GET['a']) && $_GET['a'] == 'new' && $_POST['new'] == "Généré")
{
$action = 'INSERT INTO redir (id,url) VALUES("", "'.$_POST['url'].'")';
				mysql_query($action) or die('Erreur SQL !'.$action.'<br />'.mysql_error());	
header('location:?b='.$_POST['url'].'');
}
else if(isset($_GET['b']) && $_GET['b']){
$b = mysql_query('select id, url from redir where url = "'.$_GET['b'].'"');
$reb = mysql_fetch_array($b);
$url= ''.$site.'?l='.$reb['id'].'';
echo ' Votre site à bien été ajouté <br> voici le lien : <a href="'.$url.'">'.$url.'</a> ';
} // END NEW
else {

?>
<form action="?a=new" method="post">
Insérez votre lien: <br>
<input type="text" name="url">
<input type="submit" name="new" value="Généré">
</form>

<?php
} // END POST 


}// END NON AFFICHAGE
?>

 Conclusion

effectuez une requête sql avec le script entre les /*  et */

pour créer la table et mettez le lien de votre site (répertoire compris)


 Historique

05 février 2011 11:43:29 :
Sécurisation du code + Autre système d'affichage.

 Sources du même auteur

Source avec Zip ESPACE MEMBRE BASIQUE
Source avec Zip CODE POUR HÉBERGEUR D'IMAGE

 Sources de la même categorie

Source avec une capture MODULE JOOMLA 1.5 NOW LISTENING par Alcantornet
Source avec Zip Source avec une capture UPLOAD CENTER par basssem81
Source avec Zip COMPTEUR DE CLIQUE PHP AVEC JQUERY par devgoneti
Source avec Zip LIVRE D'OR SIMPLE (POUR DÉBUTANT) par devgoneti
Source avec Zip SCRIPT TRAVAUX POUR VOTRE SITE par FleuryK

 Sources en rapport avec celle ci

COMPTEUR DE VISITE - FICHIER TXT - CODE MINIMAL par SuperChouquette
Source avec Zip CREATED SOME TINY URL par ledamss
VÉRIFICATION DES URL VALIDE AVEC PHP par dilar
Source avec Zip CALENDRIER par gabay
Source avec Zip LIVRE DOR REALISÉ EN PHP AVEC UNE BASE DE DONNEES MYSQL par isaaclamour

Commentaires et avis

Commentaire de bonhommecrea le 09/01/2011 00:43:56

Voila, j'attend vos critiques (bonne et mauvaise) ;)

Commentaire de neigedhiver le 09/01/2011 02:37:53

Salut,

Je comprends pas l'intérêt de cette source. Je veux dire : je ne comprends pas, c'est pas pour dire qu'elle sert à rien, juste que j'ai pas compris...

Par contre, ce que je comprends, c'est que cette ligne est archi fausse :
header('location:?b='.$_POST['url'].'');
Les entêtes HTTP DOIVENT OBLIGATOIREMENT être écrits en respectant le standard HTTP 1.1 défini dans la RFC 2616.
La syntaxe correcte de l'entête Location est :
headert('Location: xxxxxx');
Il est OBLIGATOIRE de respecter :
- le L majuscule
- les deux points immédiatement après "Location"
- l'espace après les deux points
L'URL doit, par ailleurs, être encodée conformément au standard défini dans la RFC 2396.
il me semble vraiment important de faire attention à ce genre de détails quand on écrit une source qui ne fait QUE de la redirection HTTP...

Commentaire de cod57 le 09/01/2011 10:57:49

bonjour

mysql_query('select id, url from redir where url = "'.$_GET['b'].'"');

mysql_query('select id, url from redir where id = "'.$_GET['l'].'"');

http://www.coinduwebmaster.com/proteger-attaques-injection-sql/82/

il faut securiser ces lignes !

a++

Commentaire de bonhommecrea le 09/01/2011 19:23:02

@  neigedhiver  : Merci :), je vais corrigé ça.
mais pour le lien, je devrai donc mettre un lien hypertext ?

@coo57  :merci pour l'info, je vais m'occuper de ça :)

Commentaire de Donald08 le 10/01/2011 10:51:11

1 ligne en .htaccess fait la chose ou je n ai rien compris à ce script....

Commentaire de neigedhiver le 10/01/2011 13:50:59

Moi non plus j'ai pas compris. Et l'auteur n'a pas répondu à mon interrogation...

Commentaire de Morphinof le 10/01/2011 16:25:20

Je crois que le but est de pouvoir rediriger un utilisateur vers une page dont le nom aurai ete stocke dans une base selon son ID mais c'est pas clair

Commentaire de Donald08 le 10/01/2011 16:58:51

Oui mais je ne voit pas l'utilité.

Si c'est pour une redirection, ca se fait en 1 ligne en htaccess et ca evite en plus des connexions inutiles à la DB...

Des explications de l'auteur seraient la bienvenue.

Commentaire de Morphinof le 13/01/2011 10:14:53

Si c'est une simple redirection c'est sur c'est pas tres utile mais dans l'hypothese que il y ai des parametres venant de la DB a transmettre la ca serai plus sense non ?

Commentaire de McHerve le 17/01/2011 13:03:51

Juste un avis extérieur (je ne suis pas l'auteur du script):`

j'utilise le même genre de redirection pour mon site
j'ai une base d'id (un simple int) avec des champs, et chaque id a un champ de "renommage d'adresse" ("compute" depuis le champ titre de l'id) + un  htaccess qui va bien.
ce qui fait que quand on l'adresse http://www.whynotflores.com/1 je redirige sur une pseudo-adresse http://www.whynotflores.com/mon-premier-tour-d-europe-1, c'est aussi cette "adresse complexe" que j'inclue dans mon fichier "sitemaps.xml"

Si j'ai pigé ce script, c'est en gros la même chose mais pas fini (c'est une principe de fonctionnement et à chacun de le personnaliser). L'intérêt de ce genre de script étant par exemple de faire des "z'olies url pour le référencement" ;)

à+


Commentaire de spacedelta le 17/01/2011 17:32:38

Ouais,
c'est assez sympas...
...c'est surtout ce que je cherche depuis longtemps !
Merci à l'auteur !

Pour ceux qui ne comprennent pas c'est pas compliqué !
dans une base de données on mets l'url selon l'id.
Puis après on tape l'id et on se retrouve à l'url que l'on a mis dans la BDD !

C'est ça nn ?

Commentaire de jdeheyn le 17/01/2011 18:41:21

En complétant un peu la source (champ supplémentaire dans la BDD), on peut aussi comptabiliser le nombre de fois qu'a été appelé le lien, dans un but de faire des stats par exemple.
Ou alors j'ai rien compris ...

Commentaire de pierrehs le 05/02/2011 07:27:16 1/10

Code inutile !
Apprends d'abord  le html avant le PHP (plus logique !)
Pas de section head, ni de body etc...
mais pas contre si le navigateur n'accepte pas les frames comme pas hasard tu affiche la section body
il vaudrais mieux afficher un message indiquant que son navigateur n'est pas compatible

Commentaire de pierrehs le 05/02/2011 07:31:15

Sinon comme deheyn dit tu à peut-être voulus faire un script similaire au célèbre site : http://bit.ly/
Mais par contre chez toi ça à complètement raté !

Commentaire de bonhommecrea le 05/02/2011 11:35:02

@pierrehs : Je connais le HTML, Une preuve ? je peux t'envoyer mon site par MP ..
J'ai fait exprès de ne pas mettre de Html,head et body Car ceci est un code à adapter à son site.

Et puis merci, j'avais oublier le lien du site (et j'avais pas envie de le retrouver d'ailleurs ..), Maintenant je vais pouvoir faire les modifications.

Commentaire de spacedelta le 05/02/2011 12:25:32

bonhommecrea a raison !
A par si tu veux alourdir la source et que la source fasse trente-six mille lignes -_-
Et puis, quelle est l'utilité si le code est directement prêt pour serveur ?

Commentaire de pierrehs le 05/02/2011 19:49:40

@bonhommecrea
À voilà une bonne initiative cela aura ainsi plus d'intérêt !
@spacedelta
Oui, mais j'en connais qui viennent ici pour télécharger des codes justement parce qu'ils ne savent pas coder sinon encore mieux de coder son script de A à Z.
Et donc un site sans aucune section html (doctype, head, body) n'est tout simplement pas un site ^^
P.S. Je suis peut-être sévère, mais quand je code je respecte les normes du web

Commentaire de spacedelta le 05/02/2011 20:26:34

en même temps t'as raison...
...si on script fonctionne sur un seul navigateur, et ben on est mal barrés avec tout ceux qui existent (mais je conseille au débutant d'apprendre les bases... et d'utiliser KompoZer et notepad ++ pour le html...)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

truc simple [ par eax ] salut!je veux mettre le contenu de $nvsc_titre dans une base de données, je précise qu'il vient d'un formulaire donc je fais:$nvsc_titre=htmlspecialch redirection pour la première visite [ par nico606 ] Slt je voudrais savoir si quelqu'un connaissais un script qui permet de rediriger le visiteur s'il s'agit de sa premiere visite sur le site, du genre Test d'URL et redirection en PHP [ par MacMike ] Bonjour, J'ai un probl&#232;me depuis des semaines, je dois rediriger 4 noms de domaines diff&#233;rent sur leur propre index dans leur propre r&#233 Redirection, authentification, et POST avec header [ par olid ] Mon probleme est le suivant:Pour mes abonnés, ils ont une page perso avec des liens vers des services externes qui nécessitent une identification par Problème de Redirection avec Die [ par zemele ] Bonjour, Bon l&#224; je suis pomm&#233;. Je fait mes redirection &#224; l'aide de cette m&#233;thode : $url = "http://localhost/index_admin.php?pa Redirection php avec url de ma BDD [ par Dyx50 ] Bonjour, J'aimerais savoir si il est possible de faire une redirection php qui prend les URL dans une base de donnée ?&lt;?php$connexion = mysql_conne Header vers une ancre [ par ov3rdoze ] Bonjour à tous J'essaye de faire une redirection avec un header. Le problème est que je n'arrive pas à insérer # dans la nouvelle URL. header ("loca Erreur 404 -> url non trouv [ par djbabou ] Bonjour a tous J'ai un petit problème que vous avz déja rencontré peut etre. J'ai fait un site avec joomla et j'aimerai faire une redirection après header + cacher l'url [ par gypsi3000 ] Bonjour, J'ai cr&#233;&#233; une page de redirection vers un webmail &#224; l'aide de la fonction header(location:'http://webmail.net'); Cette page p URL rewriting simple problème [ par bricethenetman ] Bonjour, je viens de trouver cette source http://www.phpcs.com/code.aspx?ID=33296&nbsp;mais je n'arrive pas &#224; la configurer (je d&#233;bute en ur


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales