Concaténation PHP
Résolu
CorentinRoche
Messages postés
271
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Concaténation PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Alert php - Forum PHP
4 réponses
Bonjour,
Juste pour tester, pourrais tu remplacer ta ligne de code
par :
et nous montrer ce que ça t'affiche ?
Eventuellement,
tu peux aussi, ajouter en dessous
et voir si le lien fonctionne...
Juste pour tester, pourrais tu remplacer ta ligne de code
echo "<meta http-equiv='refresh' content='0;url=" . $donnees_client['REF_client'] ."-000000.xlsx'/>";
par :
//echo "<meta http-equiv='refresh' content='0;url=" . $donnees_client['REF_client'] ."-000000.xlsx'/>"; echo "content='0;url=" . $donnees_client['REF_client'] ."-000000.xlsx'/>";
et nous montrer ce que ça t'affiche ?
Eventuellement,
tu peux aussi, ajouter en dessous
echo "<a href='".$donnees_client['REF_client'] ."-000000.xlsx'>Cliquer ICI pour tester</a>";
et voir si le lien fonctionne...
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, quel est l'html généré?
montre-nous aussi le code html que tu souhaites obtenir.
il me semble que tu as, au minimum, un problème avec les guillemets ou les apostrophes.
montre-nous aussi le code html que tu souhaites obtenir.
il me semble que tu as, au minimum, un problème avec les guillemets ou les apostrophes.
Tout se fait via le PHP
A la fin du code je veux rajouter ça :
Pour que le fichier Excel placer sur le serveur sois télécharger
par la suite je r'ajouterais une redirection vers la page d'accueil
Ci joint le code complet :
A la fin du code je veux rajouter ça :
echo "<meta http-equiv='refresh' content='0;url=" . $donnees_client['REF_client'] ."-000000.xlsx/>";
Pour que le fichier Excel placer sur le serveur sois télécharger
par la suite je r'ajouterais une redirection vers la page d'accueil
Ci joint le code complet :
<?php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); $titre_page = "Générer une facture PART"; //titre de la page //connexion à la bdd require_once 'bdd.php'; require 'vendor/autoload.php'; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; $edit_id_client = $_GET['id'] ; //Récupération des données clients enfonction de l'ID $sql = 'SELECT * FROM Clients_Particuliers WHERE id = '. $edit_id_client .'' ; $datas = array('2'); try{ $recup_donnees_client = $bdd->prepare($sql); $recup_donnees_client->execute($datas); $arr_donnees_client = $recup_donnees_client->fetchAll(); }catch(Exception $e){ echo "Erreur : ".$e->getMessage(); } if(!empty($arr_donnees_client)){ foreach($arr_donnees_client as $donnees_client ){ $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('Facture_VIERGE.xlsx'); $worksheet = $spreadsheet->getActiveSheet(); $worksheet->getCell('B9')->setValue($donnees_client['REF_client']); $worksheet->getCell('B10')->setValue($donnees_client['telephone_portable']); $worksheet->getCell('B11')->setValue($donnees_client['adresse']); $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx'); $writer->save($donnees_client['REF_client'] .'-000000.xlsx'); echo "<meta http-equiv='refresh' content='0;url=" . $donnees_client['REF_client'] ."-000000.xlsx/>"; } } ?> <!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content="au theme template"> <meta name="author" content="Hau Nguyen"> <meta name="keywords" content="au theme template"> <title><?php echo $titre_page; ?></title> <link rel="icon" href="images/favicon.ico" /> <link href="css/font-face.css" rel="stylesheet" media="all"> <link href="vendor/font-awesome-4.7/css/font-awesome.min.css" rel="stylesheet" media="all"> <link href="vendor/font-awesome-5/css/fontawesome-all.min.css" rel="stylesheet" media="all"> <link href="vendor/mdi-font/css/material-design-iconic-font.min.css" rel="stylesheet" media="all"> <link href="vendor/bootstrap-4.1/bootstrap.min.css" rel="stylesheet" media="all"> <link href="vendor/animsition/animsition.min.css" rel="stylesheet" media="all"> <link href="vendor/bootstrap-progressbar/bootstrap-progressbar-3.3.4.min.css" rel="stylesheet" media="all"> <link href="vendor/wow/animate.css" rel="stylesheet" media="all"> <link href="vendor/css-hamburgers/hamburgers.min.css" rel="stylesheet" media="all"> <link href="vendor/slick/slick.css" rel="stylesheet" media="all"> <link href="vendor/select2/select2.min.css" rel="stylesheet" media="all"> <link href="vendor/perfect-scrollbar/perfect-scrollbar.css" rel="stylesheet" media="all"> <link href="css/theme.css" rel="stylesheet" media="all"> </head> <body class="animsition"> <div class="page-wrapper"> <?php require_once('menu.php') ?> <div class="page-container"> <!-- MAIN CONTENT--> <div class="main-content"> <div class="section__content section__content--p30"> <div class="container-fluid"> <button onclick="window.location.href='clients.php'" type="button" class="btn btn-outline-link btn-sm"> <i class="fas fa-angle-double-left"></i> Retour</button> <div class="row"> </div> <br><br><br><br><br><br><br><br><br><br><br> <?php require_once('copyright.php') ?> </div> </div> </div> </div> </div> <script src="vendor/jquery-3.2.1.min.js"></script> <script src="vendor/bootstrap-4.1/popper.min.js"></script> <script src="vendor/bootstrap-4.1/bootstrap.min.js"></script> <script src="vendor/slick/slick.min.js"></script> <script src="vendor/wow/wow.min.js"></script> <script src="vendor/animsition/animsition.min.js"></script> <script src="vendor/bootstrap-progressbar/bootstrap-progressbar.min.js"></script> <script src="vendor/counter-up/jquery.waypoints.min.js"></script> <script src="vendor/counter-up/jquery.counterup.min.js"></script> <script src="vendor/circle-progress/circle-progress.min.js"></script> <script src="vendor/perfect-scrollbar/perfect-scrollbar.js"></script> <script src="vendor/chartjs/Chart.bundle.min.js"></script> <script src="vendor/select2/select2.min.js"></script> <script src="js/main.js"></script> </body> </html>
Si je remplace la ligne meta par celle ci :
Le fichier 000000.xlsx est bien télécharger..
Par contre avec celle ci rien :
Le fichier est bien crée sur le serveur pourtant :

