Pagina 4 di 5

Re: Alla ricerca delle funzioni perdute

Inviato: mar feb 19, 2008 11:29
da conraid
samiel ha scritto:Ho anteposto l'include del file alle barre di navigazione (dicono che sia meglio
per il posizionamento nei motori di ricerca)...


Quelle per i motori di ricerca sono sempre informazioni da prendere con le molle, perché "purtroppo" gli algoritmi di google (tanto alla fine prendiamo tutti noi quello come esempio) cambiano spesso.
E' un po' che non leggo come funziona, l'ultima volta che ci ho dato un occhiata (che poi si tratta di capire il funzionamento da prove e da informazioni di google stessa, perché cln BEEP che ti fanno vedere l'algorirmo :-) ) indicizzava al meglio i primi 250 caratteri mi sembra.
Quindi se metti tanti meta tag, commenti e menù, il testo da indicizzare viene escluso.
Ma io a volte non ho seguito questo criterio perché semplicemente non mi interessava in quel contesto e mi sono trovato indicizzato bene.
Dalla mia "poca" esperienza posso dirti che controlla di più il nome del file (ecco perché non mi piace il metodo di fare tutto index.php), i link e la ripetizione della stessa parola nella pagina. Che deve esserci ma non essere eccessiva, altrimenti lo cataloga come spam.
Per esempio il mio blog, costruito senza seguire nessuna indicazione, è nella prima pagina per la parola Happy Christmas per ricerche con google.it, e quando feci il post era tra i primi 3 ovunque.
Con il risultato che mi arriva tanto di quello spam in quel sito che non ti dico :(

Re: Alla ricerca delle funzioni perdute

Inviato: mar feb 19, 2008 14:20
da puzuma
conraid ha scritto:Dalla mia "poca" esperienza posso dirti che controlla di più il nome del file (ecco perché non mi piace il metodo di fare tutto index.php)


questo è un problema minore, basta una semplice regola in .htaccess e abilitare mod_rewrite in apache per mostrare l'url migliore per i motori di ricerca.

Re: Alla ricerca delle funzioni perdute

Inviato: mar feb 19, 2008 14:51
da conraid
puzuma ha scritto:
conraid ha scritto:Dalla mia "poca" esperienza posso dirti che controlla di più il nome del file (ecco perché non mi piace il metodo di fare tutto index.php)


questo è un problema minore, basta una semplice regola in .htaccess e abilitare mod_rewrite in apache per mostrare l'url migliore per i motori di ricerca.


Esatto, era quello che dissi varie discussioni fa, ma non sempre si ha la possibilità di farlo

Re: Alla ricerca delle funzioni perdute

Inviato: mar feb 19, 2008 16:14
da aschenaz
@samiel: (Non ho postato prima perché siamo stati senza collegamento tutta la mattinata, boh...)

Per quanto riguarda il problema della sovrapposizione, prova a dare nomi diversi ai diversi array.

Non solo, se tu metti

Codice: Seleziona tutto

isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="home";
E poi

Codice: Seleziona tutto

isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="chi-siamo";
etc., lo script di default assegna a $pagina solo l'ultima stringa.
Se l'inclusione ha un solo livello, basta solo la prima espressione; altrimenti devi usare altre variabili, ad esempio $sezione, $parte...

Per quanto riguarda il posizionamento nei motori di ricerca, la soluzione più rapida e semplice (IMHO) è quella di farsi ospitare il link per un po' su di un sito già visibile: entro uno o due giorni, il tuo sito sarà visibilissimo.

Re: Alla ricerca delle funzioni perdute

Inviato: mar feb 19, 2008 16:40
da puzuma
aschenaz ha scritto:Per quanto riguarda il posizionamento nei motori di ricerca, la soluzione più rapida e semplice (IMHO) è quella di farsi ospitare il link per un po' su di un sito già visibile: entro uno o due giorni, il tuo sito sarà visibilissimo.


ad esempio su slacky.eu :)

Re: Alla ricerca delle funzioni perdute

Inviato: mar feb 19, 2008 18:54
da samiel
Un problema alla volta. Innanzitutto la sovrapposizione dei menu. Se metto:

