Problema con codice php

Salve a tutti,

ho un codice php che non riesco a concludere perchè mi dà il seguente errore:

Parse error: syntax error, unexpected T_STRING in /web/htdocs/www.tuttodownload.it/home/sitemap.php on line 12

Il testo del codice è:

"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\">";
include ("mainfile.php");
header("Content-type: application/xml");

$time = date("Y-m-d", time());
$res = sql_query("SELECT lid, title FROM"  . $prefix . "_downloads_downloads, $dbi");
$result = sql_fetch_array($res, $dbi, MYSQL_ASSOC)

 . '<url>
  <loc>$nukeurl/downloads-file-$lid . $result['lid'] . -details-$title . $result['title']  .html</loc>
  <lastmod>" . $time . "</lastmod>
  <changefreq>daily</changefreq>
  <priority>1.0</priority>
 </url>

Questo codice serve per creare la sitemap di google, in pratica richiama dal database i collegamenti con i titoli dei download per facilitare l'indicizzazione.

Grazie mille in anticipo!

 :bye: :bye:

inviato 9 anni fa
Dogbert84
X 0 X

ma a quel codice mancano dei pezzi! Sicuro di averlo riportato integralmente dalla fonte?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Scusate, ma ieri sera dovevo essere ubrioco perchè ho mandato i dati sbagliati. Scusate!

Allora, l'errore è:

Parse error: syntax error, unexpected T_CHARACTER, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /web/htdocs/www.tuttodownload.it/home/sitemap.php on line 35

Il codice è:

<?php
#### Generated by Module Creator - By Disipal site (www.disipal.net) ####
if (!eregi("modules.php", $PHP_SELF)) {
   die ("You can't access this file directly...");

}
require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
get_lang($module_name);
include("header.php");
$index = 0;
OpenTable();
echo"<?php"
  . ""
  . "define('mmc_sys', \"system\");"
  . "if(file_exists(mmc_sys . \"/mmc_sys_init.php\")){"
  . "   require_once(mmc_sys . \"/mmc_sys_init.php\");"
  . "}else{"
  . "   include (\"mainfile.php\");"
  . "}"
  . ""
  . "$fileout = 0;"
  . "$res = sql_query(\"SELECT sid, time FROM \" . $prefix . \"_stories ORDER BY sid ASC\", $dbi);"
  . "$out = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>"
  . "<urlset xmlns=\\\"http://www.google.com/schemas/sitemap/0.84\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\""
  . " xsi:schemaLocation=\\\"http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd\\\">\";"
  . ""
  . ""
  . "$time = date(\"Y-m-d\", time());"
  . "$res = sql_query(\"SELECT lid, title FROM \" . $prefix . \"_downloads_downloads\", $dbi);"
  . "// Listet die Topis"
  . "while($result = sql_fetch_array($res, $dbi, MYSQL_ASSOC)){"
  . "   $out .= \""
  . " <url>"
  . "  <loc>$nukeurl/downloads-file-$lid\" . $result[\"lid\"] . \"-details-$title\" . $result[\"title\"] . \".html</loc>"
  . "  <lastmod>\" . $time . \"</lastmod>"
  . "  <changefreq>daily</changefreq>"
  . "  <priority>1.0</priority>"
  . " </url>\";"
  . "}"
  . ""
  . ""
  . "$out .= \"\\n</urlset>\";"
  . ""
  . "if(!empty($fileout)){"
  . "   $file = fopen(\"sitemap.xml\", \"w\");"
  . "   fwrite($file, $out);"
  . "   fclose($file);"
  . "}"
  . ""
  . "header(\"Content-type: application/xml\");"
  . "echo $out;"
  . ""
  . "?>";
CloseTable();
include("footer.php");

?>

Grazie mille!

risposto 9 anni fa
Dogbert84
X 0 X

prova a sostituire la riga 47 così:

. "  <loc>$nukeurl/downloads-file-$lid\" . $result[lid] . \"-details-$title\" . $result[title] . \".html</loc>"

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Ho sostituito la riga 47 con il codice che mi hai dato, ma l'errore è sempre lo stesso sulla riga 35, allora l'ho sostituito alla riga 35 e quando aggiorno la pagina mi dà:

You can't access this file directly...

Questo problema l'ho sempre risolto togliendo:

{
   die ("You can't access this file directly...");

}

ma mi manda ad una pagina che ha la grafica simile alla home con delle parti di codice della sitemap scritte.

Grazie per l'aiuto

risposto 9 anni fa
Dogbert84
X 0 X

La sostituzione va fatta alla riga simile a quella che ti ho riportato (ho tolto 2 slash e 2 doppi apici).

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

certo, è la riga 35 che ti ho detto sopra

risposto 9 anni fa
Dogbert84
X 0 X

Il codice originale che io usavo in passato era questo:

<?php

define('mmc_sys', "system");
if(file_exists(mmc_sys . "/mmc_sys_init.php")){
   require_once(mmc_sys . "/mmc_sys_init.php");
}else{
   include ("mainfile.php");
}

$fileout = 0;
$res = sql_query("SELECT sid, time FROM " . $prefix . "_stories ORDER BY sid ASC", $dbi);
$out = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
 xsi:schemaLocation=\"http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd\">";


$time = date("Y-m-d", time());
$res = sql_query("SELECT lid, title FROM " . $prefix . "_downloads_downloads", $dbi);
// Listet die Topis
while($result = sql_fetch_array($res, $dbi, MYSQL_ASSOC)){
   $out .= "
 <url>
  <loc>$nukeurl/downloads-file-$lid" . $result["lid"] . "-details-$title" . $result["title"] . ".html</loc>
  <lastmod>" . $time . "</lastmod>
  <changefreq>daily</changefreq>
  <priority>1.0</priority>
 </url>";
}


$out .= "\n</urlset>";

if(!empty($fileout)){
   $file = fopen("sitemap.xml", "w");
   fwrite($file, $out);
   fclose($file);
}

header("Content-type: application/xml");
echo $out;

?>

Come puoi vedere da qui www.tuttodownload.it/sitemap.php  il file è funzionante alla perfezione, l'unica cosa che google mi dà un'errore, mi dice che il mio file inizia con uno spazio bianco e mi dice che lo accetta ugualmente ma dopo qualche giorno mi dice che il file non rispetta il formato richiesto e il googlebot non passa più dal mio sito.

Tu vedi errori in questo codice?

risposto 9 anni fa
Dogbert84
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda