- Home
- Categorie
- Coding e Sistemistica
- Coding
- creazione pagine php
-
ok lo farò.Adesso devo uscire, per cui creero la pagina attorno all' una
-
Ok, ho fatto la pagina con i collegamenti
-
fammela vedere ed iniziamo a lavorare
-
[HTML]<html>
<head>
<title>indice</TITLE>
</head>
<body>
<p><a href="index.htm">Index</a></p>
<p><a href="lezione1.htm">lezione1</a></p>
<p><a href="lezione2.htm">lezione2</a></p>
<p><a href="lezione3.htm">lezione3</a></p>
</body>
[/HTML]ok?
-
Come ha correttamente detto il nostro grande moderatore, per far comparire le variabili nella barra degli indirizzi si usa il metodo GET, quindi un form con invio di variabili.
Nella pagina postata da ilnetsurfer non vedo ne form, ne variabili, quindi c'è da ricominciare da capo.
Come noti anche tu (mi riferisco a netsurfer), se cambia il nome della variabile, non cambia il nome della pagina caricata, quindi non servono 50 pagine ma anche una sola andrebbe bene, cambiandone il contenuto in base al valore della variabile.
In php si potrebbe fare qualcosa del genere:
[php]
switch ($_GET['numerolezione'])
{
case 1:
include ('pagina1.php')
break;
case 2:
include ('pagina2.php')
break;
//........ eccetera .........
}
echo '<form action=index.php method=GET name=form_pagine>
<a href=javascript:precedente('.$_GET['numerolezione'].')>Indietro</a>
<br>
<a href=javascript:successivo('.$_GET['numerolezione'].')>Avanti</a>
<input type=hidden name=numerolezione>
</form>';
[/php]Usando come funzioni javascript:funciton precedente (n) { document.form_pagine.numerolezione = n-1; document.form_pagine.submit(); } function successivo (n) { document.form_pagine.numerolezione = n+1; document.form_pagine.submit(); } ```Si può anche omettere la presenza del form e delle funzioni javascript, ma la cosa diventa meno modulare e più rigida: [php] switch ($_GET['numerolezione']) { case 1: include ('pagina1.php') break; case 2: include ('pagina2.php') break; //........ eccetera ......... } echo '<a href=index.php?numerolezione='.$_GET['numerolezione']-1.'>Indietro</a> <br> <a href=index.php?numerolezione='.$_GET['numerolezione']+1.'>Avanti</a>'; [/php]Così si evita anche il javascript. Sarà una questione di carattere, ma io odio quando si vedono le variabili nella barra degli indirizzi, mi sa di "sporco" e poi non vogliono che sappiano i fatti miei :D
-
si potrebbe usare anche un POST, però se uno vuole darti il link n on può quindi o GET oppure HTML
-
Dove le inserisco le funzioni JavaScript?
-
nel tag
[html]
<head>
<title>indice</title>
<script>
//funzioni javascript
</script>
</head>
[/html]
-
Ho provato, ma lo stesso non riesco nel mio intento.
Allora.
Io tengo la pagina indice.php con i collegamenti alle pagine:
index.php(La pagina di intro alle lezioni)
lezione1.htm
lezione2.htm
lezione3.htmLa pagina indx.php contiene:
[HTML]<html>
<head>
<title>indice</TITLE>
</head>
<body>
<p><a href="index.php">Index</a></p>
<p><a href="lezione1.htm">lezione1</a></p>
<p><a href="lezione2.htm">lezione2</a></p>
<p><a href="lezione3.htm">lezione3</a></p>
<?php
switch ($_GET['numerolezione'])
{
case 1:
include ('lezione1.htm')
break;
case 2:
include ('lezione2.htm')
break;
case 2:
include ('lezione3.htm')
break;
echo '<form action=index.php method=GET name=form_pagine>
<a href=javascript:precedente('.$_GET['numerolezione'].')>Indietro</a>
<br>
<a href=javascript:successivo('.$_GET['numerolezione'].')>Avanti</a>
<input type=hidden name=numerolezione>
</form>';
?>
</body>[/HTML]Nelle pagine index.php, lezione1.htm, lezione2.htm e lezione3.htm ho racchiuso tra i tag <head> e </head> il seguente codice:
<script> function precedente (n) { document.form_pagine.numerolezione = n-1; document.form_pagine.submit(); } function successivo (n) { document.form_pagine.numerolezione = n+1; document.form_pagine.submit(); } </script>
ora, quando avvio easyphp 1.8, compare subito la pagina index.php
IO la ignoro e scrivo nel borwser:http://localhost/indice.php
ma mi compare la seguente frase:Parse error: parse error in c:\programmi\easyphp1-8\www\indice.php on line 16
E per tutto il resto non ottengo il risultato desiderato
-
Scusate, ma ho sbagliato a scrivere:Nella pagina indice.php c'è questo codice:```
<html>
<head>
<title>indice</TITLE>
</head>
<body>
<p><a href="index.php">Index</a></p>
<p><a href="lezione1.htm">lezione1</a></p>
<p><a href="lezione2.htm">lezione2</a></p>
<p><a href="lezione3.htm">lezione3</a></p>
<?php
switch ($_GET['numerolezione'])
{
case 1:
include ('lezione1.htm')
break;
case 2:
include ('lezione2.htm')
break;
case 2:
include ('lezione3.htm')
break;
echo '<form action=index.php method=GET name=form_pagine>
<a href=javascript:precedente('.$_GET['numerolezione'].')>Indietro</a>
<br>
<a href=javascript:successivo('.$_GET['numerolezione'].')>Avanti</a>
<input type=hidden name=numerolezione>
</form>';
?>
</body>e per tutte le altre c'è la funzione javascript
-
allora, mi sa ke non sono stato tanto kiaro:
- le funzioni javascript vanno scritte nella pagina "index.php" e non nelle altre pagine;
- le altre pagine sono intese solo come contenitori di dati, come delle cose da visualizzare all'interno della pagina "index.php";
-
<p><a href="index.php">Index</a></p>
<p><a href="lezione1.htm">lezione1</a></p>
<p><a href="lezione2.htm">lezione2</a></p>
<p><a href="lezione3.htm">lezione3</a></p> Questa parte risulta inuntile se vengono assegnati dinamicamente i link con php e javascript alla pagina successiva e precedente. - l'errore di sintassi è stato mio, ho mancato il ";" alla fine degli "include(...)"
Quindi, il risultato da ottenere, dopo queste specifiche, dovrebbe essere:
[php]
<html>
<head>
<title>indice</TITLE>
<script>
function precedente (n)
{
document.form_pagine.numerolezione = n-1;
document.form_pagine.submit();
}
function successivo (n)
{
document.form_pagine.numerolezione = n+1;
document.form_pagine.submit();
}
</script>
</head>
<body>
<?php
switch ($_GET['numerolezione'])
{
case 1:
include ('lezione1.htm');
break;
case 2:
include ('lezione2.htm');
break;
case 2:
include ('lezione3.htm');
break;
}
echo '<form action=index.php method=GET name=form_pagine>
<a href=javascript: precedente('.$_GET['numerolezione'].')>Indietro</a>
<br>
<a href=javascript:successivo('.$_GET['numerolezione'].')>Avanti</a>
<input type=hidden name=numerolezione>
</form>';
?>
</body>
</html>
[/php]nelle pagine delle lezioni, devi solo scrivere il contenuto delle stesse, senza funzioni, senza head, senza niente...ok?
Prova e posta...
Momino
-
Si, adesso la pagina indice.php si vede correttamente:
[/IMG]
Solo che se clicco avanti o indietro non succede niente.
Forse devo fare qualcos'altro?
-
Scusami, ci sono stati degli errori nella stesura del codice, errori miei...
questo è il codice corretto e funzionante:
[php]
<html>
<head>
<title>indice</TITLE>
<script>
function precedente (n)
{
document.form_pagine.numerolezione.value = n-1;
document.form_pagine.submit();
}
function successivo (n)
{
document.form_pagine.numerolezione.value = n+1;
document.form_pagine.submit();
}
</script>
</head>
<body>
<?php
if (empty($_GET['numerolezione']))
$_GET['numerolezione'] = 0;switch ($_GET['numerolezione'])
{
case 1:
include ('lezione1.htm');
break;
case 2:
include ('lezione2.htm');
break;
case 3:
include ('lezione3.htm');
break;
}
echo '<form action=index.php method=GET name=form_pagine>
<a href=javascript:precedente('.$_GET['numerolezione'].')>Indietro</a>
<br>
<a href=javascript:successivo('.$_GET['numerolezione'].')>Avanti</a>
<input type=hidden name=numerolezione>
</form>';
?>
</body>
</html>
[/php]P.S. mancano dei cotrolli in javascript per regolare lo scorrimento delle pagine, praticamente impedire che "numerolezione" scenda sotto lo 0 oppure superi il numero di lezioni che hai preparato... Questione di un paio di if
-
Adesso è peggio di prima :
[/IMG]
Indietro non è un collegamento e avanti non porta a niente
-
Facciamo una cosa:ti mando l'allegato con i 5 files
-
l'ho provato e funziona benissimo
hai sbagliato ad incollare?
-
@Skyline said:
l'ho provato e funziona benissimo
hai sbagliato ad incollare?
Certo che funziona...
-
Allora ho sbagliato qualcosa.Io ho allegato il file zip, 2 minuti fa,nella risposta in cui dicevo"Vi mando il file zip con i 5 files"
Se potreste controllarlo cosi mi dite dove ho sbagliato
-
il bello che ho usato i files che mi ha dato...
-
Funzionaaaaaaaaaaaaaaaaa!!!!!!!!!111
Era apache che non me lo faceva vedere!!