Codice: Seleziona tutto

<div id="rightmenu">
<ul><?php
isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="chisiamo";
$rightmenu1=array("storia","inizi","intitolazione","inaugurazione","autonomia","guerra","territorio","risposte","utenza","organigramma");
foreach($rightmenu1 as $voce) {
echo "
<li>";
if($pagina!=$voce) echo '<a href="index.php?pagina='.$voce.'">';
echo $voce;
if($pagina!=$voce) echo "</a>";
echo "</li>";
}
echo "\n";
?>
</ul>
</div>

e poi chiamo l'array successivo rightmenu2 e così via, il problema si ripropone.
I menu sono sempre presenti e sovrapposti...

M.

Re: Alla ricerca delle funzioni perdute

Inviato: mar feb 19, 2008 20:29
da samiel
Ho fatto un altro esperimento. Ho preso il codice del tuo how-to
e ho aggiunto un menu a destra. Il codice è questo:

Codice: Seleziona tutto

<html>
<head>
  <title>Tutorial php</title>
<style type="text/css">
div#rightmenu{text-align:right}
</style>
</head>
<body>
<h1>Tutorial PHP</h1>
<hr />
<ul><?php
isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="home";
$vocimenu=array("home","bazzecole","quisquilie","pinzillacchere");
foreach($vocimenu as $voce) {
  echo "
  <li>";
  if($pagina!=$voce) echo '<a href="index.php?pagina='.$voce.'">';
  echo $voce;
  if($pagina!=$voce) echo "</a>";
  echo "</li>";
}
echo "\n";
?>
</ul>

<div id="rightmenu">
<ul><?php
isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="home";
$vocihome=array("home","asdaf","qwerty","samiel");
foreach($vocihome as $voce) {
  echo "
  <li>";
  if($pagina!=$voce) echo '<a href="index.php?pagina='.$voce.'">';
  echo $voce;
  if($pagina!=$voce) echo "</a>";
  echo "</li>";
}
echo "\n";
?>
</ul>
</div>

<div id="rightmenu">
<ul><?php
isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="bazzecole";
$vocibazzecole=array("home","zxcvb","dfghj","poiuy");
foreach($vocibazzecole as $voce) {
  echo "
  <li>";
  if($pagina!=$voce) echo '<a href="index.php?pagina='.$voce.'">';
  echo $voce;
  if($pagina!=$voce) echo "</a>";
  echo "</li>";
}
echo "\n";
?>
</ul>
</div>

<hr />

<h2><?php echo ucfirst($pagina) ?></h2>
<?php include("$pagina.php") ?>
</body>
</html>

Come vedrai, i menu sono presenti sempre tutti, per cui
non ha luogo l'opportuno "filtraggio" delle pagine. Nel caso
del mio sito, il CSS finisce per sovrapporre i menu, ma
anche senza questo effetto, nel caso della tua pagina,
i menu si vedono correttamente uno sopra e uno sotto
(ma a qusto punto il problema non è la sovrapposizione),
ma non vengono selezionati in base alla pagina.

M.

Re: Alla ricerca delle funzioni perdute

Inviato: mar feb 19, 2008 21:02
da aschenaz
Se ho capito bene, tu vuoi dei sottomenu per le varie pagine, vero?
Allora questo sistema non va bene.

Innanzitutto, come dicevo sopra, isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="home"; va messo una sola volta.

Poi, se vuoi un sottomenu per la home, includilo nella home e le voci del sottomenu chiamale, ad esempio, sezioni. Poi richiamerai le pagine con la querystring index.php?pagina=home&amp;sezione=nomesezione.

Ti faccio un esempio stringato; questa è la index:

Codice: Seleziona tutto

isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="home";
$vocimenu=array("home","bazzecole","quisquilie","pinzillacchere");
    foreach($vocimenu as $voce) {
      echo "
      <li>";
      if($pagina!=$voce) echo '<a href="index.php?pagina='.$voce.'">';
      echo $voce;
      if($pagina!=$voce) echo "</a>";
      echo "</li>";
    }

questa, invece la home:

Codice: Seleziona tutto

