Redirection d'un site grace a un formulaire

nico-x1
Invité n'ayant pas de compte PHPfrance

28 août 2006, 18:28

Je ne vois pas ou sa peux manquer :s HELP :P
Je viens de debuter 1semaine et c'est vrai que le phpn est interraissant mais tres instable :s par apport a d'autre language, mais plus interraissant aussi :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

28 août 2006, 18:41

Bonjour,

Essaye de remplacer ça :
fwrite($redi_install,'<meta http-equiv=Refresh  
content=1;URL='.$ligne->urlsite.') ; 
par
fwrite($redi_install,'<meta http-equiv=Refresh content=1;URL='.$ligne->urlsite.'>') ; 
Quand tout le reste a échoué, lisez le mode d'emploi...

nico-x1
Invité n'ayant pas de compte PHPfrance

28 août 2006, 20:31

Le dossier est creer mais pas le fichier index ^_^

code inscription_connection.htm: ( code jamais donnée)

Code : Tout sélectionner

<form method="post" action="inscription.php"> Pseudo :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="pseudo"><br> Pass :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="pass"><br> Url de votre site :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input tupe="text" name="site"><br> Nom de votre redirection&nbsp; (http://www.habboz.org/nom_de_votre-redirection): <input tupe="text" name="urlnom"><br> <input type="submit" name="submit" value="Envoyer"> </form>
Code inscription.php:
<?
// connexion à la base de données
$db = mysql_connect('localhost', 'nico-x1', '')
or die('connexion impossible');

// sélection de la base
mysql_select_db('nicox1_db',$db);

//J'identifie les variables
$pseudo = $_POST["pseudo"];
$password = $_POST["pass"];
$urlsite = $_POST["site"];
$urlnom = $_POST["urlnom"];

//J'envoie la requête d'insertion des données
mysql_query("INSERT INTO inscription VALUES('','$pseudo','$password','$urlsite','$urlredi')"); 

//Je récupère les données du formulaire
echo "Merci de votre inscription, il sera bientot possible de modifier votre profil mais pour le moment non !
<p>Votre site $urlsite et votre adresse a été raccourssit à http://www.habboz.org/$urlredi.
<p>Merci de noter votre profil quelque part</p>
<p>votre pseudo est: $pseudo</p>
<p>votre pass   est: $password</p>
<p>votre url de site est: $urlsite</p>
<p>Merci de ne pas reactualiser la reactualisation se fait automatiquement</p>
<meta http-equiv="Refresh"
 content="70;URL=$urlnom">
";

//Je fait le dossier 
mkdir($urlredi,0777);

//Je fait un fichier index.htm dans le dossier redirection 
$redi_install = fopen(''.$urlredi->urlredi.'/index.html','x');
fwrite($redi_install,'<meta http-equiv=Refresh content=1;URL='.$urlsite.'>') ;
fclose($redi_install);

//on ferme la connexion 
mysql_close();
?>

Mammouth du PHP | 19672 Messages

28 août 2006, 20:41

Suggestion pour la mise en forme de ton formulaire sans utiliser à outrance le "&nbsp;"

Code : Tout sélectionner

<form method="post" action="inscription.php" style="text-align: right"> <span style="float: left">Pseudo :</span><input type="text" name="pseudo"><br> <span style="float: left">Pass :</span><input type="text" name="pass"><br> <span style="float: left">Url de votre site :</span><input tupe="text" name="site"><br> <span style="float: left">Nom de votre redirection (http://www.habboz.org/nom_de_votre-redirection):</span><input tupe="text" name="urlnom"><br> <input type="submit" name="submit" value="Envoyer"> </form>
Par exemple.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

28 août 2006, 20:55

Suggestion pour la mise en forme de ton formulaire sans utiliser à outrance le "&nbsp;"
D'ailleurs, en parlant de ça, j'ai légerement modifié ton message pour ne pas casser la mise en forme du forum ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Nico-x1
Invité n'ayant pas de compte PHPfrance

28 août 2006, 21:52

Merci, pour reformater :)
Quelqu'un saurrait pourquoi mon fichier est pas fait ?

Mammouth du PHP | 19672 Messages

28 août 2006, 22:31

parce que tu ouvres le fichiers en mode "x" donc en lecture seule : tu ne peux donc rien écrire dedans.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

nico-x1
Invité n'ayant pas de compte PHPfrance

28 août 2006, 22:48

Ok c'est quoi le mode ou on peux ecrire dedans ? :s mode r+?

Mammouth du PHP | 991 Messages

28 août 2006, 22:54

moi je verai plus le w+ mé c'est que mon avis ....
DevOps, Symfony4, Hoa

nico-x1
Invité n'ayant pas de compte PHPfrance

28 août 2006, 23:09

bon j'ai mit w+ et tester r+ et sa marche pas je regarde le chmood du fichier creer c'est 745 alors que pendant la creation j'ai mit ,0777
Pk il me met un chmood de 745
<? 
// connexion à la base de données 
$db = mysql_connect('localhost', 'nico-x1', '') 
or die('connexion impossible'); 

// sélection de la base 
mysql_select_db('nicox1_db',$db); 

//J'identifie les variables 
$pseudo = $_POST["pseudo"]; 
$password = $_POST["pass"]; 
$urlsite = $_POST["site"]; 
$urlnom = $_POST["urlnom"];
$descr = $_POST["descr"]; 

//J'envoie la requête d'insertion des données 
mysql_query("INSERT INTO inscription VALUES('','$pseudo','$password','$urlsite','$urlnom,'descr')");  

//Je récupère les données du formulaire 
echo "Merci de votre inscription, il sera bientot possible de modifier votre profil mais pour le moment non ! 
<p>Merci de noter votre profil quelque part</p> 
<p>votre pseudo est: $pseudo</p> 
<p>votre pass   est: $password</p> 
<p>votre url de site est: $urlsite</p> 
<p>Clic <a href=$urlnom>ici</a> pour utiliser votre raccourssit web. (http://www.habboz.org/$urlnom</p>
<p>Clic <a href=index.htm>ici</a> pour retourner a l'accueil.</p>
";

//Je fait le dossier  
mkdir($urlnom,0777);

//Je fait un fichier index.htm dans le dossier redirection  
$redi_install = fopen(''.$urlnom->urlnom.'/index.html','w+'); 
fwrite($redi_install,'<meta http-equiv=Refresh content=1;URL='.$urlsite.'>') ; 
fclose($redi_install);

//on ferme la connexion  
mysql_close(); 
?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 août 2006, 23:58

Objection votre honneur ! Le développeur tente d'influencer le code !! :)

Ce n'est pas le fichier que tu as déclaré en 0777, mais le dossier qui le contient ;)

Quant à l'écriture d'un nouveau fichier, un simple "w" doit suffir :
<?php
if(!is_dir($urlnom)) // ca coute rien de tester s'il existe pas déjà
  mkdir($urlnom,0777); 

$redi_install = fopen($urlnom . '/index.html', 'w'); 
// le ''. ajoute une chaine vide au début de ta chaine, ca ne sert à rien ;)
// est ce que la variable $urlnom que tu utilises pour créer le dossier contient bien la même chose que
// $urlnom->urlnom ? (à mon avis non, et ton fichier est probablement sans cesse créé dans le dossier courant) 
// tant qu'à faire, utilise la même variable que pour le dossier, ca évite les doutes :)
...
?>

Mammouth du PHP | 19672 Messages

29 août 2006, 07:48

Pour choisir le mode d'ouverture approprié, un coup d'oeil dans la doc sur fopen() serait à mon avis quelque chose de sensé ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

.....
Invité n'ayant pas de compte PHPfrance

29 août 2006, 09:29

sa marche tjr pas :s
oui mais si mon dossier est en chmoor 745 le script pourra t'il necrire dedans aussi :s

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

29 août 2006, 09:52

Ton dossier est en 777 (tu le créer toi même comme ça !! :)) c'est le fichier créé par php qui est en 745.

Bon alors un petit point sur les droits des fichiers et le chmod (avec un seul o ;))

