- Home
- Categorie
- Coding e Sistemistica
- Coding
- creazione pagine php
-
cioe' vuoi chesi veda il codice html?
-
Allora.Se andate a questo sito
http://www.aiutamici.com/corsi/lezione.asp?CodCat=42Noterete che in fondo alla pagina stanno dei collegamenti (indice, indietro, avanti)
Se cliccate su avanti, vi porta ad u altra pagina web che sara:
http://www.aiutamici.com/corsi/Lezione.asp?CodCat=43Vorrei fare la stessa cosa ma usando php.
Ad esempio, se tengo la pagina "lezione1.php" e la pagina "lezione3.php",
Vorrei che quando faccio il collegamento dalla pagina lezione1 alla pagina lezione3, nella barra degli indirizzi voglio che compaia :lezione1 : www.ilmiosito.it/index.php?numerolezione=1
lezione3 : www.ilmiosito.it/index.php?numerolezione=3
grazie
-
l'unica cosa che puoi fare IMHO è creare la pagina lezioni.php che richieda sempre il valore GET di numerolezione
in modo che se non gli si dà un valore GET ti mostri sempre la prima lezione o l'intro
-
Grazie, ma...
isto che con php sto alle basi, potresti darmi un esempio?
-
mi serve sapere se le lezioni sono in un db o in pagine html
-
In pagine html
-
allora lavoriamo assieme inizia a creare una pagina di intro che porta la totalità delle lezioni....
-
Allora:
Facciamo cosi.
Visto che le lezioni non le ho ancora fininte di scriverle tutte, posso creare delle pagine con qualcosa scritto dentro , ne farò una cinquantina.Ok?
-
io ti ho detto solo di creare una pagina coi link alle varie lezioni non di creare tutte le lezioni
-
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