Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dziwna sprawa przy zapisie do CSVki
Forum PHP.pl > Forum > Przedszkole
Grisza
Próbuję sobie poradzić z tym problemem już dłuższy czas.
Gdy podstawiam do zwykłej zmiennej i wyświetlam wszystko jest okej i zmienna wyświetla mi się bez &
Ale jeśli w springu jest jedna spacja, to wtedy Cały ciąg znakowy otaczają &. W wyniku czego w CSVce mam coś takiego:
&tu wpisz swoje imię&

Oto kod źródłowy pliku zapisz:

  1. <?php
  2. /*
  3. echo "<pre>";
  4.   print_r($_POST);
  5.   echo "</pre>";
  6. */
  7.  
  8. if($_POST['submit']){
  9. //$list =$_POST['imie'].", ".$_POST['nazwisko'].", ".$_POST['instytucja'];
  10.  
  11. //$list =$_POST['imie'].",".$_POST['nazwisko'].",".$_POST['instytucja'].",".$_POST['mail'].",".$_POST['telefon'].",".$_POST['warsztat'].",".$_POST['nocleg1'].",".$_POST['nocleg2'].",".$_POST['nocleg3'];
  12. $list =trim($_POST['imie']).",".$_POST['nazwisko'].",".$_POST['instytucja'].",".$_POST['mail'].",".$_POST['telefon'].",".$_POST['warsztat'].",".$_POST['nocleg1'].",".$_POST['nocleg2'].",".$_POST['nocleg3'];
  13. //$list = str_replace("&", "_", $list);
  14. }
  15. else{
  16. echo "Błąd z przesłaniem danych";
  17. }
  18. // Tu wstawiam ważne dane do sprawdzenia przez człowieka wypełniającego formularz:
  19. // podstawienie zmiennych
  20. $imie=$_POST['imie'];
  21. $nazwisko=$_POST['nazwisko'];
  22. $instytucja=$_POST['instytucja'];
  23. $mail=$_POST['mail'];
  24. $telefon=$_POST['telefon'];
  25. $warsztat=$_POST['warsztat'];
  26. $nocleg1=$_POST['nocleg1'];
  27. $nocleg2=$_POST['nocleg2'];
  28. $nocleg3=$_POST['nocleg3'];
  29. // Wyświetlanie zmiennych
  30. echo"<div style=\"background-color: red; width: 515px; border: 2px black solid; padding: 15px; font-family: verdana, arial, sans-serif; font-size:11px; margin:auto;\">";
  31. echo"<div style=\"background-color: white; width: 500px; border: 2px black solid; line-height:18px; padding: 5px; font-family: verdana, arial, sans-serif; font-size:11px; margin:auto;\">";
  32. echo "<span style=\"color:blue; font-weight:bold; font-size:13px;\">Takie dane podane przez Ciebie zostały zapisane w naszej bazie. Jakbyś się gdzieś pomylił prosimy o kontakt pod nr: , to naniesiemy wtedy poprawki.<br /><hr></span>";
  33. echo "<span style=\"color:red; font-weight:bold;\">Twoje imię to:</span><span style=\"color:green; font-weight:bold;\"> $imie</span> <br />";
  34. echo "<span style=\"color:red; font-weight:bold;\">Twoje nazwisko to: </span><span style=\"color:green; font-weight:bold;\">$nazwisko</span> <br />";
  35. echo "<span style=\"color:red; font-weight:bold;\">Twoje Instytucja to:</span><span style=\"color:green; font-weight:bold;\"> $instytucja</span> <br />";
  36. echo "<span style=\"color:red; font-weight:bold;\">Twoj mail to: </span><span style=\"color:green; font-weight:bold;\">$mail</span> <br />";
  37. echo "<span style=\"color:red; font-weight:bold;\">Twoj telefon to:</span><span style=\"color:green; font-weight:bold;\"> $telefon</span> <br />";
  38. echo "<span style=\"color:red; font-weight:bold;\">Bierzesz ucział w następującej grupie warsztatowej: </span><span style=\"color:green; font-weight:bold;\">$warsztat</span> <br />";
  39. echo "<span style=\"color:red; font-weight:bold;\">Korzystasz z następujących noclegów:</span><span style=\"color:green; font-weight:bold;\"> $nocleg1 $nocleg2 $nocleg3</span> <br />";
  40. echo "</div>";
  41. echo "</div>";
  42. $fp = fopen('file.csv', 'a');
  43.  
  44. /*foreach ($list as $line) {
  45.   fputcsv($fp, split(',', $line), ',', '&quot;');
  46. }
  47. */
  48.  
  49.  
  50. fputcsv($fp, split(',', $list), ',', '&quot;');
  51.  
  52. //fputcsv($fp, split(',', $line));
  53.  
  54. fwrite($fp, "\r\n");
  55.  
  56. fclose($fp);
  57. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  58. <html>
  59. <head>
  60. <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  61. <meta name="Description" content="Ankieta, mająca na celu zarejestrować zgłoszenie uczestników na warsztaty">
  62. <meta name="Keywords" content=" konferencja, warsztaty, webuzzz">
  63. <title>Ankieta przedkonferencyjna</title>
  64.  
  65. <link rel="stylesheet" href=" style.css" type="text/css">
  66. </head>
  67. <body style="background-color: #C5DDC9">
  68. <br />
  69. <div class="content">
  70. <div class="ankieta">
  71. <center><span style="color:red; font-weight:bold; text-align:center; font-size:28px ">Dziękujemy za wypełnienie zgłoszenia
  72. </span></center>
  73. </div>
  74. </div>
  75. </body>
  76. </html>
  77. ';
  78. ?>

Pilsener
Bo tak działają pliki CSV, masz tak zwany "kwalifikator tekstu", przykładowa linia (CSV rozdzielany przecinkami, kwalifikator tekstu to "):

W bazie:
słowo | dwa słowa | słowo ; słowo | słowo"słowo | "słowo słowo"

W CSV:
słowo;dwa słowa;"słowo ; słowo";"słowo""słowo";"""słowo słowo"""

Warto też zwrócić uwagę na znaki specjalne, polskie znaki i znaki nowej linii
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.