Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
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: 3584
[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 5900X @ 4,7Ghz + Thermalright Phantom Spirit 120 SE / MB Asus X470-F Gaming / RAM 2x16GB DDR4 Corsair 3600 CL16 / VGA Sapphire RX 7900 XT Nitro+ / SSD Crucial T500 1TB + Samsung 970 Pro 512GB + Sandisk 960GB Ultra II / PSU FSP Hydro G PRO 1000W / 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: 3584
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


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La prima missione orbitale del razzo spa...
Servizi in streaming sempre più c...
Anteprima della Leapmotor B03X: inizia l...
Anthropic accusa la Cina: Claude utilizz...
I satelliti Rassvet (Starlink russo) di ...
Un agente IA ha risolto un problema su W...
Cina: la CMSA potrebbe cambiare parte de...
68 mensilità di bonus per i dipen...
Rocket Lab ha fatto ricorso contro la de...
Nutanix rende disponibile Azure Virtual ...
Il padrino del deep learning avverte: gl...
Il finto avviso "iPhone Storage is Full"...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
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: 01:23.


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