Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pomocy!
Mac
post 9.04.2002, 12:36:45
Post #1





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

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


Mam pytanie czy da się zrobić coś takiego:
1.Zeby z pliku np. data.dat skrypt php odczytywal jedna linijke i zpisywal ja do jednej zmiennej (jako tekst) potem zeby odczytywal nastepna linijke i zapisywal do nastepnej zmiennej?
2.I czy daloby sie zrobic cos takiego zeby skrypt dziala tak jak ten powyzej tylko zeby czytal co dwie linjki?

Z gory dziekuje za pomoc (dla was moze to latwy skrypt (ale ja jestem poczatkujacy)) smile.gif
Go to the top of the page
+Quote Post
castor
post 9.04.2002, 13:19:02
Post #2





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

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


1.
Kod
$tab=file(data.dat);

for($i=0;$i<count($tab);$i++){

    $nr=1+$i;

    $zmienna{$nr}=$tab[$i];

}

w zmiennych $zmienna1, $zmienna2, $zmienna3... itd. masz linijki pliku ale to jest bez sensu mozesz pobrac plik w tablice:
Kod
$tab=file(data.dat);


i kazda linie masz pod $tab[0], $tab[1]... itd., wiec po co przypisywac jeszcze to do osobnych zmiennych.

2. a tutaj to juz sam pomys jesli masz tablice w ktorej masz plik gdzie kazda linia to
$tab[0] = pierwsza linia;
$tab[1] = druga linia;
$tab[2] = trzecia inia;
itd.

to juz chyba nie problem pobrac co druga :wink:


--------------------
pozdrawiam
CASTOR
Go to the top of the page
+Quote Post
Mac
post 9.04.2002, 14:57:38
Post #3





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

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


Wielkie dzięki!
Go to the top of the page
+Quote Post
Mac
post 9.04.2002, 15:29:57
Post #4





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

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


Mam taki skrypt na podstawie tego co poradził castor i tego co sam wymyśliłem:
<?
$host=gethostbyaddr($REMOTE_ADDR);
$tab=file(data.dat);
if ($tab[0]==$host) {
header(location:ban.php);
}
elseif ($tab[1]==$host) {
header(location:ban.php);
}
elseif ($tab[2]==$host) {
header(location:ban.php);
}
?>

Ma on czytać lnijki trzy linijki i porównywać z hostem użytkownika który wszedł na stronę.
A jest taki błąd:
Parse error: parse error in /var/www/html/portal5c/glowna.php on line 103
Co to znaczy? Dlaczego to (skrypt) nie działa?
Z góry dzięki! smile.gif
Go to the top of the page
+Quote Post
castor
post 9.04.2002, 15:36:32
Post #5





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

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


Cytat
Parse error: parse error in /var/www/html/portal5c/glowna.php on line 103
Co to znaczy? smile.gif


to oznacza ze w pliku glowna.php w lini nr 103 masz jakis blad.
zle napisales nazwe zmiennej lub zapomniales ; lub " sprawdz linie 102 bo jesli zapomniales ; w lini 102 to wyskoczy komunikat
Kod
Parse error: parse error in /var/www/html/portal5c/glowna.php on line 103


przejzyj ten skrypt bo to co tu napisales nie wyglada na 103 linie :wink:


--------------------
pozdrawiam
CASTOR
Go to the top of the page
+Quote Post
castor
post 9.04.2002, 15:39:58
Post #6





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

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


Cytat
<?
$host=gethostbyaddr($REMOTE_ADDR);
$tab=file(data.dat);
if ($tab[0]==$host) {
header(location:ban.php);
}
elseif ($tab[1]==$host) {
header(location:ban.php);
}
elseif ($tab[2]==$host) {
header(location:ban.php);
}
?>
smile.gif


Hej to ma byc :
Kod
header("Location:ban.php");    


pamietaj o :!: cudzyslowiach :!: i Location powinno byc z duzej litery.
moze z malej tez dziala ale powinno byc z duzej biggrin.gif

i przed porownaniem usun znak ENTER z lini chop()

ja to bym to napisal tak

Kod
<?

$host=gethostbyaddr($REMOTE_ADDR);

$ile_lini=3;

$tab=file(data.dat);

for($i=0;$i<$ile_lini;$i++){

  $tab[$i]=chop($tab[$i]);

  if($tab[$i]==$host){

    header("Location:ban.php");

  }

}



?>


--------------------
pozdrawiam
CASTOR
Go to the top of the page
+Quote Post
Mac
post 9.04.2002, 18:23:41
Post #7





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

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


Wielkie dzięki!
Go to the top of the page
+Quote Post
Mac
post 9.04.2002, 18:34:09
Post #8





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

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


Kurde kolejny błąd:
Warning: Cannot add header information - headers already sent by (output started at /var/www/html/portal5c/glowna.php:8) in /var/www/html/portal5c/glowna.php on line 106
Nie wiem czy to może być związane z tym, że przed tym skryptem zapisuje do pliku (plik przed wykonaniem header zostaje zamknietę)?
Z góry dzięki!
Go to the top of the page
+Quote Post
castor
post 9.04.2002, 19:07:33
Post #9





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

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


Cytat
Kurde kolejny błąd:
Warning: Cannot add header information - headers already sent by (output started at /var/www/html/portal5c/glowna.php:8) in /var/www/html/portal5c/glowna.php on line 106


z tego wynika ze juz naglowek zostal wyslany!
albo przez ciebie lub przez serwer czyli musiales zaczac generowac dokument html tym ze przeslales juz znaczniki<head></head>

Cytat
Nie wiem czy to może być związane z tym, że przed tym skryptem zapisuje do pliku (plik przed wykonaniem header zostaje zamknietę)?


tu cie nierozumiem smile.gif


--------------------
pozdrawiam
CASTOR
Go to the top of the page
+Quote Post
Mac
post 10.04.2002, 08:54:27
Post #10





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

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


Czyli muszę skrypt wstawić pw head albo caly html wywołać przez php?
np. echo ("<body>"); itd.?
Dzięki, bo ja dopiero zaczynam w php robić strony! smile.gif
Go to the top of the page
+Quote Post
Mac
post 10.04.2002, 09:03:07
Post #11





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

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


Albo przez np. include("ban_skrypt") na stronę wstawić?
Może być chyba tak nie?
Dzięki!
Go to the top of the page
+Quote Post
castor
post 10.04.2002, 10:23:43
Post #12





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

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


moze byc!

ale jak juz wspomnialem musisz wstawic to przed wyslanie naglowka.

Nie musisz generowac html przez php jesli tego nie potrzebujesz.

np.:
Kod
<?php

tu jest twoj skrypt lub to include() :D z maglowkiem

?>

<html>

<head>

</head>

<body>  a tu kod html    itd....



<?php

tu moze znowu byc kod php

?>



a tu dalej html



</body>

</html>


a tu masz porade z http://php.faq.pl
do

Cannot add header information - headers already sent by...

Cytat
Oznacza to że przed nagłówkiem wysłano już jakieś dane (np pustą linię przed "<?php" lub coś za pomocą echo, print). Usuń przyczynę błędu lub w php.ini ustaw output_buffering = On


--------------------
pozdrawiam
CASTOR
Go to the top of the page
+Quote Post
Mac
post 10.04.2002, 13:47:27
Post #13





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

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


Już sobie poradziłem "ulepszając" trochę twój skrypt (tzn. dodałem elseif i jeżeli host jest inny niż którakolwieki z lini to włącza stronę dla tych którzy nie mają bana, a jeżeli host zgadza się z banem to włącza stronę dal zbanowanych smile.gif)
Dzięki z pomoc!
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 18:29