[PHP] Remplacer une ligne dans un .txt
alecol
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
alecol Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
alecol Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je fais un exercice de réservation d'une salle photo. J'ai comme contrainte le devoir de créer ma base de donnée sur un fichier .txt. Dans ce cadre là, l'administrateur doit pouvoir éditer les demandes des visiteurs. Je fais donc un formulaire qui reprend les données de la ligne concernée et je les modifie comme je le veux. Ensuite, je reprends les données modifiées et celle qui ne sont pas pour créer une nouvelle ligne qui remplacera la précédente.
Voici le code que j'utilise lors de l'envoi du formulaire.
<?php
// Accepter une demande
$monfichier = fopen("C:\wamp\www\php\bd.txt", "a+");
if(isset($_GET['edit'])) {
$nbr_ligne = 0;
$all_line = '';
while(!feof($monfichier)) {
$ligne = fgets($monfichier);
$nbr_ligne++;
if($ligne != '') {
if($nbr_ligne == $_GET['edit']) {
$all_line .= $_POST['edit_check'].','.$_POST['edit_name'].','.$_POST['edit_firstname'].','.$_POST['edit_heure'].','.$_POST['edit_jour'].','.$_POST['edit_mois'].','.$_POST['edit_year'].','.$_POST['edit_mail'].','.$_POST['edit_phone'].','.$_POST['edit_comment'];
}else{
$all_line .= $ligne;
}
}
}
file_put_contents('C:\wamp\www\php\bd.txt', $all_line);
}
fclose("C:\wamp\www\php\bd.txt");
header("Location: http://localhost/php/admin/index.php");
?>
Ce code ne me renvoi que la même ligne et ne fais par conséquent aucune modification. Quelqu'un pourrait-il m'aider?
Merci d'avance.
Je fais un exercice de réservation d'une salle photo. J'ai comme contrainte le devoir de créer ma base de donnée sur un fichier .txt. Dans ce cadre là, l'administrateur doit pouvoir éditer les demandes des visiteurs. Je fais donc un formulaire qui reprend les données de la ligne concernée et je les modifie comme je le veux. Ensuite, je reprends les données modifiées et celle qui ne sont pas pour créer une nouvelle ligne qui remplacera la précédente.
Voici le code que j'utilise lors de l'envoi du formulaire.
<?php
// Accepter une demande
$monfichier = fopen("C:\wamp\www\php\bd.txt", "a+");
if(isset($_GET['edit'])) {
$nbr_ligne = 0;
$all_line = '';
while(!feof($monfichier)) {
$ligne = fgets($monfichier);
$nbr_ligne++;
if($ligne != '') {
if($nbr_ligne == $_GET['edit']) {
$all_line .= $_POST['edit_check'].','.$_POST['edit_name'].','.$_POST['edit_firstname'].','.$_POST['edit_heure'].','.$_POST['edit_jour'].','.$_POST['edit_mois'].','.$_POST['edit_year'].','.$_POST['edit_mail'].','.$_POST['edit_phone'].','.$_POST['edit_comment'];
}else{
$all_line .= $ligne;
}
}
}
file_put_contents('C:\wamp\www\php\bd.txt', $all_line);
}
fclose("C:\wamp\www\php\bd.txt");
header("Location: http://localhost/php/admin/index.php");
?>
Ce code ne me renvoi que la même ligne et ne fais par conséquent aucune modification. Quelqu'un pourrait-il m'aider?
Merci d'avance.
A voir également:
- [PHP] Remplacer une ligne dans un .txt
- Partager photos en ligne - Guide
- Remplacer disque dur par ssd - Guide
- Remplacer dans word - Guide
- Mètre en ligne - Guide
- Aller à la ligne dans une cellule excel - Guide