problema autoincremento php

  • Creatore Discussione Creatore Discussione federi
  • Data di inizio Data di inizio

federi

Nuovo Utente
19 Ago 2014
2
0
0
ciao ragazzi... ho provato a costruire un blog seguendo i codici di questo sito.
quando inserisco i commenti però c è un problema ...
penso che non funzioni l autoincremento impostato per l id dei commenti!

il codice è il seguente che ovviamente si trova anche su questo sito e ogni volta che lo provo mi esce scritto
Incorrect integer value: '' for column 'com_art' at row 1

PHP:
<html>
<head>
<title>Blog: inserimento commenti</title>
</head>
<body>
<h1>Inserisci un tuo commento:</h1>
<?php
//<title>'Inserisci un tuo commento:' </title>

// includiamo il file di configurazione
@include "config.php";

// se sono stati inviati dei parametri valorizziamo con essi le variabili
// per l'inserimento nella tabella
if(isset($_POST['submit'])){
  if(isset($_POST['autore'])){
    $autore = addslashes($_POST['autore']);
  }
  if(isset($_POST['testo'])){
    $testo = addslashes($_POST['testo']);
  }
  if(isset($_POST['id'])){
    $com_art = addslashes($_POST['id']);
  }

  // popoliamo i campi della tabella commenti con i dati ricevuti dal form
  $sql = "INSERT INTO commenti (com_autore, com_testo, com_art) VALUES ('$autore', '$testo', '$com_art')";
  
  // se l'inserimento ha avuto successo inviamo una notifica
  if (@mysql_query($sql) or die (mysql_error())){
    echo "Commento inserito con successo.";
  } 
}else{
  //controlliamo che l'id dell'articolo sia realamente esistente
  if(isset($_GET['id'])&&(is_numeric($_GET['id']))){
    $com_art = addslashes($_GET['id']);
    $sql = "SELECT art_id FROM articoli WHERE art_id='$com_art'";
    $query = @mysql_query($sql) or die (mysql_error());
    if(mysql_num_rows($query) > 0){
      // se non sono stati inviati dati dal form mostriamo il modulo per l'inserimento
      ?>
<form action="insert_comment.php" method="post">
Autore:<br>
<input name="autore" type="text" size="20"><br>
Testo:<br>
<textarea name="testo" cols="40" rows="10"></textarea><br>
<input name="id" type="hidden" value="<? echo $com_art; ?>">
<input name="submit" type="submit" value="Invia">
</form>
      <?php
      // se l'id dell'articolo non esiste o non è numerico inviamo delle notifiche
    }else{
      echo "Impossibile inserire un commento.";
    }
  }else{
    echo "Impossibile inserire un commento.";
  }
}
?>
</body>
</html>
 
Ultima modifica di un moderatore:
Hai creato un nuovo account ?
ripeto comunque che devi sostituire tutti i <? con <?php
<input name="id" type="hidden" value="<? echo $com_art; ?>">
 

Discussioni simili