Fonction ecrire en php

Résolu/Fermé
fanimed Messages postés 84 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 3 juillet 2009 - 24 janv. 2009 à 10:12
fanimed Messages postés 84 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 3 juillet 2009 - 24 janv. 2009 à 12:44
Bonjour a tous
J'ai ecrit un programme a trois fichiers avec php

--le premier fichier index.php lui permet de creer des table dune BDD dont le nom a ete fourni par un utilisateur.
dnc: 1 formulaire retient le nom dhote le username et le password du serveur ainsi que le nom de la BDD.Ensuite du formulaire ces infos sont envoyees sur index.php qui, a son tour va creer des tables(prevues) dans cette BDD.

--Le second fichier connection.php lui doit contenir les informations nom dhote username password et le nom de la Bdd qui etait sur index.php...Donc index.php ecrit avec fputs() ou fwrite() dns ce fichier le nom dhote le username le password et le nom de la BDD.. voici le code:
<?php
//Ecrivons dans le fichier connection.php les variables de connection
$fichier = fopen('../admin1/connection.php','w+') ;
fseek($fichier,0) ;
fputs($fichier,"$hosti\n $useri\n $passwordi\n $db1") ;
?>


--le troisieme fichier recuperer_connection.php lui il lit seulement les informations contenues dans connections.php pour extraire le nom dhote le username le password et le nom de la BDD pour les utiliser dns dautres fichiers..
dans ce fichier jai utiliser la fonction file() . voici le code:

<?php
$path = getcwd();
$valeur = file($path."/connection.php");
if(is_array($valeur))
{
$valeur='';
for ($i=0; $i<count($valeur); $i++) {
$ligne[$i] = $valeur ;
}
$host = $ligne[0] ;
$user = $ligne[1] ;
$password = $ligne[2] ;
$db = $ligne[3] ;
mysql_connect($host,$user,$password) or die("Impossible de se conecter au serveur") ;
mysql_select_db($db) ;
}
?>


Mon probleme ces au niveau du dernier fichier
quand index.php ecrit dans connexion.php. si une des informations est vide, il va simplement sauter de ligne.
Exemple:hostname = 'localhost'; username = 'root' ; password =' ' et db = 'maBDD' ;
il ecrira ainsi dans connexion.php :
localhost
root

maBDD
vous voyez le vide entre root et maBDD, ces le password justement qui est vide

le probleme ces comment lfaire savoir a mon code recuperer_connection.php que password est vide
parce que quand jexecute mon programme ces comme si password n'existait pas.Alors qu'il existe mais seulemt vide
Aidez moi a resoudre ce probleme..Merci
A voir également:

6 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 janv. 2009 à 10:43
$valeur = file($path."/connection.php");
if(is_array($valeur))
{
$valeur='';


la fonction file lit le fichier et met dans un array ligne par ligne

si tu mets si array => $valeur=''; tu écrases aussitot l'array
0
fanimed Messages postés 84 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 3 juillet 2009 18
24 janv. 2009 à 10:48
Ok Merci..Donc tu proposes que jenleve $valeur = ' ';

en fait je lavais mis pour preciser a mon code qu'au cas ou la ligne est vide de donner une valeur nulle a cette ligne....
Mais bon jessaie et je te fais signe
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 janv. 2009 à 11:11
oui sinon ça écrase ton array

mais je n'avais pas tout lu ton pb en fait c'est qd passwd est vide

ne fais pas comme ça, ne mets pas une ligne par élément a enregistrer dans ton fichier sinon tu ne peux pas séparer les éléments si un est vide

il faut que qd tu enregistres tu mettes sur une seule ligne

le_host|le_login|le_password|le_nom_db

le séparateur | c'est le pipe c. a d. le caractère obtenu par touche 6+AltGr

tu peux mettre autre chose si tu veux mais celui la il y a peu de chances qu'il soit dans tes valeurs

ensuite pour les séparer tu fais un explode("|",$valeur) sur une seule ligne bien sur
0
fanimed Messages postés 84 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 3 juillet 2009 18
24 janv. 2009 à 11:22
merci

mais jai pas tres bien compris la partie ou tu dis de les separer avec explode("|",$valeur)...
ces ok pr la separation avec les pipes lors de lenregistrement.
Mais comment sa se passe exactement lors de la recuperation des variables surtout le mot de passe
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 janv. 2009 à 11:34
$valeur = file($path."/connection.php");
//la ligne une sera:$valeur[0]  il n'y a que celle qui qui nous intéresse
//pour séparer:
$array_ligne=explode("|",$valeur[0]);
$host=$array_ligne[0];
$login=$array_ligne[1];
$pass=$array_ligne[2];
$db=$array_ligne[3];


si pass est vide il n'y aura pas de valeur entre les deux | donc ça te sortira une valeur vide
0
fanimed Messages postés 84 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 3 juillet 2009 18
24 janv. 2009 à 12:44
Merci Alain Finalement sa marche....Sa ma fait avancer
0