sau Inregistrare
  
  • 2 Pagini +
  • 1
  • 2
  • Nu poti crea un subiect nou
  • Nu puteti raspunde pe acest topic

Citire fisier linie cu linie Evaluare topic: - - - - -

#1 Utilizator offline   flobeats 

  • Boboc
  • Pip
  • Grup: Full Members
  • Mesaje: 32
  • Inregistrat: 16-April 07

  Scris 30 May 2007 - 01:12 PM

Vreau sa fac o pagina demo in care sa simulez citirea temperaturii din o camera. Eu vreau sa fac aceasta citire din un fisier. In fisierul respectiv scriu datele manual:
18 grade celsius sau doar 18
19
20
18
20 ..etc

As vrea sa afisez aceste date pe rand in pagina la un anumit interval de timp.Prima data 18, dupa 30 sec 19, dupa 30 sec, 20, s.a.m.d.
Am un script care imi da o eroare de sintaxa, si care sper sa am ajute in problema asta:Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\licenta\mysql1.php on line 3


<?php
session_start();
if( (!isset($_SESSION['cnt']) $_SESSION['cnt'] = 0) );
$file = file_get_contents('fisier.txt');
$file = explode("\n",$file);
if( $_SESSION['cnt'] >= count($file) ){
$val = 'S-a citit ultima valoare';
} else {
$val = trim($file[$_SESSION['cnt']);
$_SESSION['cnt']++;
}

Multumesc
0

#2 Utilizator offline   argv 

  • Wanderer
  • PipPipPipPipPipPip
  • Grup: Silver Member
  • Mesaje: 2.714
  • Inregistrat: 27-October 06

Scris 30 May 2007 - 01:32 PM

Incearca

if (!isset($_SESSION['cnt'])) $_SESSION['cnt'] = 0;

Mai sunt si alte greseli de sintaxa, verifica parantezele. Pentru o citire mai usoara aliniaza codul frumos si foloseste-te de spatii; sunt mai usor de identificat erorile daca respecti anumite reguli de codare..

<?php
session_start();
if (!isset($_SESSION['cnt'])) $_SESSION['cnt'] = 0;
$file = file_get_contents('fisier.txt');
$file = explode("\n", $file);
if ($_SESSION['cnt'] >= count($file))
{
	 $val = 'S-a citit ultima valoare';
} 
else 
{
	 $val = trim($file[$_SESSION['cnt']]);
	 $_SESSION['cnt']++;
}

Aceasta postare a fost editata de Argv: 30 May 2007 - 01:47 PM

0

#3 Utilizator offline   flobeats 

  • Boboc
  • Pip
  • Grup: Full Members
  • Mesaje: 32
  • Inregistrat: 16-April 07

Scris 30 May 2007 - 02:43 PM

Vezi postareaArgv, la May 30 2007, 01:32 PM, a spus:

Mai sunt si alte greseli de sintaxa, verifica parantezele. Pentru o citire mai usoara aliniaza codul frumos si foloseste-te de spatii; sunt mai usor de identificat erorile daca respecti anumite reguli de codare..
[

Multumesc, ai dreptate..dar avand in vedere ca am vazut cod php pt prima data in viata mea acum 2 saptamani, trebuie sa ma intelegi :P
0

#4 Utilizator offline   flobeats 

  • Boboc
  • Pip
  • Grup: Full Members
  • Mesaje: 32
  • Inregistrat: 16-April 07

Scris 30 May 2007 - 04:05 PM

<?php
session_start();
if (!isset ( $_SESSION ['cnt'])) $_SESSION ['cnt'] = 0;
$file = file_get_contents ('fisier.txt');
$file = explode ("\n",$file);
if( $_SESSION ['cnt'] >= count ($file) )
{
$val = 'Readed';
}
else
{
$val = trim ($file ($_SESSION['cnt']));
$_SESSION ['cnt']++;
}
Codul meu arata asa acum, dar tot primesc o eroare la linia bolduita: Fatal error: Function name must be a string in C:\xampp\htdocs\licenta\mysql1.php on line 12.
Multumesc. :jester:
0

#5 Utilizator offline   argv 

  • Wanderer
  • PipPipPipPipPipPip
  • Grup: Silver Member
  • Mesaje: 2.714
  • Inregistrat: 27-October 06

Scris 30 May 2007 - 04:36 PM

incearca sa scoti trim-ul ala sa vezi ce afiseaza
0

#6 Utilizator offline   flobeats 

  • Boboc
  • Pip
  • Grup: Full Members
  • Mesaje: 32
  • Inregistrat: 16-April 07

Scris 30 May 2007 - 04:52 PM

<?php
session_start();
if (!isset ( $_SESSION ['cnt'])) $_SESSION ['cnt'] = 0;
$file = file_get_contents ('fisier.txt');
$file = explode ("\n",$file);
if( $_SESSION ['cnt'] >= count ($file) )
{
$val = 'Readed';
}
else
{
$val = $file[$_SESSION['cnt']];
$_SESSION ['cnt']++;
echo $val;
}
Am scos trim din linie, mi a aratat ultimele 3 valori din fisier, apoi nu mi a mai aratat nimic
nu imi da nici o eroare, dar nici nu face nimic.
Nu stiu ce sa i fac.
Pls help.
Mersi.
0

#7 Utilizator offline   argv 

  • Wanderer
  • PipPipPipPipPipPip
  • Grup: Silver Member
  • Mesaje: 2.714
  • Inregistrat: 27-October 06

Scris 30 May 2007 - 05:09 PM

Ar trebui sa modifici asa:

if( $_SESSION ['cnt'] >= count ($file) )
{
$val = 'Readed';
}
else
{
$val = $file[$_SESSION['cnt']];
$_SESSION ['cnt']++;
echo $val;
}

echo $val;
0

#8 Utilizator offline   flobeats 

  • Boboc
  • Pip
  • Grup: Full Members
  • Mesaje: 32
  • Inregistrat: 16-April 07

Scris 30 May 2007 - 06:05 PM

Asta este codul:

<html>

<head>
<meta http-equiv="refresh" content="10" />
</head>

<body>


<?php
session_start();
if (!isset ( $_SESSION ['cnt'])) $_SESSION ['cnt'] = 0;
$file = file_get_contents ('fisier.txt');
$file = explode ("\n",$file);
if( $_SESSION ['cnt'] >= count ($file) )
{
$val = 'Readed';
}
else
{
$val = (trim ($file[$_SESSION['cnt']]));
$_SESSION ['cnt']++;

}
?>

Temperatura: <?php echo $val; ?>

</body>

</html>


Daca il rulez pe server imi afiseaza prima valoare din fisier.txt "Temperatura =20" si eroarea de mai jos:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\licenta\zzz.php:10) in C:\xampp\htdocs\licenta\zzz.php on line 11
Temperatura: 20

Daca iau doar codul php si il pun in o pag php vad ca functioneaza.
Ai idee care ar fi problema?
Multumesc.
0

#9 Utilizator offline   argv 

  • Wanderer
  • PipPipPipPipPipPip
  • Grup: Silver Member
  • Mesaje: 2.714
  • Inregistrat: 27-October 06

Scris 30 May 2007 - 06:11 PM

N-am lucrat de mult cu php si web, dar incearca sa modifici sa faci SessionStart inainte de <head> sau chiar inainte de <html>... Incearca ambele variante

<html>

<?php
session_start();
?>

<head>
<meta http-equiv="refresh" content="10" />
</head>

<body>


<?php
if (!isset ( $_SESSION ['cnt'])) $_SESSION ['cnt'] = 0;
$file = file_get_contents ('fisier.txt');
$file = explode ("\n",$file);
if( $_SESSION ['cnt'] >= count ($file) )
{
$val = 'Readed';
}
else
{
$val = (trim ($file[$_SESSION['cnt']]));
$_SESSION ['cnt']++;

}
?>

Temperatura: <?php echo $val; ?>

</body>

</html>


Pentru refresh poti folosi si functia header. De ex:

header('Refresh: 3; url=index.html');

Aceasta postare a fost editata de Argv: 30 May 2007 - 06:14 PM

0

#10 Utilizator offline   flobeats 

  • Boboc
  • Pip
  • Grup: Full Members
  • Mesaje: 32
  • Inregistrat: 16-April 07

Scris 30 May 2007 - 06:36 PM

Identic..aceeasi eroare.
Mai intreb, multumesc pt. timpul acordat.

Aceasta postare a fost editata de flobeats: 30 May 2007 - 06:36 PM

0

Reclama



Impartaseste acest subiect:


  • 2 Pagini +
  • 1
  • 2
  • Nu poti crea un subiect nou
  • Nu puteti raspunde pe acest topic


Subiecte similare Collapse

  Topic Deschis de Replici Vizualizari
Replici noi Help
Php
aaa1234  2 3.621
Replici noi Informatii c++ «Nsl»  17 7.390
Replici noi Slide poze pentru un site
Ce program sa folosesc?
anesti  1 1.930
Replici noi citirea sirurilor in c++ jokerbla  8 6.589
Replici noi linia de comanda in C AndreiMetal  1 1.378