Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

2 problemes

2 réponses
Avatar
Christian
Bonjour,

1er problème :
J'ai un script qui créé un fichier, recevant le contenu d'une BD, puis je
l'envoi par les commandes header. Cela a marché, mais marche mal maintenant.
En effet j'ai maintenant en plus de mon contenenu BD le script et les
balises HTML. Pourquoi ?
Voici le script en question:
Connexion();
$Result = mysql_query($requete);
//Créé le fichier d'exportation ou ajoute les données dans le fichier
existant
$file = fopen("Export/ExportIncorpo.txt","w+");
//Inscrit les données de la table inscription
fwrite($file,"ID ; Dt Inscription ; Nom ; Prenom ; Date Naissance ;
Adresse ; CP ; Ville ; Mail ; Tel-1 ; Tel-2 ; MDP\r\n");
while ($champ = mysql_fetch_array($Result))
{
$ligne = $champ[0];
// complète la ligne d'enregistrement
for ($i=1;$i != $Limite;$i++)
{
$ligne .= ";" .$champ[$i];
}
$ligne .="\n";
fwrite($file,$ligne);
$Total = $a++;
}
fclose($file);
header('Content-type: text/plain');
readfile("Export/ExportIncorpo.txt");
header('Content-Disposition: attachment; filename="ExportIncorpo.csv"');

2ème problème:
J'ai des liens du style <a href="admin2.php?aff=expExp">Export</a>
J'aurais souhaité que la page se rafraîchisse à chaque clique sur les liens.
En effet à l'heure actuelle, lorsqu'un contenu est affiché celui-ci reste en
place.

Christian.

2 réponses

Avatar
Olivier Miakinen

1er problème :
J'ai un script qui créé un fichier, recevant le contenu d'une BD, puis je
l'envoi par les commandes header. Cela a marché, mais marche mal maintenant.
En effet j'ai maintenant en plus de mon contenenu BD le script et les
balises HTML. Pourquoi ?


Je n'ai pas compris le problème que tu décris, mais voici déjà quelques
problèmes potentiels que je voix en lisant rapidement ton code.

Voici le script en question:
Connexion();
$Result = mysql_query($requete);


Tu ne sembles pas traiter le cas où la requête aurait échoué.

//Créé le fichier d'exportation ou ajoute les données dans le fichier
existant
$file = fopen("Export/ExportIncorpo.txt","w+");


Idem.

//Inscrit les données de la table inscription
fwrite($file,"ID ; Dt Inscription ; Nom ; Prenom ; Date Naissance ;
Adresse ; CP ; Ville ; Mail ; Tel-1 ; Tel-2 ; MDPrn");
while ($champ = mysql_fetch_array($Result))
{
$ligne = $champ[0];
// complète la ligne d'enregistrement
for ($i=1;$i != $Limite;$i++)


Je ne vois pas où $Limite est déclarée, mais je suppose que c'est bon.

{
$ligne .= ";" .$champ[$i];
}
$ligne .="n";
fwrite($file,$ligne);
$Total = $a++;
}
fclose($file);
header('Content-type: text/plain');
readfile("Export/ExportIncorpo.txt");
header('Content-Disposition: attachment; filename="ExportIncorpo.csv"');


Attention, ce dernier header() ne peut pas fonctionner à partir du
moment où le fichier Export/ExportIncorpo.txt n'est pas vide. Il te
faudrait le mettre avant, et en l'état je suis surpris que tu ne nous
signales pas une erreur « headers already sent ».

2ème problème:
J'ai des liens du style <a href="admin2.php?aff=expExp">Export</a>
J'aurais souhaité que la page se rafraîchisse à chaque clique sur les liens.
En effet à l'heure actuelle, lorsqu'un contenu est affiché celui-ci reste en
place.


En principe, si tu cliques sur le lien, cela lance une nouvelle requête
HTTP et la page devrait donc se rafraîchir avec le résultat du script
admin2.php. Je ne comprends pas comment il pourrait en être autrement.
Tu as une URL pour qu'on puisse constater le phénomène ?

Avatar
Sebastiaan 'CrashandDie' Lauwers
Olivier Miakinen wrote:

Je n'ai pas compris le problème que tu décris, mais voici déjà quelques
problèmes potentiels que je voix en lisant rapidement ton code.


La question que je me pose surtout est, pourquoi s'amuser à écrire dans
un fichier, puis s'amuser à faire lire ce fichier juste pour le fun, au
lieu de tout simplement balancer les infos, en outrepassant la partie
amusante d'écrire et lire dans un fichier ? (chose qui, à priori, est
totalement débile, voire inutile ?)

HTH,

S.