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 :

Supprimer un élément dans un fichier texte depuis un formulaire


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 95
    Points : 51
    Points
    51
    Par défaut Supprimer un élément dans un fichier texte depuis un formulaire
    Bonjour,

    J'ai réaliser un tableau où je récupère mes données depuis un fichier texte. Ajouter à cela je les sélectionne à partir des checkbox.
    Mon problème est que j'aimerais quand je les sélectionne que je puisse effacer l'élément sélectionné dans mon fichier texte.
    Voici mon code pour ma 1ere page :
    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
    45
    46
    47
    48
    49
    <?php
    #Execution de mon script python qui affiche le nom de mes stations (ex:frep-xqlin05) 
    $temp = file_get_contents('results.txt','w');
    $contenus = explode(" ",$temp);
    function MEP($contenus){
            for ($cpt = 0, $size = count($contenus); $cpt < $size; ++$cpt){
                    echo '<td width="50%" style="text-align: center;">'.$contenus[$cpt].' :</td><td width="20%" style="text-align: center;"><input type="checkbox" name="choix[]" value='.$contenus[$cpt].'></td><br /></tr>';
            }
    }
    ######################
    ###*Debut page WEB ###
    ######################
    ?>
     
    <!DOCTYPE html>
    <html>
        <head>
    		<!-- En-tête de la page -->
            <meta charset="utf-8" />
    		<link rel="stylesheet" href="style.css" />
            <title>Liste des stations</title>
        </head>
     
        <body>
    		<!-- Corps de la page -->
    		<h1>Tableau des stations à supprimer</h1>
     
    		 <p class="intro"><em>Veuillez sélectionner vos stations à supprimer</em>:</p>
    	<div>
    		<table border="2" align ="center">
    			<form name="monform" method="post" action="ResultatList.php">
     
    <?php
    # Fonction qui ajoute les checkbox dans le formulaire
    MEP($contenus);
    ?>
    		</table>
    			<div class="bouton">
    					<p>
    						<a href=""><input type="submit" name="go" value="Effacer" onclick = "document.location.href = 'ResultatList.php'">
    					</p>		
    			</div>
    </form>
    			<div class="bouton1">
    						<a href=""><input type="submit" name="" value="Annuler"/></tr></p>
    			</div>
    </div>			
    </body>
    </html>
    Ma page de retour
    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
    <!DOCTYPE html>
    <html>
        <head>
    		<!-- En-tête de la page -->
            <meta charset="utf-8" />
    		<link rel="stylesheet" href="style.css" />
            <title>Résultat</title>
        </head>
     
        <body>
    		<!-- Corps de la page -->
    			 <h1>Résultat des stations à supprimer</h1>
     
    <div class="resultat">			 
    <?php
    # Fonction qui affiche les résultats dans le formulaire
    if (isset($_POST['go']) && !empty($_POST['choix'])){
            for ($i=0;$i<count($_POST['choix']);$i++){
                            $choix = $_POST['choix'][$i];
                            echo "Vous avez supprimé la station: $choix";
    						echo "<br />";
            }
    }
    else{
            echo 'Selectionnez un choix !';
    }
    ?>
    <input type="submit" name="go" value="Retour" onclick = "document.location.href = 'ListeStations.php'">
    </div>
     
        </body>
    </html>
    Auriez vous une solution à me proposer svp?

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 350
    Points : 507
    Points
    507
    Par défaut
    Pourquoi ne pas faire un truc du genre :
    1 - Tu récupérés le contenu de ton fichier.
    2 - Tu fais un str_replace de chaque mot par rien.
    3 - Tu réenregistres ton fichier avec ton nouveau contenu.

    Je n'ai pas testé mais ca donnerait un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $temp = file_get_contents('results.txt','w');
    $fContent = str_replace($_POST['choix'], '', $temp);
     
    $file = fopen('results.txt','w+');
    fwrite($file, $fContent);
    fclose($file);
    Marcuscircus : La seule différence entre un rêve et sa réalisation, c'est l'envie

  3. #3
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Points : 778
    Points
    778
    Par défaut
    C'est ce qui me parais le plus simple aussi.
    L'autre méthode aurais été de supprimer le fichier texte en récupérant avant le contenus, le nom et l'emplacement et de le réécrire avec ce que tu a dans ton formulaire après saisie de l'user mais c'est un peux comme tuer un moustique avec un lance roquette lol.
    Spécialiste des questions bêtes

    ”If you can't explain it simply, you don't understand it” (Ce que tu ne peux pas expliquer simplement, tu ne le comprends pas) Albert Einstein

    Si une reponse vous plait ou vous a aidé n'hesitez pas a voter pour

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 95
    Points : 51
    Points
    51
    Par défaut
    J'ai testé alors oui ça écrase mon fichier mais en retour je n'ai rien comme contenu dans mon fichier texte.
    Est-ce que la méthode "array_filter()" peut etre une solution? Si oui comment on s'y prend? Est-ce pareil que le str_replace()?

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 95
    Points : 51
    Points
    51
    Par défaut
    Nickel ça fonctionne merci a tous

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

Discussions similaires

  1. supprimer une ligne dans un fichier texte
    Par linouline dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2006, 23h02
  2. Réponses: 2
    Dernier message: 18/05/2006, 13h38
  3. Supprimer une ligne dans un fichier texte
    Par @yoyo dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 28/03/2006, 14h19
  4. Supprime une ligne dans un fichier texte
    Par dev7 dans le forum Linux
    Réponses: 4
    Dernier message: 28/03/2006, 01h33
  5. Supprimer une ligne dans un fichier text
    Par philippe13 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 14/03/2006, 16h43

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