PHP chyba

Programovacie jazyky, rady, poradňa...
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

PHP chyba

Príspevok od používateľa WebScript »

Chcel by som sa vás opýtať že v čom je chyba, píše mi to Parse error: syntax error, unexpected T_VARIABLE in /home/www/webscript.biz/wsb/add_clanok.php on line 14
Tu je skript:

Kód: Vybrať všetko

<?php
$filename = $menosuboru;
$content =  $obsahsuboru;
$strlength = strlen($content);
$create = fopen($filename, "w");
$write = fwrite($create, $content, $strlength);
$close = fclose($create);
echo("Článok vytvorený, adresa článku je $menosuboru.php .");
?>
<?php 
$f = @fopen("menu.dat", "a"); 
$old = @fread($f, @filesize("menu.dat")); 
@fclose($f); 
$new = "<a href="zobraz.php?clanok=$menosuboru">$nazov</a>"<br>\n"; 
$old = $new.$old; 
$f = fopen("menu.dat","a"); 
fputs($f,$old); 
fclose($f); 
?>
Ďakujem
Ovecka
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1227
Registrovaný: 25 aug 2005, 0:57

Príspevok od používateľa Ovecka »

nezabudas troska eskejpovat ?

Kód: Vybrať všetko

<?php
$filename = $menosuboru;
$content =  $obsahsuboru;
$strlength = strlen($content);
$create = fopen($filename, "w");
$write = fwrite($create, $content, $strlength);
$close = fclose($create);
echo"Článok vytvorený, adresa článku je $menosuboru.php .";
$f = @fopen("menu.dat", "a");
$old = @fread($f, @filesize("menu.dat"));
@fclose($f);
$new = "<a href=\"zobraz.php?clanok=$menosuboru\">$nazov</a><br>\n";
$old = $new.$old;
$f = fopen("menu.dat","a");
fputs($f,$old);
fclose($f);
?>
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

parse error je syntaktická chyba. Keď ti aj píše číslo riadku, neviem ako sa môže stať že nedokážeš zistiť čo za chybu tam máš. Naučiť sa syntax je predsa základ pri programovaní
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

Diki, funguje to, ale mám problém, píše mi v tomto kóde parse error na riadku 2
Tu je ten súbor:

Kód: Vybrať všetko

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
<title>Články</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<link rel="stylesheet" type="text/css" href="assets/css/common.css" />
</head>
<body>
<div id="wrapper">
  <div id="header"> <a href="$adresawebu"><img src="$adresawebu/logo.gif" alt="" width="203" height="102" class="logo" /></a> </div>
  <ul id="nav">
    <? include "navigacia.inc"; ?>
  </ul>
  <div id="content" class="clearfix">
    <div id="col_1">
      <h2>Menu</h2>
      <ul id="subnav">
        <? include "menu.dat"; ?>
      </ul>
    </div>
    <div id="col_2">
    <? 
    $page = (isset($_GET['clanok']) && !empty($_GET['clanok'])) ? $_GET['clanok'] : "uvod.inc"; 
    @include("$page"); ?>
    </div>
  </div>
  <div id="footer"><small>Táto stránka beží na systéme <a href="http://webscript.biz/wsb" target="_blank">WSB CMS</a>.<br />
    Design stránky <a href="http://cssweblayouts.com/" target="_blank">CSS Web Layouts</a></a></small></div>
</div>
</body>
</html>
Už mi to večer nemyslí, aká môže byť chyba na riadku 2?
Ďakujem
Ovecka
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1227
Registrovaný: 25 aug 2005, 0:57

Príspevok od používateľa Ovecka »

ja tam chybu nevidim a ani tu http://webscript.biz/wsb/
Gepid
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1006
Registrovaný: 15 júl 2008, 16:54
Bydlisko: Trnava
Kontaktovať používateľa:

Príspevok od používateľa Gepid »

Skús takto:

Kód: Vybrať všetko

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
<title>Články</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<link rel="stylesheet" type="text/css" href="assets/css/common.css" />
</head>
<body>
<div id="wrapper">
  <div id="header"> <a href="<?php $adresawebu?>"><img src="<?php $adresawebu?>/logo.gif" alt="" width="203" height="102" class="logo" /></a> </div>
  <ul id="nav">
    <?php include "navigacia.inc"; ?>
  </ul>
  <div id="content" class="clearfix">
    <div id="col_1">
      <h2>Menu</h2>
      <ul id="subnav">
        <?php include "menu.dat"; ?>
      </ul>
    </div>
    <div id="col_2">
    <?php
    $page = (isset($_GET['clanok']) && !empty($_GET['clanok'])) ? $_GET['clanok'] : "uvod.inc";
    @include("$page"); ?>
    </div>
  </div>
  <div id="footer"><small>Táto stránka beží na systéme <a href="http://webscript.biz/wsb" target="_blank">WSB CMS</a>.<br />
    Design stránky <a href="http://cssweblayouts.com/" target="_blank">CSS Web Layouts</a></a></small></div>
</div>
</body>
</html>
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

Ďakujem, funguje to, zasa potrebujem pomoc, píše mit o chybu Parse error: syntax error, unexpected T_LNUMBER in /home/www/webscript.biz/www/wsb/download/upload.php on line 44
Tu je ten skript:

Kód: Vybrať všetko

<?php
session_start();
if ($_SESSION['authuser'] != 1) {
	echo "<p>Nemáte oprávnenie pre vstup do AdminPanelu</p>\n";
	exit();
	}
?>
<? include "system/adminheader.php"; ?>
<div id="wrapper">
  <div id="header"> <a href="/index.php"><img src="/logo.gif" alt="" width="203" height="102" class="logo" /></a> </div>
  <ul id="nav">
    <? include "system/adminnav.php"; ?>
  </ul>
  <div id="content" class="clearfix">
    <div id="col_1">
      <h2>Menu</h2>
      <ul id="subnav">
        <? include "system/adminmenu.php"; ?>
      </ul>
    </div>
    <div id="col_2">
    <?php
  $dovolene = array(".jpg",".png",".gif",".JPG",".PNG",".GIF",".ppt",".pps",".doc",".docx",".rtf",".zip",".rar",".tar.gz",".avi",".mpg",".3gp",".mp3",".mp4",".mp5",".ogg",".m3u");
 if (isset($_POST["odoslany"])) {
 if (is_uploaded_file($_FILES["subor"]["tmp_name"])) {
 $name = $_FILES["subor"]["name"];
 if(in_array(strrchr($name, '.'),$dovolene)){
 $name = date("dmYHis") . strrchr($name, '.');
 $copy = move_uploaded_file($_FILES["subor"]["tmp_name"], "download/". $name);
 } else $copy = false;
 if ($copy) {
 echo "<p>Súbor bol <b>úspesne</b> nahratý.</p>";
 echo "<p><strong>Meno súboru: $name.wsb</strong></p>";
 echo "<p><strong>Odkaz na stiahnutie bol pridaný do download systému.</strong></p>";
} else {
 echo "Upload súboru sa nepodaril, skús to znovu.";
 }
 }
 }
$f = @fopen("download.dat", "a"); 
$old = @fread($f, @filesize("download.dat")); 
@fclose($f); 
$new = "
<table border="1" width="34%" height="84">
	<tr>
		<td height="26">Názov súboru: $nazovsuboru</td>
	</tr>
	<tr>
		<td>Popis: $popissuboru</td>
	</tr>
</table>
<p><a href="download/download.php?subor=$name">Download</a></p>
<p>&nbsp;</p>"; 
$old = $new.$old; 
$f = fopen("download.dat","a"); 
fputs($f,$old); 
fclose($f);
?>
    </div>
  </div>
  <div id="footer"><small>Táto stránka beží na systéme <a href="http://webscript.biz/wsb" target="_blank">WSB CMS</a>.<br />
    Design stránky <a href="http://cssweblayouts.com/" target="_blank">CSS Web Layouts</a></a></small></div>