echo "<meta http-equiv='refresh' content='0;url="000000.xlsx";
Le fichier 000000.xlsx est bien télécharger..
Par contre avec celle ci rien :
echo "<meta http-equiv='refresh' content='0;url=" . $donnees_client['REF_client'] ."-000000.xlsx";
Le fichier est bien crée sur le serveur pourtant :
as-tu examiné et comparé le code html généré?
https://support.google.com/surveys/answer/6172725?hl=fr
https://support.google.com/surveys/answer/6172725?hl=fr
Quand j'ai la ligne de cette façons :
Cela fonctionne bien est j'ai bien le téléchargement de NathanNARBOT-000000.xlsx qui se lance.
Mais quand j'ai la ligne comme ça :
Le téléchargement ne se lance pas et j'ai "Cette page ne fonctionne pas" pourtant j'ai bien les lignes :
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
pour afficher les erreurs.
Je ne peux donc pas comparer l'HTML
echo "<meta http-equiv='refresh' content='0;url=NathanNARBOT-000000.xlsx'/>";
Cela fonctionne bien est j'ai bien le téléchargement de NathanNARBOT-000000.xlsx qui se lance.
Mais quand j'ai la ligne comme ça :
echo "<meta http-equiv='refresh' content='0;url=" . $donnees_client['REF_client'] ."-000000.xlsx'/>";
Le téléchargement ne se lance pas et j'ai "Cette page ne fonctionne pas" pourtant j'ai bien les lignes :
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
pour afficher les erreurs.
Je ne peux donc pas comparer l'HTML
Question bête pourquoi ne pas utiliser un :
header('location: '. $donnees_client['REF_client'] .'-000000.xlsx');
?
header('location: '. $donnees_client['REF_client'] .'-000000.xlsx');
?
Pour la première ligne proposer voici le résultat :
Pour la deuxième ligne le "Cliquer ici" Fonctionne bien !!
Merci