Ciao a tutti, mi sto inoltrando nel mondo php.
Come ogni novizio sto riscontrando dei problemi nel creare alcune mie applicazioni, la maggior parte le risolvo con le ricerche su internet ma a queste due non riesco a trovare una soluzione, quindi mi rivolgo qui per cercare un'aiuto. Veniamo al dunque:
Il server mi restituisce un'errore del genere:
PHP Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/www/html/edit.php on line 13,
la porzione di codice in questione è:
10. if($_GET['id'])
11. header("Location: index.php");
12. // get id value
13. $sql = "select * from elenco_mat WHERE id = $_GET['id']";
14. $query = mysql_query($sql) or die("Query non valida: " . mysql_error());
se poi trasformo in questo modo:
10. $id = $_GET['id'];
11. $sql = "select * from elenco_mat WHERE id = $id";
12. $query = mysql_query($sql) or die("Query non valida: " . mysql_error());
sembrerebbe funzionare, ma a questo punto mi restituisce un'altro errore:
ModSecurity: Access denied with code 500 (phase 4). Pattern match "(?:\\b(?:(?:s(?:elect list because it is not contained in (?:an aggregate function and there is no|either an aggregate function or the) GROUP BY clause|upplied argument is not a valid (?:(?:M(?:S |y)|Postgre)SQL|O(?:racle|DBC)))|S(?:yntax error converti ..." at RESPONSE_BODY. [file "/etc/httpd/modsecurity.d/modsecurity_crs_50_outbound.conf"] [line "23"] [id "970003"] [msg "SQL Information Leakage"] [severity "WARNING"] [tag "LEAKAGE/ERRORS"] [hostname "localhost"] [uri "/edit.php"] [unique_id "UJD6nKwRCIQAAGrKErQAAAAD"]
e questo si riferisce a quando vado a fare l'update :
if ($_POST['submit'])
{
$link=mysql_connect("$databaseHostName","$databaseUserName","$databaseUserPassword") or die ("Non riesco a connettermi a $databaseHostName");
mysql_select_db ($databaseName, $link) or die ("Non riesco a selezionare il db $databaseName<br>");
//trasformiamo in variabili i post
$coord=$_POST['mod_coord'];
$pos=$_POST['mod_pos'];
$pers=$_POST['mod_pers'];
$matricola=$_POST['mod_matricola'];
$matricola=strtoupper($matricola);
$unit=$_POST['mod_unit'];
$unit=strtoupper($unit);
$qnt=$_POST['mod_qnt'];
$prezzo=$_POST['mod_prezzo'];
$data=$_POST['mod_data'];
//aggiornamento dai database
$dati=" UPDATE seriale SET id_coord = '$coord',
id_pos = '$pos',
id_pers = '$pers',
matricola = '$matricola',
unit = '$unit',
qnt = '$qnt',
prezzo = '$prezzo',
data = '$data'
where id = '$_GET['id']'";
mysql_query ($dati, $link)
or die ("Non riesco ad eseguire la query $dati");
Echo "I Dati sono stati archiviati con successo nel DataBase $database";
if($risultato)
{echo "<script type=text/javascript>alert('inserimento dati nel database riuscito');</script>";}
else {echo "<script type=text/javascript>alert('inserimento dati nel database fallito, riprova');</script>";}
} mysql_close($link);
//redirect back to the view page
echo "<br><a href='index.php'>Home</a>";
?>
potete aiutarmi?
Grazie!