</div>
</body>
</html>
Skúšal som kuknúť čo tá chyba znamená, ale bohužial som to neopravil.
Vedel by si mi to opraviť?
Ďakujem
Karma +
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Zase tam máš úvodzovky v úvodzovkách (možno by pomohlo, keby si si konečne prečítal ako sa to robí a pozri si aj Heredoc syntax).
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

Dik moc, zase som sa niečo nové naučil, už mi to ide.
Karma +
Ďakujem

//autoeditácia príspevku ( 01 Jan 2010, 17:09 )
Chcel by som vás poprosiť, že píše mi to chybu ešte jednu chybu v inom súbore :Parse error: syntax error, unexpected T_VARIABLE in /home/www/webscript.biz/wsb/add_menu.php on line 26
Nemohli by ste mi to niekdo opraviť?
Odmena je Karma +
Tu je ten kód:

Kód: Vybrať všetko

<?php
session_start();
if ($_SESSION['authuser'] != 1) {
	echo "<p>Nemáte oprávnenie pre vstup do AdminPanelu</p>\n";
	exit();
	}
?>
<? include "system/adminheader.php"; ?>
<div id="wrapper">
  <div id="header"> <a href="$adresawebu"><img src="$adresawebu/logo.gif" alt="" width="203" height="102" class="logo" /></a> </div>
  <ul id="nav">
    <? include "system/adminnav.php"; ?>
  </ul>
  <div id="content" class="clearfix">
    <div id="col_1">
      <h2>Menu</h2>
      <ul id="subnav">
        <? include "system/adminmenu.php"; ?>
      </ul>
    </div>
    <div id="col_2">
    <?php 
$f = @fopen("menu.dat", "a"); 
$old = @fread($f, @filesize("menu.dat")); 
@fclose($f); 
$new = "<a href="$adresa">$nazov</a>"<br>\n"; 
$old = $new.$old; 
$f = fopen("menu.dat","a"); 
fputs($f,$old); 
fclose($f); 
?>
    </div>
  </div>
  <div id="footer"><small>Táto stránka beží na systéme <a href="http://webscript.biz/wsb" target="_blank">WSB CMS</a>.<br />
    Design stránky <a href="http://cssweblayouts.com/" target="_blank">CSS Web Layouts</a></a></small></div>
</div>
</body>
</html>
Ďakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

chrono napísal:Zase tam máš úvodzovky v úvodzovkách (možno by pomohlo, keby si si konečne prečítal ako sa to robí a pozri si aj Heredoc syntax).
audiotrack napísal:parse error je syntaktická chyba. Keď ti aj píše číslo riadku, neviem ako sa môže stať že nedokážeš zistiť čo za chybu tam máš. Naučiť sa syntax je predsa základ pri programovaní
(občas mám pocit, že ľudia ani nečítajú iných príspevky len čakajú kým im niekto hodí hotové riešenie)
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

Ja som to skúšal, Heredoc mi nepomohol, mám to takto:

Kód: Vybrať všetko

<?php
session_start();
if ($_SESSION['authuser'] != 1) {
	echo "<p>Nemáte oprávnenie pre vstup do AdminPanelu</p>\n";
	exit();
	}
?>
<? include "system/adminheader.php"; ?>
<div id="wrapper">
  <div id="header"> <a href="$adresawebu"><img src="$adresawebu/logo.gif" alt="" width="203" height="102" class="logo" /></a> </div>
  <ul id="nav">
    <? include "system/adminnav.php"; ?>
  </ul>
  <div id="content" class="clearfix">
    <div id="col_1">
      <h2>Menu</h2>
      <ul id="subnav">
        <? include "system/adminmenu.php"; ?>
      </ul>
    </div>
    <div id="col_2">
    <?php 