isset($_GET["sezione"]) ? $sezione=$_GET["sezione"] : $sezione="principale";
$vocisezioni=array("principale","secondaria","boh");
    foreach($vocisezioni as $vocesezione) {
      echo "
      <li>";
      if($sezione!=$vocesezione) echo '<a href="index.php?pagina=home&amp;sezione'.$vocesezione.'">';
      echo $vocesezione;
      if($sezione!=$vocesezione) echo "</a>";
      echo "</li>";
    }

E così via...
Ma, in fondo, è la stessa cosa che dicevo qui: http://www.slacky.eu/wikislack/index.ph ... inclusione

Sempre se ho capito bene la tua intenzione... :-k

Re: Alla ricerca delle funzioni perdute

Inviato: mar feb 19, 2008 22:33
da samiel
Sempre se ho capito bene la tua intenzione...

Come avrai potuto vedere dal sito,
quello che vorrei fare è un menu laterale destro
specifico sezione per sezione. Ad es., la sezioni "Chi siamo"
avrà in alto e a sinistra i menu che hanno tutte le pagine,
mentre tutte le pagine di "Chi siamo" avranno un loro
specifico menu a destra.
È questo che si può fare con la tua soluzione?
Adesso mi si dedico... Grazie

M.

Re: Alla ricerca delle funzioni perdute

Inviato: mer feb 20, 2008 1:13
da samiel
Allora, ho provato a costruire quei menu in un paio di pagine.
Ad es., in chisiamo.php (che sarebbe la pagina principale di una sezione)
ho messo questo codice:

Codice: Seleziona tutto

<div id="rightmenu">
<ul><?php
isset($_GET["sezione"]) ? $sezione=$_GET["sezione"] : $sezione="chisiamo";
$vocisezioni=array("chisiamo","inizi","intitolazione");
foreach($vocisezioni as $vocesezione) {
echo "
<li>";
if($sezione!=$vocesezione) echo '<a href="index.php?pagina=chisiamo&amp;sezione'.$vocesezione.'">';
echo $vocesezione;
if($sezione!=$vocesezione) echo "</a>";
echo "</li>";
}
echo "\n";
?>
</ul>
</div>

Però cliccando sul link si resta sempre alla pagina principale della sezione...
M.

Re: Alla ricerca delle funzioni perdute

Inviato: mer feb 20, 2008 7:15
da aschenaz
Hai inserito, al posto giusto... include("$sezione.php") ?

Re: Alla ricerca delle funzioni perdute

Inviato: mer feb 20, 2008 13:29
da samiel
1.
Ho provato quella soluzione, ma così facendo aggiungo il contenuto
della pagina nuova a quella di partenza (la home della sezione).
Invece io voglio che si apra una pagina nuova. Ho tentato
di risolvere, ma con una conseguenza singolare (quanto
indesiderata). La sezione della home viene aggiunta all'infinito
(un ciclo infinito?), dal menu laterale di apre correttamente
la pagina nuova, ma il menu destro sparisce. Dopo un po'
però li ciclo infinito blocca il browser: niente male, vero?
Insomma, per ridirlo, io vorrei che il menu destro
faccia semplicemente aprire una pagina nuova, ad es
da "chi siamo" a "inizi", da "inizi" a intitolazione"
e via dicendo. Il menu orizzontale serve a tornare
nelle altre sezioni, e quello è a posto.

2.
A proposito delle redistribuzione dei file in più dir,
per non trovarmi poi con qualche centinaio di file in /include,
sono incerto sul metodo più corretto. Cioè se sia migliore
creare un array che associa ogni pagina al suo path,
oppure inserire nella stessa variabile pagina dir e subdir.
insomma una cosa del tipo -salvo errori -:

Codice: Seleziona tutto

$pagina = "dir/subdir/pagina.php";
$pagina = str_replace('-', '/', $pagina);


3.
Da ultimo: perché IE (io ho la 6, "purtroppo" non la 7
e "purtroppo" non ho nemmeno VIsta) non trova le immagini?
Nella home infatti non si vedono né il logo né l'immagine.
Eppure sto usando la stessa sintassi di altri lavori
dove le immagini si vedono tranquillamente, a meno che
non mi sfugga qualcosa.

Grazie settanta volte sette...
M.

