PHP: creare un link in una pagina

Snipy

Nuovo Utente
4 Gen 2016
5
0
0
Ciao ragazzi avrei bisogno di un aiuto.
Ho una pagina di nome a.php in cui chiede di inserire un testo. Ora quel testo lo devo scrivere su un file html(che chiamerò b.html) e linkare b.html sulla pagina c.php. Con uno script php prendo il testo di a.php , creo un file html e con fwrite() lo scrivo. Se questo script riesce a scrivere con successo, ora deve creare un link sulla pagina c.php. Qualche aiuto?
Grazie!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
scusa, ma non si capisce bene quello che vuoi fare quindi ti chiedo:

hai la pagina a.php in cui penso tu abbia il form per scrivere il testo, intanto la parte di script che scrive è sulla stessa pagina dove hai il form?
il file html che andrai a creare ha sempre lo stesso nome quindi sovrascrivi o varia di volta in volta e quindi avrai enne file html?
se dicersi file come dai il nome al file?
nella pagina che chiami c.php vuoi creare un link al file html, a tutti quelli che hai creato se i file sono più d'uno?
i file html che crei sono in una cartella apposita (sarebbe meglio)?
 

Snipy

Nuovo Utente
4 Gen 2016
5
0
0
Cerco di spiegarmi meglio. Ho una pagina di nome articolo.php in cui bisogna inserire un testo e se si vuole anche un file(immagine). Ora, quando l'utente clicca 'Pubblica' , voglio che si generi un link sulla pagina principale(che avevo chiamato c.php) che conduca al contenuto che è stato inserito nel form di articolo.php. La pagina .html avrà sempre nome diverso, sarà l'utente a scegliere il nome.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
penso di aver capito,
una domanda: utilizzi un db (mysql) per registrare i nomi delle pagine html? perche se così fosse sarebbe più semplice ad esempio se in una tabella chiamata articoli cos' fatta
id int(6) autoincrement primarykey
titolo_articolo varchar(100) not null
nome_file varchar(100) not null//es. pinco.html
data_inserimento //qui dipende da come formatti la data (io ad es uso il timestamp quindi int(15))
se è così basta che nella pagina done vuoi che appaiano i link tu faccia
PHP:
<?php
//dati di connessione
$ris=mysqli_query($conn, "SELECT * FROM articoli ORDER BY data");
while($riga=mysqli_fetch_array($ris, MYSQLI_ASSOC)){
	//..metto solo titolo e nome file
	$titolo=$riga['titolo_articolo'];
	$file=$riga['nome_file'];
	echo '<a href="articoli/$file">$titolo</a><br>';

}
//.....
?>
se invece non usi iun db la cosa non che sia più difficile ma alcuni dati quali il titolo e la data sono molto piu difficili da ricavare.
comunque potresti fare così
PHP:
<?php
//...
$cartella="articoli/";//ti conviene metterli in una cartella apposita
$files=glob($cartella."*.html"); //estrai tutti i nomi dei files della cartella articoli con estenzione .html e li mette in un array
//se vuoi puoi metterli in ordine alfabetico con sort($files);
//cicli l'array
foreach($files as $file){
	$nome=basename($file);// pinco.html ecc....
	$titolo=basename($file, ".html");//pinco ecc....
	echo '<a href="'.$cartella.$file.'">$titolo</a><br>';
}
//.....
?>
in uno di questi modi nella pagina ti si formano i link richiesti
 

Snipy

Nuovo Utente
4 Gen 2016
5
0
0
Il primo. Se per esempio in nome_articolo ho "esempio1" e "esempio2" per creare un link con ogni valore di nome titolo_articolo..come dovrei fare? So che dovrei usare for() o foreach()