Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP] Kilka zmiennych w "fwrite"
Turson
post
Post #1





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Otóż kiedy zrobil skrypt na otwieranie, zapisywanie, wpisywaniu do pliku tekstu to jest blad przy wprowadzaniu kilku zmiennych do zapisania.
Moze mi ktos napisac prawidlowego skrypta, aby mozna bylo w fwrite umiescic kilka zmiennych? Bardzo proszę
Go to the top of the page
+Quote Post
Foxx
post
Post #2





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


A jaką proponujesz cenę?
Za darmo jest pomoc, np. manual: http://pl.php.net/manual/pl/function.fwrite.php
albo rada: scal łańcuchy do jednej zmiennej przed zapisaniem lub odpal zapisywanie w pętli.
Go to the top of the page
+Quote Post
Istalacar
post
Post #3





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

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


  1. <?php
  2. $zmienna = $zmienna1.$zmienna2.$zmienna3;
  3. fwrite($fp, $zmienna);
  4. ?>

To w takim mocnym skrócie, więcej będzie można napisać jak trochę czytelniej napiszesz w czym problem, podasz jaki błąd wyskakuje i pokażesz kawałek kodu który sprawia problem.
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Mam tak:
  1. <?php
  2.  $nazwapliku = 'indeks.php';
  3.  $title = $_POST['title'];    
  4.  $text = $_POST['text'];
  5.    
  6.  // Najpierw przekonaj się czy plik istnieje i jest zapisywalny.
  7.  if (is_writable($nazwapliku)) {
  8.    
  9.      // W naszym przykładzie otwieramy $nazwapliku w trybie dopisywania.
  10.      // Wskaźnik pliku jest ustawiony na końcu pliku gdzie znajdzie
  11.      // się zawartość $trochetresci po wykonaniu fwrite().
  12.      if (!$uchwyt = fopen($nazwapliku, 'a')) {
  13.           echo "Nie mogę otworzyć pliku ($nazwapliku)";
  14.           exit;
  15.      }
  16.    
  17.      // Zapis $text do naszego otwartego pliku.
  18.      if (fwrite($uchwyt, $text) === FALSE) {
  19.          echo "Nie mogę zapisać do pliku ($nazwapliku)";
  20.          exit;
  21.      }
  22.    
  23.      echo "Sukces, zapisano tekst do pliku ($nazwapliku)";
  24.    
  25.      fclose($uchwyt);
  26.    
  27.  } else {
  28.      echo "Plik $nazwapliku nie jest zapisywalny";
  29.  }
  30.  ?>

Zamiast $text, np. "$text <br>$text2..."
I jesli tak bedzie, to blad mi wyskakuje w linijce 19

Ten post edytował TursoN 24.02.2009, 19:33:14
Go to the top of the page
+Quote Post
Foxx
post
Post #5





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


Czytałeś post Istalacara?
  1. <?php
  2. $text = $_POST['text']." tak się łączy stringi oraz ".$zmienne;
  3. ?>


A Twój przykład:
  1. <?php
  2. $text = $text.'<br>'.$text2;
  3. $text .= '<br>'.$text2; // krócej
  4. ?>


Ten post edytował Foxx 24.02.2009, 19:36:28
Go to the top of the page
+Quote Post
Turson
post
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Sory, ale nie za bardzo rozumiem. Ja zaczynam dopiero przygodę z PHP.
Możesz mi to przerobić na prawidłowy skrypt? Proszę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Foxx
post
Post #7





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


Przecież te przykłady wystarczy wstawić w Twoim skrypcie.
Przeczytaj np. to:
http://wortal.php.pl/wortal/artykuly/php/p...laczenie_ciagow
i wyciągnij wnioski. Skoro zaczynasz przygodę to niech to będzie przygoda a nie nudne proszenie o gotowe rozwiązania (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

A jeżeli i to Ci nic nie powie to czas chyba zająć się podstawami.
Go to the top of the page
+Quote Post
maxil
post
Post #8





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


Kod
$zmienna1 = $_POST['zmienna1'];
$zmienna2 = $_POST['zmienna2'];
$zmienna3 = $_POST['zmienna3'];
if (@!$file = fopen('adres pliku', 'w'))
{
echo 'Wpisz tekst jaki będzie wyświetlany jak zapisywanie się nie uda';
}
fwrite($file, '<?php'."\n".
'$zmienna1=\''.$zmienna1."'; \n".
'$zmienna2=\''.$zmienna2."'; \n".
'$zmienna3=\''.$zmienna3."'; \n".
'?>');
echo 'Wpisz tekst jaki będzie wyświetlany gdy zapisywanie przebiegnie pomyślnie';


Proszę bardzo jak byś miał jakieś problemy to pisz

Ten post edytował maxil 24.02.2009, 20:45:42
Go to the top of the page
+Quote Post
Turson
post
Post #9





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Udało mi się (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Jaki jest kod na sprawdzanie, czy uzytkownik jest zalogowany?
Go to the top of the page
+Quote Post
Foxx
post
Post #10





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


W Symfony to będzie jakoś tak:
  1. <?php
  2. $this->getUser()->isAuthenticated()
  3. ?>

Bo chodzi Ci o Symfony, tak?
Go to the top of the page
+Quote Post
Turson
post
Post #11





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


No chyba.
Napisałem skrypt rejestrowania się i zapisuje mi konta do folderu 'accounts'.
No dobra, ale nie za bardzo wiem jak logowanie teraz zrobić, żeby mi wczytywało.
Jakąś podpowiedź proszę (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif)


Pozdrawiam, (IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif)
Go to the top of the page
+Quote Post
Foxx
post
Post #12





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


Cytat
No chyba.

No chyba właśnie nie. To był taki sposób powiedzenia Ci, że podałeś zbyt mało informacji.
Cytat
Napisałem skrypt rejestrowania się i zapisuje mi konta do folderu 'accounts'.
No dobra, ale nie za bardzo wiem jak logowanie teraz zrobić, żeby mi wczytywało.

Zrób formularz logowania, po wysłaniu go sprawdzaj czy w pliku accounts znajduje się dany login i hasło. Jeżeli tak to zaloguj użytkownika. Użyj sesji. Wszystko znajdziesz za pomocą wyszukiwarki na forum.
Go to the top of the page
+Quote Post
maxil
post
Post #13





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


proponuje użyć też bazy sql.
Wszystko tam masz w jednym miejscu i nie zaśmiecasz sobie serwa lub kompa tysiącami plików o ile masz dużo użytkowników...
Go to the top of the page
+Quote Post
Turson
post
Post #14





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Cytat
Zrób formularz logowania, po wysłaniu go sprawdzaj czy w pliku accounts znajduje się dany login i hasło. Jeżeli tak to zaloguj użytkownika. Użyj sesji. Wszystko znajdziesz za pomocą wyszukiwarki na forum.

A jak zrobić żeby sprawdzało, czy istnieje plik: $nick,$nr,$pass ?
  1. <?php
  2. ?>

To że istnieje, a jesli nie ostnieje?

Ten post edytował TursoN 26.02.2009, 15:53:49
Go to the top of the page
+Quote Post
Foxx
post
Post #15





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


  1. <?php
  2. if(!file_exists('plik.txt')){
  3.  echo 'plik nie istnieje';
  4. } else {
  5.  echo 'plik istnieje';
  6. }
  7. ?>


Cytat
A jak zrobić żeby sprawdzało, czy istnieje plik: $nick,$nr,$pass ?

Zależy jaką masz strukturę danych, czy hasła i loginy są przechowywane w tych plikach, jak się nazywają pliki, podajesz zbyt mało szczegółów.
Do operacji na plikach możesz potrzebować funkcji takich jak preg_match" title="Zobacz w manualu PHP" target="_manual, file_get_contents" title="Zobacz w manualu PHP" target="_manual, może też explode" title="Zobacz w manualu PHP" target="_manual.
Go to the top of the page
+Quote Post
Turson
post
Post #16





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


WIęcej szczegółów (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
  1. <?
  2.  
  3. function newacc()
  4. {
  5.    require('config.php');
  6.    $nick = $_POST['nick'];
  7.    $nr = $_POST['nr'];
  8.    $pass = $_POST['pass'];
  9.    $nazwa = $_POST['nazwa'];
  10.  
  11.    ($pass != $nick) or die ('Hasło jest takie same jak nick!');
  12.  
  13.    preg_match("/^[a-zA-Z0-9]+$/", $pass) or die ('Hasło zawiera niedozwolone znaki!');
  14.  
  15.    $account_file = "$diraccount/$nick,$nazwa,$pass.xml";
  16.  
  17.    !file_exists($account_file) or die ('Taki nick juz istnieje!');
  18.    !file_exists($account_file) or die ("Takie konto już istnieje!");
  19.  
  20.    $file = fopen($account_file, 'w');
  21.    fwrite($file,
  22. '<?xml version="1.0" encoding="iso-8859-2"?>
  23. <account pass="' . $pass . '>
  24. <nr="' . $nr . '>
  25. <characters>
  26.    <nick="' . $nick . '"/>
  27. </characters>
  28. </account>');
  29.    fclose($file);
  30.  
  31.  
  32.    print "Dziękujemy za rejestrację!<br><u>Twój nick:</u> <b>$nick</b><br><u>Twoje hasło:</u> <b>$pass</b><br><u>Twój nr w dzienniku:</u> <b>$nr</b><br><u>Twoje nazwisko:</u> <b>$nazwa</b><br><br><i>Jeśli konto będzie nieprawidłowe - zostanie usunięte. Turson</i>";
  33. }
  34.  
  35. newacc();
  36. ?>
Go to the top of the page
+Quote Post
Foxx
post
Post #17





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


No ale mam to pisać za Ciebie? To co wklejasz to jest funkcja która przeprowadza rejestrację - powiedziałeś, że to gotowe. Zabierz się za logowanie. Podałem Ci przydatne funkcje. Nie rozumiem w czym jest problem.
Go to the top of the page
+Quote Post
Turson
post
Post #18





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. <?
  2.  
  3. function newacc()
  4. {
  5.  
  6.    $nick = $_POST['nick'];
  7.    $pass = $_POST['pass'];
  8.    
  9.    if(!file_exists('$nick,$pass.xml')){
  10. echo 'Zły nick lub hasło. <br>Jesli nie masz konta, zarejestruj się <a href="?info=zarejestruj"><b>tutaj</b></a>';
  11. } else {
  12. echo 'Dziękujemy za zalogowanie się. Teraz masz dostęp do wszystkich zakładek.';
  13. }
  14.  
  15. newacc();
  16. ?>

To skrypt logowania, a wyskakuje mi taki oto błąd:
Kod
Parse error: syntax error, unexpected $end in E:\Program Files\WebServ 2.0\httpd\podstrona\zaloguj.php on line 18
Go to the top of the page
+Quote Post
mike
post
Post #19





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Na każdy otwierający nawias musi przypadać nawias zamykający.
Proste, nie? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
Spawnm
post
Post #20





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




'$nick,$pass.xml'
jak mają być sczytane zmienne stosuj " zamiast ' .
Go to the top of the page
+Quote Post
mike
post
Post #21





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Twój warunek if() nidy nie będzie spełniony (no chyba że masz plik $user.$pass.xml).
Zapraszam do poczytania podstaw: Strings. Poznasz różnicę pomiędzy ' a " (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
Turson
post
Post #22





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Tak, mam plik: $nick,$pass.xml
To coś zmienia?
Go to the top of the page
+Quote Post
Spawnm
post
Post #23





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Cytat(TursoN @ 26.02.2009, 17:34:19 ) *
Tak, mam plik: $nick,$pass.xml
To coś zmienia?


w takim razie skrypt jest bez sensu (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
po co dane usera skoro plik się nie nazywa jak te dane tylko najzwyczajniej '$nick,$pass.xml' ...

to co dałeś to cały kod ?
Go to the top of the page
+Quote Post
Foxx
post
Post #24





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


Ale pod tymi zmiennymi się kryją jakieś wartości, plik się nie nazywa $nick,$pass.xml tylko waldek,123.xml.
Przeczytaj link od mike'a i zwróć uwagę jak to jest w Twoim kodzie. A dokładnie tu:
  1. <?php
  2. if(!file_exists('$nick,$pass.xml')){
  3. ?>


Ten post edytował Foxx 26.02.2009, 17:42:27
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 15.09.2025 - 22:05