Torna indietro   Hardware Upgrade Forum > Software > Programmazione

AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS è il principale operatore di servizi cloud al mondo e da tempo parla delle misure che mette in atto per garantire una maggiore sovranità alle organizzazioni europee. L'azienda ha ora lanciato AWS European Sovereign Cloud, una soluzione specificamente progettata per essere separata e distinta dal cloud "normale" e offrire maggiori tutele e garanzie di sovranità
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-06-2004, 12:35   #1
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2688
Alcune domandine su Php/MySql

Ciao,
stavo vedendomi un tutorialdi FreePhp.it come funziona MySql interfacciato al Php....

Ho fatto questa parte di script ma Apache mi dà il seguente errore:
Parse error: parse error, unexpected T_ELSEIF in c:\programmi\easyphp\www\scrptdb\save.php on line 14

L'errore dovrebbe trovarsi alla riga dove applica la funzione trim ma non riesco a capire cosa ci sia che non vada...
questo è il codice completo:

<?
include("top_foot.php");
include("config.inc.php");
top();

if("$pass!=$password"); // Controlla se la password immessa nel forum corrisponde al valore della variabile $password memorizzata in config.inc.php
echo "Password errata";

// Verifica che i campi titolo e testo non siano vuoti o composti da soli spazzi

/* La funzione trim ha lo scopo di eliminare caratteri vuoti dall'inizio e dalla fine della stringa così da non
accettare stringhe composte da soli spazi prive di contenuto informativo */

elseif(trim($titolo) == "" OR trim($testo) == "");
echo "I campi Titolo e Testo devono essere inseriti !!!";

/* Verifica che le stringhe inserite non contengono caratteri particolari come gli apici o le virgolette quindi
prima toglie gli slash e poi li reinserisce per essere sicuri che le stringhe siano preceduto dallo slash */

else:
$titolo = addslashes(stripslashes($titolo));
$autore = addslashes(stripslashes($autore));
$mail = addslashes(stripslashes($mail));
$testo = addslashes(stripslashes($testo));

/* Per non avere problemi con alcuni caratteri che vanno in contrasto con i tag html (come < e >) lo script li
sostituisce con i corrispondenti in html e inserisce nel testo il carattere di fineriga. */

$titolo = str_replace("<", "&lt", $titolo);
$titolo = str_replace(">", "&gt", $titolo);
$autore = str_replace("<", "&lt", $autore);
$autore = str_replace(">", "&gt", $autore);
$testo = str_replace("<", "&lt", $testo);
$testo = str_replace(">", "&gt", $testo);
$testo = nl2br($testo);

/* Lo script converte ora la data in formato timestamp mediante la funzione mktime */

$data = mktime("0", "0", "0", $mese, $giorno, $anno);

/* Lo script si collega al db */

$db = mysql_connect($db_host, $db_user, $db_password); // Viene assegnato un valore TRUE o FALSE alla variabile $db a seconda che la connessione sia andata a buon fine o meno
if ($db == FALSE)
die ("Errore nella connessione, verificare i parametri inseriti nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

/* Query che si occupa dell'inserzione dei dati immessi nel db */

$query = "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')";

/* Verifico l'avvenuta inserzione dei dati nel db */

if(mysql_query($query, $db))
echo "L'articolo è stato inserito correttamente";
else
echo "Errore durante l'inserimento dell'articolo nel db !!!";
mysql_close($db); endif;
foot();
?>

Poi ho qualche altro dubbio su questa parte di codice che fà in modo che lo script si connetta al database:

$db = mysql_connect($db_host, $db_user, $db_password); // Viene assegnato un valore TRUE o FALSE alla variabile $db a seconda che la connessione sia andata a buon fine o meno
if ($db == FALSE)
die ("Errore nella connessione, verificare i parametri inseriti nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

Paricamente la funzione mysql_connect prende in ingreso il parametro $db_host che contiene l'host sul quale risiede il db, $db_user che contiene l'utente e $db_password che contiene la password per connettersi al db....se la connessione ha successo la variabile $db viene inizializzata a TRUE se non ha successo viene inizializzata a FALSE e lo script stampa il messaggio di errore....fino quà non dovrebbero esserci problemi concettuali...

La cosa che non mi è ben chiara è invece il funzionamento della funzione mysql_select_db...da quello che ho capito questa funzione seleziona il db da usare, giusto?
I parametri che ha in entrata sono $db_name che contiene il nome del db, e fin quà tutto ok, e $db...ma $db non conteneva solamente TRUE o FALSE dell'avvenuta connessione?Perchè glielo devo passare a mysql_select_db?Per fargli capire che la connessione è avvenuta con successo e che può selezionare il db giusto? booo svelatemi voi questo mistero....

Altra domanda sempre relativa alla funzione mysql_select_db...da quello che ho letto restituisce direttamente un valore o TRUE o FALSE e non c'è bisogno di metterlo in una variabile per poi fare il controllo
Quando faccio:
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

vuol dire che se non è andata a buon fine stampa direttamente il messaggio di errore?!?! ma Php dove lo va a mettere il valore TRUE o FALSE per decidere cosa fare

Grazie
Andrea
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2004, 13:34   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
A $db viene assegnato FALSE se fallisce la chiamata...altrimenti gli viene assegnato un identificativo della connessione al DB

or è un operatore che ritorno vero (diverso da false) quando uno dei due parametri sono diversi da FALSE... L'operatore è associativo a sinistra quindi viene valutato prima il parametro di sinistra (il valore ritornato da mysql_select_db)...se il primo è vero non valuta il secondo (c'è già un parametro diverso da false)...ma se mysql_select_db allora valuta anche il secondo che a questo punto termina lo script e visualizza l'errore...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2004, 13:36   #3
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2688
Grazie mille Cionci
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Vast prosegue la costruzione della stazi...
Chiarito cosa è successo al satel...
Il TAR annulla Bologna Città 30. ...
Laptop con chip NVIDIA da marzo? Emergon...
Costruito in casa, più veloce di ...
Il nuovo Galaxy Book 6 Pro costa il 25% ...
C'è un boom del mercato dei data ...
OVHcloud annuncia la disponiiblità...
Il Wi-Fi 7 ha un nuovo re: da ASUS arriv...
In arrivo l'auto "Frankenstein"...
Chip NVIDIA H200 in Cina? 'Come vendere ...
iPhone 16 torna super conveniente: ora c...
Offerte Amazon pazzesche: tech, smartpho...
Ubisoft annuncia l'arrivo dei 60 fps per...
Infratel Italia: ecco la nuova mappa del...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 02:15.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v