Ho riscontrato, ultimamente, un notice da parte di PHP per quanto riguarda la non definizione di alcune variabili in GET.
Ho risolto il tutto inserendo questo nel file
Codice PHP:
error_reporting (E_ALL ^ E_NOTICE);
Però vorrei sapere se realmente mi causerà qualche problema tutto ciò...
Questa è la pagina, collegata ad altri file che elaborano le richieste dei form...
Codice PHP:
<?php
error_reporting (E_ALL ^ E_NOTICE);
require("inc/functions.php");
require("inc/config.php");
/* Gestione Richieste. Codice di D'Alberti Luca */
/* Copyright © D'Alberti Luca 2013 */
/* SCELTA DEL TITOLO DELLA PAGINA */
if (! $_GET['action'])
{
$title = "Inserisci i tuoi dati";
}
elseif ($_GET['action'] == "new_req")
{
$title = "Nuova richiesta";
}
elseif($_GET['action'] == "view")
{
if ($_GET['code'])
{
$title = "Visualizzando richiesta";
}
}
else
{
header("Location: req_management.php");
}
?>
<html>
<head><title><?php echo $title; ?></title></head>
<body>
<?php
if (! $_GET['action'])
{
/* Inserisci i dati per il login alla tua area riservata */
echo '<form method="POST" action="login.php">';
echo '<table><tr><td>Indirizzo E-Mail:</td><td><input type="text" name="email" /></td></tr>';
echo '<tr><td>Codice richiesta:</td><td><input type="text" name="codice" /></td></tr>';
echo '<tr><td colspan="2"><input type="submit" value="Entra" /></td></tr></table></form>';
if ($_GET['error'] == "invalid_mail")
{
echo '<script>alert("Inserisci un indirizzo email valido")</script>';
}
if ($_GET['error'] == "no_fill")
{
echo '<script>alert("Compila tutti i campi")</script>';
}
if ($_GET['error'] == "not_exist")
{
echo '<script>alert("I dati inseriti per il login sono errati")</script>';
}
if ($_GET['error'] == "not_logged")
{
echo '<script>alert("Non hai puoi accedere a quest\'area. Effettua l\'accesso.")</script>';
}
}
elseif ($_GET['action'] == "new_req")
{
/* Invia una nuova richiesta */
$queryCategorie = mysqli_query($db, "SELECT * FROM categorie") or die(mysqli_error());
echo '<h1>Invio di una nuova richiesta</h1>
';
echo '<form method="POST" action="new_req.php">';
echo '<table><tr><td>Nome / Ragione sociale:</td><td><input type="text" name="nome" /></td></tr>';
echo '<tr><td>Email:</td><td><input type="text" name="email" /></td></tr>';
echo '<tr><td>Tipo di richiesta:</td><td><select name="tipo">';
while ($categoria = mysqli_fetch_array($queryCategorie))
{
echo "<option value=\"$categoria[id]\">$categoria[descrizione]</option>";
}
echo '</select></td></tr>';
echo '<tr><td>Informazioni aggiuntive:</td><td><textarea rows="4" cols="50" name="add_info></textarea>';
echo '<tr><td colspan="2"><input type="submit" value="Procedi" /></td></tr></table></form>';
if ($_GET['error'] == "invalid_mail")
{
echo '<script>alert("Inserisci un indirizzo email valido")</script>';
}
if ($_GET['error'] == "no_fill")
{
echo '<script>alert("Compila tutti i campi")</script>';
}
}
/* Sta visualizzando la richiesta */
elseif ($_GET['action'] == "view")
{
if ($_GET['code'])
{
if (! $_COOKIE['email'] || ! $_COOKIE['codice'])
{
header("Location: req_management.php?error=not_logged");
}
else
{
if (chkEmail($_COOKIE['email']))
{
$email = $_COOKIE['email'];
}
else
{
header("Location: req_management.php?error=invalid_mail");
}
$codice = mysqli_real_escape_string($_COOKIE['codice']);
$queryRichiesta = mysqli_query("SELECT * FROM request WHERE codice = ".$codice." AND email = ".$email."") or die(mysqli_error());
$richiesta = mysqli_fetch_array($queryRichiesta);
$queryTipo = mysqli_query("SELECT descrizione FROM categorie WHERE id = ".$richiesta[tipo]."") or die(mysqli_error());
$tipo = mysqli_fetch_array($queryTipo);
echo "<table><tr><td>Nome / Ragione sociale: $richiesta[nome]
Indirizzo e-mail: $richiesta[email]
Tipo di richiesta: $tipo[descrizione]
Data: $richiesta[giorno]
</td>
<td>$richiesta[add_info]
</td></tr></table>";
$queryRisposte = mysqli_query("SELECT * FROM risposte WHERE rid = ".$richiesta[rid]."") or die(mysqli_error());
if (mysqli_num_rows($queryRisposte) == 0)
{
echo '
<h2>Ancora nessuna risposta ricevuta</h2>
';
}
else
{
while($risposta = mysqli_fetch_array($queryRisposte))
{
echo '<table>';
echo '<tr>';
echo "<td>Risposta inviata da: $risposta[autore]
Data: $risposta[giorno]
";
echo '</td><td>';
echo "$risposta[testo]
";
echo '</td></tr></table>';
}
}
echo '<h1>Invia una risposta</h1>
';
echo '<form method="POST" action="new_reply.php"><table><tr><td>Autore:</td><td><input type="text" name="autore" /></td></tr>';
echo '<tr><td colspan="2">Messaggio:
<textarea name="messaggio" rows="10" cols="75"></textarea></td></tr>';
echo '<tr><td colspan="2" align="right"><input type="submit" value="Invia risposta" /></td></tr></table></form>';
if ($_GET['status'] == "ok_new_reply")
{
echo '<script>alert("Risposta inserita con successo")<script>';
}
if ($_GET['status'] == "no_fill")
{
echo '<script>alert("Compila tutti i campi")<script>';
}
}
}
}
?>
Inoltre, questa query dite che sia abbastanza rischiosa??
Codice PHP:
if (chkEmail($_COOKIE['email']))
{
$email = $_COOKIE['email'];
}
else
{
header("Location: req_management.php?error=invalid_mail");
}
$codice = mysqli_real_escape_string($_COOKIE['codice']);
$queryRichiesta = mysqli_query("SELECT * FROM request WHERE codice = ".$codice." AND email = ".$email."") or die(mysqli_error());