Le premier chiffre correspond aux droits du propriétaire du fichier
Le deuxième correspond aux droits du groupe (un utilisateur pouvant appartenir à un ou plusieurs groupe)
Le dernier correspond au public (bref tous les autres)

Chaque chiffre correspond à une addition des chiffres suivants :
1 pour Exécution , 2 pour Ecriture, 4 pour Lecture.
"7" correspond donc à tous les droits et un "5" à droits en lecture et execution uniquement.
"777" correspond ainsi à "tous les droits" pour "tout le monde"
et ton "745" ne te pose normalement pas de problème en tant que propriétaire pour écrire dans ton fichier :)

Tu peux toujours faire un chmod dessus, le passer en 777 et voir si ca change quelque chose, mais je doute..

Le problème provient peut être de $urlnom. Celui-ci contient-il un slash au bout ? (vu que tu en rajoutes un dans "/index.html" ça en ferait deux)

....
Invité n'ayant pas de compte PHPfrance

29 août 2006, 10:05

J'avais fait une modif je sais plus laquelle je test bon je vois que sa marche pas je test encore plein de truc puis je revient au debut et la je voix 2dossier creer avec index :s je vais peter un cable :p
------------------
j'avais changer le chmood 0777 en 07000 nj'aévais aussi ajouter un truc car comme je ne suis pas a la racine de mon site mais a un dossier test j'vais fait

Code : Tout sélectionner

$redi_install = fopen(test/$urlnom . '/index.html', 'w');
Heu et c'est tout je retest et sa marche pas :shock: