È corretto aver un unico form con un unico submit.
Immagino che la casella di testo l'hai già inserita nel form, servirebbe che avesse un "name", esempio "nomi_citta". A questo punto, lato HTML è tutto corretto e da PHP puoi leggere il testo con $_POST['nomi_citta]. Cosa farne di questo testo? Sicuramente dovrai salvarlo da qualche parte. Il modo che normalmente si usa è salvarlo nel database (oppure potresti salvarlo in un file). La difficoltà, oltre a salvare il testo è ricordare l'associazione del testo a quella specifica immagine.
Se vuoi usare il database, (non so se per te è un passo troppo grande visto che stai imparando ora PHP), sarebbe creare una tabella con due colonne: il nome dell'immagine salvata e il testo.
Attualmente, immagino che per mostrare le immagini salvate stai utilizzando glob() o readdir() o scandir(). Con il database avrai già tutti i nomi salvati su database, quindi andrebbe modificata anche questa parte.
Il mio consiglio ora è di procedere così:
- Procedi sempre in micro-passi: ad esempio il prossimo passo è verificare che il testo venga realmente inviato e letto da PHP. Quindi un semplice
Codice PHP:
echo $_POST['nomi_citta'];
Per mostrare a video il testo durante il processo di upload dell'immagine.
- Non cercare mai codici che facciano quel che cerchi di fare, ma cerca codici che facciano il micro-passo. Altrimenti non saprai mai come intervenire per integrare nuove funzionalità come stai cercando di fare ora, inoltre non imparerai granché se prelevi già il progetto fatto da altri.
Fammi sapere se mi sono spiegato bene e nel caso prova a fare quanto indicato. Ovviamente alla prima.grossa difficoltà vieni pure qui a chiedere, mostrando il codice che hai fatto (non funzionante).
EDIT:
Ho visto il tuo sito HTML, quello che avevo chiamato 'nomi_citta' lo hai chiamato 'nomi', ma il discorso non cambia.
Il codice HTML non dovrebbe esser pieno di e <br>: per fare queste cose va usato ad esempio margin o padding di CSS.
In generale, riguarda bene il codice HTML perché ad esempio inizia così:
Codice HTML:
<body
style="background-color: rgb(51, 51, 255); color: rgb(0, 0, 0);"
alink="#ee0000" link="#0000ee" vlink="#551a8b">
<span style="color: rgb(255, 255, 255);">
<big><big><big><big>
<big></big></big></big></big></big></span><br>
<span
style="color: rgb(255, 255, 255); font-family: "Times New Roman"; font-size: 23.04px; font-style: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(204, 0, 0); display: inline ! important; float: none;"></span><br>
</div>
<body {
overflow: hidden; /* Hide scrollbars */
}
<br>
<a =""><span style="color: rgb(255, 255, 255);"> </span></a><a
=""><span style="color: rgb(255, 255, 255);">
</span></a><span
style="color: rgb(255, 255, 255);"></span><a =""><span
style="color: rgb(255, 255, 255);"><big><big>
<big> </big></big></big></span></a><a
=""><span style="color: rgb(255, 255, 255);"><big><big><br>
</big></big>
<div
style="position: absolute; height: 211px; top: -60px; left: -18px;">
<ul id="menu">
<br>
<br>
<div>
<br>
<br>
<div
style="right:50px;width:100px;height:50px;position:fixed;overflow:auto;"</style>
</div>
<div
style="margin-top:80px;position:fixed;"</div>
<big><span style="color: rgb(255, 255, 255);"><big><big><big><big></big></big></big></big></span>
<br>
Ma non capisco il significato di tutto questo codice: non mostra nulla ed è inutile.
Ciao!