IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

écriture d'une chaîne de caractères dans un fichier


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut écriture d'une chaîne de caractères dans un fichier
    Bonjour,

    Depuis plusieurs jours je travaille sur un bout de code php qui ne me posait aucun problème sur un serveur Web Linux (intranet). Mais depuis la migration vers un autre serveur Web, mon code ne fonctionne plus.
    le pire c'est que c'est totalement incompréhensible !

    Voici exactement mon problème :
    Dans un page, j'ai un switch avec plusieurs cases.
    1er case :
    J'ai un formulaire avec des checkbox (nombre de checkbox aléatoire, selon le résultat d'une requête. Elles se nomment toutes sla_X (ou X est un nombre incrémenté))

    Donc dans ce case, je check ce que j'ai besoin et je poste mon formulaire.

    2ième case :

    Voici le code php :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    $req_sla="";
     
    $req_sla="AND (";
    $i=1;
    $j=1;
     
    for ($i=1; $i<=$resultat_countsla['nb_sla']; $i++) 
    { 
    	$sla_val = "sla_" . $i ;		
     
    	if (isset($_POST[$sla_val]))
    	{
    		if ($j==1)
    		{
    			$req_sla = $req_sla . 'STService ="' . $_POST[$sla_val] .'" ';
    			$j++;
    		}
    		else
    		{
    			$req_sla = $req_sla . ' OR STService ="' . $_POST[$sla_val] .'" ';
    		}
     
    		echo '<font color="#f68e14"><b>"' . $_POST[$sla_val] . '"</b></font>&nbsp;&nbsp;&nbsp;';
    	}
     
    }
    $req_sla = $req_sla . ")";
     
    $filename="applications/geolocalisation/pages/maintenance_infos.txt";
    // CREATION DU FICHIER TEXTE AVEC LA REQUETE ADEQUATE								
    $fp = fopen($filename,"w+"); // ouverture du fichier en écriture
     
    if (file_exists($filename)) 
    {
    	fputs($fp, $req_sla);
    	fclose($fp);
     
    }
    else
    {
    	echo '<b>Le fichier n\'existe pas !</b>';
    }
    										}
    Ce code permet donc selon le nombre de checkbox cochées dans le 1er case de concaténer les $_POST dans une variable et d’écrire le contenu de cette variable dans un fichier texte.

    Le problème est le suivant :
    Si je fais un echo de $req_sla juste avant de faire mon fputs, elle contient exactement ce qu'elle devrait contenir mais quand le fputs est réalisé voici ce qui est écrit dans le fichier :
    AND ()

    Autrement dit, il fait $req_sla="AND ("; et $req_sla = $req_sla . ")"; mais pas tout le code entre.

    La chose la plus bizarre, c'est que la variable $req_sla est correcte en echo mais pas dans le fputs.

    Chose encore plus étonnante : Si j’écris en "dur" dans mon fputs le chaîne de caractère que $req_sla semble contenir, le fichier texte est bien remplie comme il faut.

    Autrement dit, si je fais un echo de $req_sla tout est ok, si met cette variable dans le fputs, une seule partie du contenu de cette variable est écrit. Et pour finir si j'écris en dur dans ma commande fputs le contenu de $req_sla, il écrit bien dans le fichier.

    Quelqu'un aurait une idée ?

    Par avance merci.

    Cordialement,

    Dalto

  2. #2
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    est ce que $resultat_countsla contient bien ce qu'il faut ?
    GNAP !

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    Oui cette variable contient un chiffre positif supérieur à 0.
    Il fait donc une boucle pendant X fois.

    Cordialement,

    Dalto.

  4. #4
    Membre averti Avatar de sayari.dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2010
    Messages : 142
    Points : 300
    Points
    300
    Par défaut
    Bonjour,

    Peux-tu nous montrer à quel niveau fais-tu ton exho $req_sla?
    C'est en faisant n'importe quoi qu'on devient n'importe qui

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Alors là je suis un peu sur le cul
    En fait, depuis plusieurs jours toutes les applis que je developpais pour l'intranet de ma societe ne marchaient plus.
    Mon collègue vient de trouver le problème.

    En fait, depuis qu'il a rajouter une class nommé GoogleWeather.class.php tous mes formulaires (donc mes POST) fonctionnaient très très mal.

    Il vient de supprimer le code relative à cette class et tout refonctionne bien sur notre intranet.

    Le problème est donc résolu juste en supprimant cette class.

    Merci pour votre aide et pour votre temps passé sur mon problème.

    Cordialement,

    Dalto.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/01/2010, 02h01
  2. Réponses: 4
    Dernier message: 16/12/2009, 15h39
  3. Réponses: 0
    Dernier message: 19/01/2009, 11h00
  4. Retouver une chaîne de caractère dans un fichier
    Par thierrykammi dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 26/09/2008, 10h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo