Mi è venuto un dubbio: non è che il problema del punto interrogativo è dovuto all'uso dell'editor del programma stesso su cui stiamo lavorando in questa discussione?...
Mi è venuto un dubbio: non è che il problema del punto interrogativo è dovuto all'uso dell'editor del programma stesso su cui stiamo lavorando in questa discussione?...
Il problema si può risolvere una volta per tutte e, fatto ciò, su qualsiasi browser il testo verrà visualizzato correttamente. Di solito impostato tutto in UTF-8 risolve il problema. In questo caso non è successo, probabilmente da qualche parte è rimasto qualcosa codificato in maniera diversa. Dall'esterno è difficile dire dove e quindi fornirti indicazioni su come procedere, se non un generico "fatti un giro dell'intero codice/database e cerca di farti un'idea su cosa potrebbe non essere UTF-8".Ragazzi, mi sono fatto un giro sul web per approfondire la cosa del punto interrogativo e ho capito che è tutto un po' troppo complicato, perché anche se riesco a risolvere io il problema sul mio browser, poi magari qualcun'altro che ha un browser diverso dal mio vedrà lo stesso il punto interrogativo, quindi penso che non valga la pena perderci tempo. Che dite voi?
Bisogna ripartire daccapo: occorre aggiungere nella base di dati una colonna colore titolo, quindi aggiungere un campo apposito nel form della pagina generatrice e, infine, modificare pagina.php in modo che legga la nuova informazione dalla base di dati e la usi nella posizione opportuna del CSS per applicare il colore al titolo."Ma se io volessi inserire la direttiva di farmi restituire per esempio il titolo di un colore diverso rispetto al resto del testo, basta inserire il campo [Colore font] subito dopo il campo [Titolo], oppure bisogna fare in un altro modo?
I suggerimenti che do più spesso:
- Le funzioni mysql_* non fanno più parte di PHP. Usa PDO o MySQLi.
- Il supporto a PHP 5.x è cessato l'1 gennaio 2019, e con esso le funzioni mysql_*. Che ti piaccia o no.
- Non memorizzare le password in chiaro nella base di dati. Usa password_hash().
- Indenta correttamente il codice e usa nomi significativi per gli identificatori.
Non mi ero accorto che la discussione è arrivata alla seconda pagina. Comunque per quanto riguarda il colore del font non è che bisogna iniziare dall'inizio ma basta aggiungere una riga al database e ai vari file coinvolti. Giusto? Quindi correggimi se sbaglio: basta aggiungere la riga [font_color title VARCHAR(255) NOT NULL,] al database. Il rigo [':font_color title' => $font_color, $font_color = $_POST['font-color title'];] al generatore.php e poi il rigo [<input type="text" name="font-color title" placeholder="Colore font title"> al file generatore-pagina.html
Giusto?
Per quanto riguarda il vecchio UTF-8 mi sembra troppo complicato se non mi potete dare una mano dall'esterno.
Io questo lo chiamo "ripartire dall'inizio" perché vuol dire andare a modificare la base di dati e tutti gli script coinvolti. Certo: la modifica è semplice e rapida, si tratta solo di aggiungere i campi indicati.non è che bisogna iniziare dall'inizio ma basta aggiungere una riga al database e ai vari file coinvolti
Occhio che per coerenza nella base di dati la riga da aggiungere è
con l'underscore, analogamente in generatore-pagina.html:Codice:font_color_title VARCHAR(255) NOT NULL,
mentre in generatore.php diventa:Codice HTML:<input type="text" name="font-color-title" placeholder="Colore font titolo">
Codice PHP:
$title = $_POST['title'];
$subtitle = $_POST['subtitle'];
$image_url = $_POST['image-url'];
$form_code = $_POST['form-code'];
$main_text = $_POST['main-text'];
$font_name = $_POST['font-name'];
$font_color = $_POST['font-color'];
$font_color_title = $_POST['font-color-title'];
$footer = $_POST['footer'];
// Connects to database
$dbh = new PDO('mysql:host=localhost;dbname=my_podset', 'podset', null);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Writes data
$query = "INSERT INTO page(title, subtitle, image_url, form_code, main_text, font_name, font_color, font_color_title, footer)"
. " VALUES(:title, :subtitle, :image_url, :form_code, :main_text, :font_name, :font_color, :font_color_title, :footer)";
$sth = $dbh->prepare($query);
$sth->execute([
':title' => $title,
':subtitle' => $subtitle,
':image_url' => $image_url,
':form_code' => $form_code,
':main_text' => $main_text,
':font_name' => $font_name,
':font_color' => $font_color,
':font_color_title' => $font_color_title,
':footer' => $footer
]);
I suggerimenti che do più spesso:
- Le funzioni mysql_* non fanno più parte di PHP. Usa PDO o MySQLi.
- Il supporto a PHP 5.x è cessato l'1 gennaio 2019, e con esso le funzioni mysql_*. Che ti piaccia o no.
- Non memorizzare le password in chiaro nella base di dati. Usa password_hash().
- Indenta correttamente il codice e usa nomi significativi per gli identificatori.
Si, certo... grazie per la precisazione. Avevo dimenticato gli underscore.