Re: Alla ricerca delle funzioni perdute

Inviato: mer feb 20, 2008 17:28
da aschenaz
Ho dato una sistemata alla index, però ancora c'è da decidere cosa fare del blocco a destra con le altre pagine. In base a come l'ho fatta io, pensa come potresti risolvere...

Codice: Seleziona tutto

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Liceo Ginnasio Franchetti - Mestre (VE)</title>
<meta name="GENERATOR" content="Quanta Plus" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="Liceo Ginnasio Franchetti" />
<meta name="keywords" content="Liceo Ginnasio Franchetti" />
<link rel="stylesheet" type="text/css" href="stylesheets/layout.css" />
</head>
<body>
<div id="container">
<div id="header">
<img id="logoleft" src="pics/logo.gif" alt="Logo Franchetti" title="Logo Franchetti"/>
<img id="logoright" src="pics/logo.gif" alt="Logo Franchetti" title="Logo Franchetti"/>
<h3 class="header">Liceo Ginnasio Statale &#171;Raimondo Franchetti&#187;<br />
Corso del Popolo 82 - 30172 MESTRE VENEZIA<br />
Tel. 041 5315531 - Fax 041 5328524</h3>

<div id="navbarwrapper">
<div id="navbar">
<ul><?php
isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="home";
$vocimenu=array("home","chisiamo","contatti","news","pof","progetti","agenda","segreteria");
foreach($vocimenu as $voce) {
echo "
<li>";
if($pagina!=$voce) echo '<a href="index.php?pagina='.$voce.'">';
echo $voce;
if($pagina!=$voce) echo "</a>";
echo "</li>";
}
echo "\n";
?>
</ul>
</div>
</div>
</div>

<?php include("include/$pagina.php") ?>

<div id="leftmenu">
<ul><?php
$vocimenu2=array("home","scuolanet","newsletter","circolari","biblioteca","studenti","sitiutili");
foreach($vocimenu2 as $voce2) {
echo "
<li>";
if($pagina!=$voce2) echo '<a href="index.php?pagina='.$voce2.'">';
echo $voce2;
if($pagina!=$voce2) echo "</a>";
echo "</li>";
}
echo "\n";
?>
</ul>
</div>

<div id="rightmenu">
<?php
$rightmenu=array("home"=>array("home","scuolanet","newsletter","circolari","biblioteca","studenti","sitiutili"),
   "chisiamo"=>array("storia","inizi","intitolazione","inaugurazione","autonomia","guerra","territorio","risposte","utenza","organigramma"),
   "pof"=>array("commissione","testopof","servizi","regolamento","statuto","applicativo","gite"),
   "progetti"=>array("ecdl","usa","australia")
);
if(array_key_exists($pagina,$rightmenu)) {
   echo "
<ul>";
   foreach($rightmenu[$pagina] as $voce3) {
   echo "
<li>";
   if($pagina!=$voce3) echo '<a href="index.php?pagina='.$voce3.'">';
   echo $voce3;
   if($pagina!=$voce3) echo "</a>";
   echo "</li>";
   }
   echo "
</ul>\n";
} else echo "&nbsp;";
?>
</div>

<div id="footer">© Liceo Ginnasio Statale &#171;Raimondo Franchetti&#187; - 2008</div>
</div>
</body>
</html>

Per quanto riguarda IE, in Ufficio siamo da due giorni senza collegamento: è una cosa stranissima, mai successa e riguarda parecchi uffici. Quindi, per ora, non posso verificare.

Ti consiglio di usare l'indentazione (anche dell'html): tutto diventa più chiaro.

Inoltre, non mettere fogli di stile fuori dalla head (mi riferisco, ad esempio, a quello che hai messo nella home): in caso usa css in linea.

Ora vado un po' di fretta, poi vediamo il resto... :)

Ciao,
nino

Re: Alla ricerca delle funzioni perdute

Inviato: mer feb 20, 2008 20:41
da aschenaz
Ora forse dovrebbe essere più simile a quello che vuoi ottenere... :)

