PHP przekazanie danych do pliku.

0

Witam,
Na pewno czytając tytuł tematu, każdy pomyslał ze było to juz 100 razy przerabiane ale moj problem ma troche inną postac. załączam na początek kod
PLik index.php

 <? 
for($i = 0; $i >5;$i--)
 { 
 if (file_exists('news/'.$i.'.html'))

  {require('news/'.$i.'.html');}
  else { }
  }
 ?>

jest to jedynie dodawanie "aktualności" na strone, i na stronie głównej chciałbym aby wczytawało jedynie kawałek tekstu, a z podstrony "aktualności" wczytywało cały tekst, więc pomyślełem ze mozna by z obu podstron przesłać 1 zmienną która by określała czy tekst ma byc wyświetlony cały czy skrojony. niestety nie potrafie wysłac zmiennej z index.php do pliku z pożadanym tekstem.

PLIK 2

 
<?
$tekst='sagasgsa'; 
 $_POST['k'];
if($k = 1;)
{$tekst_uciety = substr($tekst, 0, 20);
echo $tekst_uciety;}
else {echo '$tekst' ;}
?>
0
$_POST['k'];

Co to robi ?
Odpowiedź: absolutnie nic.

if($k = 1;)

Po co średnik ?
A tak jeszcze, to po co do 'k' PRZYPISUJESZ wartość ?

for($i = 0; $i >5;$i--)

Odejmujesz ? Po co ?

Powinno być:
1.

$k = $_POST['k'];
if ($k == 1)
for ($i=0; $i > 5; $i++)

Lepiej weź poczytaj o PHP...

0

for($i = 0; $i >5;$i--) - wszystko nie tak: $i = 0; $i < 5; $i++ albo $i = 5; $i > 0; $i--

if($k = 1;) - nie wstawia się średnika do ifa. porównanie to == lub ===. ($k = 1) zawsze da true. nigdzie nie definiujesz $k.

afair (daawno nic w php nie pisałem) jeśli jednym pliku zdefiniujesz zmienną (nielokalną), to będzie widoczna w pozostałych.

for($i = 0; $i < 5; $i++)
  if(file_exists('news/' . $i . '.html'))
     require('news/'.$i.'.html');
echo "$i<br/>";
0

soryy... Wiem że namieszałem tam przypadkowo, to bezpośrednio przed wrzuceniem tutaj edytowałem .. źle pozmeniałem pewne rzeczy. Dzięki za błyskawiczną odpowiedź, ale czy tej deklaracji zmiennej $i bedzie widzialna w innych plikach? bo mi wyskakuje błąd w tym miejscu.:
Parse error: syntax error, unexpected T_VAR in /var/www/.../index.html on line 125

0

Odpowiedz banalna - ustawiasz zmienne zanim wywolasz plik...

$_POST['k'] = 1;
include("1.php");

Opolski Portal Programistyczny
http://programowanie.opole.pl

0
protechnologia.pl napisał(a)

Odpowiedz banalna - ustawiasz zmienne zanim wywolasz plik...

$_POST['k'] = 1;
include("1.php");

Dokładnie o taką banalną odpowiedź mi chodziło, lecz nadal nie działa oto aktualny kod:

index

<? 
$_POST['k'] = 1;

for($i = 5; $i > 0;$i--)
 { 
 if (file_exists('news/'.$i.'.html'))

  {require('news/'.$i.'.html');}
  else { }
  }
 ?> 

plik 1.

if($k == 1)
{$tekst_uciety = substr($tekst, 0, 20);
echo $tekst_uciety;}
else {echo $tekst }
?>

strona wskazuje błąd na linie "if($k == 1)" Parse error: syntax error, unexpected T_IF in /var/www..../news/1.html on line 14 jak gdyby po prostu nie widziało zmiennej.

0

zamień:
$_POST['k'] = 1;
na:
$k=1;

0

0 zmian.. nadal ten sam błąd.

0

index:

<? 
$_POST['k'] = 1;
 
for($i = 5; $i > 0;$i--)
{ 
   if (file_exists('news/'.$i.'.html')){
      require('news/'.$i.'.html');
   }
}
?>

plik 1.

if($_POST['k'] == 1){
   $tekst_uciety = substr($tekst, 0, 20);
   echo $tekst_uciety;
}
else
{
   echo $tekst
}

Opolski Portal Programistyczny
http://programowanie.opole.pl
?>

0

nadal bład w IF-ie.... nie kojarzy zmiennej.. może źle określiłem o co chodzi.. ta zmienna ma zostać przekazana do pliku który jest określony w index w pętli jako

'news/'.$i.'.html'
czyli np. 1.html

i w tym 1.html zmienna 'K' ma zostać przyjęta jako cos co określa czy wyświetlić część tekstu czy cały tekst.

0

Tak właśnie Cię zrozumiałem. Kwestia w tym, żę ja testowałem u siebie ten kod, co Ci wysłąłem i działa.


Opolski Portal Programistyczny
http://programowanie.opole.pl

0

NO CLUE.

OK. wszystko juz działa. cos w kodzie wyżej było źle. DZIEKI ZA POMOC!

1 użytkowników online, w tym zalogowanych: 0, gości: 1