Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Zapis liczby do pliku
w_mario
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.01.2007

Ostrzeżenie: (0%)
-----


Hejka,

Szukalem wszedzie, nigdzie nie znalazlem. Potrzebuje zapisac do pliku tekst (string) i liczbe (integer). Uzywam tego kodu:
  1. //przyporzadkowanie pliku do streamu
  2. $str = fopen("orders.txt","r+");
  3. //stworzenie linijki do zapisania - $totalCost to jest integer, reszta to stringi z formularza
  4. $stringToSave = $_POST['firstName']." ".$_POST['lastName']." ".$_POST['address']." ".$_POST['email']." ".$totalCost;
  5.  
  6. //zapis do pliku
  7. if (fwrite($str, $stringToSave) == FALSE)
  8. echo "There was an error while writing to the file. Please contact us.";
  9. else
  10. echo "Detail has been succesfully saved to file";


a wynik w pliku jest taki (wraz ze spacjami na poczatku):
Kod
    1500name Address email@domain.ups 1500


gdzie dane z formularza to po kolei: Name, Surname, Address, email@domain.ups a totalCost sie rowna 1500

Czy moze mi ktos wskazac co robie zle? Wyglada na to, ze skrypt najpierw poprawnie zapisuje, po czym dodaje dodatkowy zapis samego integera (totalCost) poprzedzonego spacjami. Jak uniknac dodatkowego zapisu do pliku? Albo po prostu, jak to zapisac do pliku? Probowalem tez zapisywac sam totalCost z w+ - wtedy zapisuje go dwa razy.

Ten post edytował w_mario 21.11.2009, 19:47:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
MateuszS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

Ostrzeżenie: (0%)
-----


  1. $name='Mateusz'; // $_POST['name'];
  2. $surname='Scirka'; // $_POST['surname'];
  3. $address='adres 52'; // $_POST['address'];
  4. $totalCost=1500;
  5. $open=fopen('orders.txt','a+');
  6.  
  7. $string=$name.' '.$surname.' '.$address.' '.$totalCost. "\r\n"; // \n dla serwera na linuxie
  8. $save=fputs($open,$string);
  9.  
  10. if($save==true) {
  11. echo 'Saved';
  12. } else {
  13. echo 'Error';
  14. }
  15.  
  16. fclose($open);


Mi tak dziala

Ten post edytował MateuszScirka 21.11.2009, 20:12:03
Go to the top of the page
+Quote Post
w_mario
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.01.2007

Ostrzeżenie: (0%)
-----


Dzieki za odpowiedz.
U mnie wynikiem twojego kodu jest:
Kod
Mateusz Scirka adres 52 1500
Mateusz Scirka adres 52 1500


Nie wiem dlaczego mi zapisuje podwojnie do pliku?
A i to raczej nie jest wina mojej instalacji, bo w domu php siedzi na windzie, ale testowalem tez na unixie i bylo to samo. Jakies pomysly?

Problem rozwiazany, dzieki za pomoc. Twoj kod oczywiscie dziala poprawnie... wklejony do nowego pliku php (IMG:style_emoticons/default/smile.gif)

Problem byl z moim starym plikiem, w ktorym byl slideshow zrobiony w JavaScript, a wywolywalem go dla tego elementu:
  1. <img id="show" width="400" height="170" src="" alt=""></img>

Z racji, ze dynamicznie zmienialem mu zawartosc (przy ladowaniu strony) zostawilem atrybuty src i alt puste. I to bylo powodem podwojnego zapisu do pliku. Moze sie komus przyda. Dzieki.

Ten post edytował w_mario 21.11.2009, 21:00:11
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 18:49