Codice: Seleziona tutto

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Liceo Ginnasio Franchetti - Mestre (VE)</title>
<meta name="GENERATOR" content="Quanta Plus" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="Liceo Ginnasio Franchetti" />
<meta name="keywords" content="Liceo Ginnasio Franchetti" />
<link rel="stylesheet" type="text/css" href="stylesheets/layout.css" />
</head>
<body>
<div id="container">
<div id="header">
<img id="logoleft" src="pics/logo.gif" alt="Logo Franchetti" title="Logo Franchetti"/>
<img id="logoright" src="pics/logo.gif" alt="Logo Franchetti" title="Logo Franchetti"/>
<h3 class="header">Liceo Ginnasio Statale &#171;Raimondo Franchetti&#187;<br />
Corso del Popolo 82 - 30172 MESTRE VENEZIA<br />
Tel. 041 5315531 - Fax 041 5328524</h3>

<div id="navbarwrapper">
<div id="navbar">
<ul><?php
isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="home";
$vocimenu=array("home","chisiamo","contatti","news","pof","progetti","agenda","segreteria");
foreach($vocimenu as $voce) {
echo "
<li>";
if($pagina!=$voce) echo '<a href="index.php?pagina='.$voce.'">';
echo $voce;
if($pagina!=$voce) echo "</a>";
echo "</li>";
}
echo "\n";
?>
</ul>
</div>
</div>
</div>

<?php include("include/$pagina.php") ?>

<div id="leftmenu">
<ul><?php
$vocimenu2=array("home","scuolanet","newsletter","circolari","biblioteca","studenti","sitiutili");
foreach($vocimenu2 as $voce2) {
echo "
<li>";
if($pagina!=$voce2) echo '<a href="index.php?pagina='.$voce2.'">';
echo $voce2;
if($pagina!=$voce2) echo "</a>";
echo "</li>";
}
echo "\n";
?>
</ul>
</div>

<div id="rightmenu">
<?php
$rightmenu=array("home"=>array("home","scuolanet","newsletter","circolari","biblioteca","studenti","sitiutili"),
   "chisiamo"=>array("storia","inizi","intitolazione","inaugurazione","autonomia","guerra","territorio","risposte","utenza","organigramma"),
   "pof"=>array("commissione","testopof","servizi","regolamento","statuto","applicativo","gite"),
   "progetti"=>array("ecdl","usa","australia")
);
$activemenu=0;
foreach($rightmenu as $kmenu=>$vmenu) {
   if(in_array($pagina,$vmenu) | $pagina==$kmenu) $activemenu=$rightmenu[$kmenu];
}
if($activemenu) {
   echo "
<ul>";
   foreach($activemenu as $voce3) {
   echo "
<li>";
   if($pagina!=$voce3) echo '<a href="index.php?pagina='.$voce3.'">';
   echo $voce3;
   if($pagina!=$voce3) echo "</a>";
   echo "</li>";
   }
   echo "
</ul>\n";
} else echo "&nbsp;";
?>
</ul>
</div>

<div id="footer">© Liceo Ginnasio Statale &#171;Raimondo Franchetti&#187; - 2008</div>
</div>
</body>
</html>

EDIT: MODIFICATO ORE 21.10
Fammi sapere.
Ciao.

Re: Alla ricerca delle funzioni perdute

Inviato: gio feb 21, 2008 0:07
da samiel
Caspita, che lavoraccio stai facendo!
Sì, in effetti direi che ci siamo quasi.

Piccole note.
Hai ragione per l'indentazione. Solo che Kate era impostata
per farla con le tab, e diventava tutto troppo rientrato.
Adesso provo a modificare l'impostazione, metto 2 spazi.

Foglio di stile fuori della head: so che non è corretto,
ma era solo una soluzione tampone per differenziare
la home generale, che non dovrebbe avere un menu destro
(nella tua risistemazione lo presenta, identico al sinistro,
il che è ovviamente inutile).

Collocazione dei file da includere in dir differenziate:
quale delle due soluzioni che citavo un paio di post sopra
mi consigli? O ce n'è una terza migliore?

Immagini in IE: adesso riavvio e provo a caricare Win
per vedere la resa lì.

Beh, devo mandarti una cassa di vini tipici?
O preferisci una fornitura vita natural durante di Baicoli?

M.