02/10/12 13:14
luigi7
Salve, ho un problema sia nell'inserimento dati e nella modifica dati..
tutto qui funziona tutto fin che non metto ad esempio le doppie virgolette nel testo in un input text..
non capisco come devo fare ad risolvere il problema
vi posto il listato che ho fatto anche se lo fatto un po male perché non sono un grand cima di php/mysql.
la funzione protect è questa:
mi dite come posso risolvere il problema??
scusate per l'italiano ma non so come scriverlo perché non conosco come risolvere il problema..
poi io ho problemi con linguaggio perché sono invalido.
vi ringrazio molto.. e buona giornata.
tutto qui funziona tutto fin che non metto ad esempio le doppie virgolette nel testo in un input text..
non capisco come devo fare ad risolvere il problema
vi posto il listato che ho fatto anche se lo fatto un po male perché non sono un grand cima di php/mysql.
<?php // Includo require_once(dirname(__FILE__) . '/../inc.php'); require_once(dirname(__FILE__) . '/admin.php'); require_once(dirname(__FILE__) . "/../template/".$template_admin."/header.php"); require_once(dirname(__FILE__) . "/../include/tiny_mce.php"); $intID = (int)$_GET["id"]; $active = (isset($_POST["active"])) ? trim ($_POST["active"]): ''; //Query SQL $query = "SELECT * FROM pagine WHERE id=".$intID.""; $result = $db->query($query) or die($db->error); if(empty($intID)) { echo "ID non specificato"; } elseif ($result->num_rows==0) { echo "Record non trovato!"; } else { $strSQL = "SELECT * FROM pagine" . " WHERE id = ".$intID.""; //Eseguo la query e recupero i dati $result = $db->query($strSQL); $row = $result->fetch_assoc(); // $user = $row["_user"]; $user_id = $row["_userid"]; $titolo = $row['titolo']; $testo = $row['testo']; $p_url = $row["url"]; $tag = $row['tag']; $data = $row['data']; $active = $row['active']; $data_explode = explode('-', $data); $gg = $data_explode[2]; $mm = $data_explode[1]; $aa = $data_explode[0]; //Libero la memoria $result->free_result(); if(isset($_POST["invia"])) { $titolo = protect($_POST["titolo"]); $testo =protect($_POST["testo"]); $tag =protect($_POST["tag"]); $user = protect($_POST["user"]); $data = protect($_POST["data"]); $_url = protect($_POST["_url"]); $dtmPubblicazione = $_POST["data"]; $data_explode = explode('-', $dtmPubblicazione); $dtmPubblicazione = "".$data_explode[2]."-".$data_explode[1]."-".$data_explode[0].""; if($_POST["user"] == "0") { $error = "Non hai inserito l'utente"; }elseif(empty($_url)) { $error = "Non hai inserito l'url"; } elseif(empty($titolo)) { $error = "Non hai inserito il titolo"; } elseif(empty($testo)) { $error = "Non hai inserito il testo"; } elseif(empty($data)) { $error = "Non hai inserito la data"; } elseif(empty($active)) { $error = "Non hai inserito lo stato"; } else { $db_titolo = $db->real_escape_string($titolo); $db_testo = $db->real_escape_string($testo); $db_data = $db->real_escape_string($data); $db_tag = $db->real_escape_string($tag); $db_active = $db->real_escape_string($active); $db_user = $db->real_escape_string($user); $db_url = $db->real_escape_string($_url); $strSQL = "UPDATE pagine SET" . " _userid = ".$db_user."," . "url = '".$db_url."'," . " titolo = '".$db_titolo."'," . " testo = '".$db_testo."'," . " tag = '".$db_tag."'," . " data = '".$dtmPubblicazione."'," . " active = '".$db_active."'" . " WHERE id = ".$intID.""; $db->query($strSQL) or die($db->error); $db->close(); $msg = "<p>modificato</p>"; $msg.="<p><a href=\"pagine.php\">Torna alla lista</a></p>"; $msg.="<p><a href=\"pag_modifica.php?id=".$intID."\">Modifica ancora</a></p>"; } } ?> <p class="titolo">Modifica Pagina: <?php echo $row["titolo"]; ?></p> <?php if ( isset ( $error ) ) { echo ' <p class="error">' . $error . '</p>' . "\n"; } ?> <?php if ( isset ( $msg ) ) { echo ' <p class="msg">' . $msg . '</p>' . "\n"; } else {?> <form action="<?php echo $_SERVER['PHP_SELF']?>?id=<?php echo $_GET["id"]; ?>" method="post"> <table width="100%" align="center"> <tr> <td>Seleziona user_select</td> <td><?php echo "<select name=\"user\">";?> <option selected="selected" value="0">Seleziona</option> <?php $result = $db->query("SELECT * FROM utenti"); while($row = $result->fetch_array()) { $user= $row['_user']; $id = $row['id']; ?> <option value="<?php echo $id; ?>"<?php if($user_id=="".$id."") echo 'selected'?>><?php echo $user; ?></option> <?php } ?> </select></td> </tr> <tr> <td>Titolo</td> <td><input name="titolo" type="text" id="titolo" value="<?php if ( isset ( $_POST['titolo'] ) ) { echo $_POST['titolo']; } else { echo $titolo; } ?>" size="50" /></td> </tr><tr> <td>url</td> <td><input name="_url" type="text" id="_url" value="<?php if ( isset ( $_POST['_url'] ) ) { echo $_POST['_url']; } else { echo $p_url; } ?>" /></td> </tr> <tr> <td>Testo</td> <td><textarea cols="50" rows="10" name="testo"><?php if ( isset ( $_POST['testo'] ) ) { echo $_POST['testo']; } else { echo $testo; } ?></textarea></td> </tr> <tr> <td>Data</td> <td><input name="data" type="text" id="data" value="<?php echo @"".$gg."-".$mm."-".$aa."";?>" /></td> </tr><tr> <td>tag</td> <td><input name="tag" type="text" id="tag" value="<?php if ( isset ( $_POST['tag'] ) ) { echo $_POST['tag']; } else { echo $tag; } ?>" /></td> </tr> <tr> <td>Stato di attivazione</td> <td> Pubblica<input type="radio" name="active" value="1" <?php if($active=='1') echo 'checked="checked"'?> /> Nascosto<input type="radio" name="active" value="2" <?php if($active=='2') echo 'checked="checked"'?>/> </td> </tr> <tr> <td></td> <td></td> </tr> </table> <input type="submit" value="Modfiica" name="invia" /> <input type="reset" value="Annulla Modifiche"> </form> <?php } }?><?php require_once(dirname(__FILE__) . "/../template/".$template_admin."/footer.php"); ?>
la funzione protect è questa:
function protect($value) { $value = (get_magic_quotes_gpc()) ? stripslashes($value) : $value; return $value; }
mi dite come posso risolvere il problema??
scusate per l'italiano ma non so come scriverlo perché non conosco come risolvere il problema..
poi io ho problemi con linguaggio perché sono invalido.
vi ringrazio molto.. e buona giornata.
aaa