Torna indietro   Hardware Upgrade Forum > Software > Programmazione

FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III è la nuvoa fotocamera mirrorless pensata per chi si avvicina alla fotografia e ricerca una soluzione leggera e compatta, da avere sempre a disposizione ma che non porti a rinunce quanto a controllo dell'immagine.
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Da Las Vegas, la visione di Larry Ellison e la concretezza di Clay Magouyrk definiscono la nuova traiettoria di Oracle: portare l’intelligenza artificiale ai dati, non i dati all’intelligenza, costruendo un’infrastruttura cloud e applicativa in cui gli agenti IA diventano parte integrante dei processi aziendali, fino al cuore delle imprese europee
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1
Dalla precisione estrema dei componenti alla gestione digitale dei processi: come la piattaforma ServiceNow consente ad Aston Martin Aramco Formula One Team di ottimizzare risorse IT e flussi operativi in un ambiente dove ogni millesimo di secondo conta
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-01-2012, 15:46   #1
Ansem_93
Senior Member
 
Iscritto dal: Jun 2009
Messaggi: 3579
[PHP] controllare se la variabile è vuota??

Gente io non riesco a risolver eun problema banalissimo: controllare se la variabile è vuota :/
ho messo in grassetto il controllo che faccio
Quote:
// Funzione mysql_select_db()
mysql_select_db($dbname,$conn)
or die("Impossibile selezionare il database $dbname");

//tolgo eventuali spazi finali dal nome e messaggio
$nick=trim($_POST['nick']);
$mex=trim($_POST['mex']);

//se ci sono delle / le escapo così php funziona
if(get_magic_quotes_gpc())
//strinsplashes serve per sistemare le /
{$nick=stripslashes($nick);
$mex=stripslashes($mex);
}

//e ora finalmente ho escapato tutto
$nick=mysql_real_escape_string($nick);
$mex=mysql_real_escape_string($mex);

//query che mette nel database il messaggio
$aggiungi = "INSERT INTO dbm (nick,messaggio)"
. " VALUES ('$nick','$mex');";

//lancio la query
if ($nick!='' and $mex!='') {
$send= mysql_query($aggiungi,$conn)
or die( "Errore: aggiungi " . mysql_error() );}
else {if ($nick=''){ echo '<script type="text/javascript">alert("non hai inserito il nick")</script>';}
else {echo '<script type="text/javascript">alert("non hai inserito il nick!")</script>';};
};

};
per qualche strana ragione il controllo da true sia che le variabili $nick e $mex siano piene! qualcuno mi sa aiutarte?
__________________
PC Fisso: Monitor: Dell U2715H | CPU: Ryzen R7 3600 | Dissipatore: Noctua NH-U12A | Scheda video: Sapphire 5700XT Pulse | Scheda Madre: MSI B450 Tomahawk Max | Ram: Ballistix sport LT 3200mhz CL16 | Hard disk: Sabrent Rocket 1TB | Case In Win A1 Plus | SO: Windows 10 Pro
Ansem_93 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2012, 16:46   #2
StefanoD66
Member
 
Iscritto dal: Sep 2011
Città: Genova
Messaggi: 93
Cancellato: non avevo letto bene il codice.

Ultima modifica di StefanoD66 : 10-01-2012 alle 10:02.
StefanoD66 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2012, 19:45   #3
daxdaxdax
Member
 
L'Avatar di daxdaxdax
 
Iscritto dal: Aug 2009
Messaggi: 168
Puoi fare un controllo sulla lunghezza dei valori contenuti nelle due variabili, es:
Codice PHP:
if ( (strlen($nick) < 2) OR (strlen($mex) < 2) ){
    if ( 
strlen($nick) < ){ echo "<b>Nickname</b> troppo corto<br />"  }
    if ( 
strlen($mex ) < ){ echo "<b>Messaggio</b> troppo corto<br />" }
}else{
    
$send mysql_query($aggiungi,$conn)or die( "Errore: aggiungi " mysql_error() );

Attenztione a questo:
Quote:
//tolgo eventuali spazi finali dal nome e messaggio
$nick=trim($_POST['nick']);
$mex=trim($_POST['mex']);
Valorizzi due variabili dal post method senza prima controllare che sia effettivamente settato: se la pagina non fosse in postback, avresti due errori.
__________________
D@x
daxdaxdax è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2012, 20:00   #4
demos88
Senior Member
 
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
Quoto dax è una buona idea quella di controllare la lunghezza delle stringhe, eventualmente così puoi anche definire una lunghezza minima (anche se tale controllo sarebbe da fare a monte anche nell'eventuale form).
Per l'ultima cosa che ti ha fatto notare, aggiungo che quando lavori con variabili POST e GET, dovresti sempre controllare prima di usarle se sono settate mediante isset()
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight
demos88 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2012, 20:56   #5
Ansem_93
Senior Member
 
Iscritto dal: Jun 2009
Messaggi: 3579
Quote:
Originariamente inviato da daxdaxdax Guarda i messaggi
Puoi fare un controllo sulla lunghezza dei valori contenuti nelle due variabili, es:
Codice PHP:
if ( (strlen($nick) < 2) OR (strlen($mex) < 2) ){
    if ( 
strlen($nick) < ){ echo "<b>Nickname</b> troppo corto<br />"  }
    if ( 
strlen($mex ) < ){ echo "<b>Messaggio</b> troppo corto<br />" }
}else{
    
$send mysql_query($aggiungi,$conn)or die( "Errore: aggiungi " mysql_error() );

Attenztione a questo:


Valorizzi due variabili dal post method senza prima controllare che sia effettivamente settato: se la pagina non fosse in postback, avresti due errori.
ho provato ad usare la tua funzione ma nemmeno così funziona,ho provato ad applicarla per sicurezza anche a $_POST["nick"] ma niente da fare :/
Comunque cosa intendi con postback?
__________________
PC Fisso: Monitor: Dell U2715H | CPU: Ryzen R7 3600 | Dissipatore: Noctua NH-U12A | Scheda video: Sapphire 5700XT Pulse | Scheda Madre: MSI B450 Tomahawk Max | Ram: Ballistix sport LT 3200mhz CL16 | Hard disk: Sabrent Rocket 1TB | Case In Win A1 Plus | SO: Windows 10 Pro
Ansem_93 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2012, 21:15   #6
daxdaxdax
Member
 
L'Avatar di daxdaxdax
 
Iscritto dal: Aug 2009
Messaggi: 168
Prova allora a postare il codice per intero

Una pagina in postback è appunto una pagina che ritorna al server con delle variabili passate da un form.
per come mi è parso di capire, non controllavi la presenza della tua variabile proveniente dal form nel vettore POST (che si ha solamente in postback).
Consigliavo pertanto di controllare se una variabile nel POST method sia effettivamente esistente prima di usarla per valorizzare una variabile nello script php altrimenti questo può darti un errore Notice: Undefined index
__________________
D@x

Ultima modifica di daxdaxdax : 09-01-2012 alle 21:18.
daxdaxdax è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2012, 17:49   #7
Dan__88
Senior Member
 
Iscritto dal: Aug 2011
Messaggi: 672
puoi usare bool empty($var)
Dan__88 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1 Micron e millisecondi: la piattaforma ServiceNow...
ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme ASUS GeForce RTX 5080 Noctua OC Edition: una cus...
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo Dreame Aqua10 Ultra Roller, la pulizia di casa c...
La sonda spaziale europea ESA JUICE &egr...
La capsula Orion Integrity è stat...
Intel Nova Lake: i driver Linux svelano ...
Nothing punta sulla fascia bassa: ecco c...
Redmi Watch 6 è ufficiale: si pre...
Arriva Snapdragon 6s Gen 4: l'obiettivo ...
Anche Netflix, Amazon e Apple sono inter...
Meta e TikTok ancora nel mirino dell'UE:...
Microsoft chiude definitivamente con le ...
5 TV in grosso ribasso su Amazon: LG OLE...
Recensione Xiaomi Watch S4 41mm: lo smar...
Grandi affari del weeekend: su Amazon ci...
Doom nello spazio: lo sparatutto pi&ugra...
Apple Day su Amazon: crollano i prezzi d...
Nothing Phone (3a) Pro scende a 392€ su ...
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: 21:52.


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