$f = @fopen("menu.dat", "a"); 
$old = @fread($f, @filesize("menu.dat")); 
@fclose($f); 
$new = <<<EOT
<a href=\"$adresa\">$nazov</a><br>\n
EOT; 
$old = $new.$old; 
$f = fopen("menu.dat","a"); 
fputs($f,$old); 
fclose($f); 
?>
    </div>
  </div>
  <div id="footer"><small>Táto stránka beží na systéme <a href="http://webscript.biz/wsb" target="_blank">WSB CMS</a>.<br />
    Design stránky <a href="http://cssweblayouts.com/" target="_blank">CSS Web Layouts</a></a></small></div>
</div>
</body>
</html>
a píše mi to Parse error: syntax error, unexpected $end in /home/www/webscript.biz/wsb/add_menu.php on line 41
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Problém asi je to, že si "escape-oval" úvodzovky v tom heredoc (skús teda namiesto \" dať len ", prípadne tam nemusíš mať heredoc).
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

Keď som to zmenil v tom heredoc, že tam niesú tie lomítka tak mi píše
Parse error: syntax error, unexpected $end in /home/www/webscript.biz/wsb/add_menu.php on line 40
A keď som to zmenil takto:

Kód: Vybrať všetko

<?php
session_start();
if ($_SESSION['authuser'] != 1) {
	echo "<p>Nemáte oprávnenie pre vstup do AdminPanelu</p>\n";
	exit();
	}
?>
<? include "system/adminheader.php"; ?>
<div id="wrapper">
  <div id="header"> <a href="$adresawebu"><img src="$adresawebu/logo.gif" alt="" width="203" height="102" class="logo" /></a> </div>
  <ul id="nav">
    <? include "system/adminnav.php"; ?>
  </ul>
  <div id="content" class="clearfix">
    <div id="col_1">
      <h2>Menu</h2>
      <ul id="subnav">
        <? include "system/adminmenu.php"; ?>
      </ul>
    </div>
    <div id="col_2">
    <?php 
$f = @fopen("menu.dat", "a"); 
$old = @fread($f, @filesize("menu.dat")); 
@fclose($f); 
$new = <a href="$adresa">$nazov</a><br>\n 
$old = $new.$old; 
$f = fopen("menu.dat","a"); 
fputs($f,$old); 
fclose($f); 
?>
    </div>
  </div>
  <div id="footer"><small>Táto stránka beží na systéme <a href="http://webscript.biz/wsb" target="_blank">WSB CMS</a>.<br />
    Design stránky <a href="http://cssweblayouts.com/" target="_blank">CSS Web Layouts</a></a></small></div>
</div>
</body>
</html>
Tak mi to píše:
Parse error: syntax error, unexpected '<' in /home/www/webscript.biz/wsb/add_menu.php on line 26
Už som s toho na nervy, vedel by mi niekdo pomôcť?
Ďakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

riadok 26 nemá úvodzovky, tie ktoré tam sú nie sú backslashnuté, a na konci chýba ešte aj bodkočiarka. Viac chýb sa v ňom už asi ani nedalo spraviť. Riadok 40 tam ani nemáš tak neviem čo je to za chybu. Skús si najprv prečítať základy a potom to napísať dobre namiesto tohto náhodného zliepania štýlom pokus-omyl
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

keď tam dám uvodzovky tak mi to píše chybu, šak preto som aj skúšal heredoc, nemohol by si mi napísať kam mám čo dať aby to už fungovalo?
Ďakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

$new = "<a href=\"$adresa\">$nazov</a><br>\n"; 
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Ty to robíš vždy úplne naopak. Dáš tam heredoc a escapeuješ úvodzovky; dáš tam normálny reťazec a úvodzovky ne-escapuješ. Nebolo by rozumné prečítať si aspoň základy php?
Napísať odpoveď