Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/01/2013, 04:32
yolanda16568
 
Fecha de Ingreso: agosto-2011
Mensajes: 165
Antigüedad: 12 años, 9 meses
Puntos: 1
Problema con tema

Hola tengo un problema tengo una pagina para crear una categoria
y va bien la crea.
entro en esa categoria para crear un tema y
"no me lo crea". me da error

Pero si creo un tema en la base de datos directamente

Entonces me lo reconoce y me deja crear el tema perfectamente
os dejo este codigo bueno un poco del codigo haber si me podeis echar una mano.


Este es el error:

Column 'categoria' cannot be null

Código PHP:

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO temas (tema, categoria, autor, fecha) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['tema'], "text"),
                       GetSQLValueString($_POST['categoria'], "int"),
                       GetSQLValueString($_POST['autor'], "text"),
                       GetSQLValueString($_POST['fecha'], "date"));

  mysql_select_db($database_libre, $libre);
  $Result1 = mysql_query($insertSQL, $libre) or die(mysql_error());

  $insertGoTo = "categorias.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

$colname_temas = "-1";
if (isset($_GET['id_categorias'])) {
  $colname_temas = $_GET['id_categorias'];
}
mysql_select_db($database_libre, $libre);
$query_temas = sprintf("SELECT * FROM temas WHERE categoria = %s ORDER BY tema DESC", GetSQLValueString($colname_temas, "int"));
$temas = mysql_query($query_temas, $libre) or die(mysql_error());
$row_temas = mysql_fetch_assoc($temas);
$totalRows_temas = mysql_num_rows($temas);$colname_temas = "-1";
if (isset($_GET['id_categorias'])) {
  $colname_temas = $_GET['id_categorias'];
}
mysql_select_db($database_libre, $libre);
$query_temas = sprintf("SELECT * FROM temas WHERE categoria = %s ORDER BY id_tema DESC", GetSQLValueString($colname_temas, "int"));
$temas = mysql_query($query_temas, $libre) or die(mysql_error());
$row_temas = mysql_fetch_assoc($temas);
$totalRows_temas = mysql_num_rows($temas);

$colname_usuarios = "-1";
if (isset($_GET['nombre_user'])) {
  $colname_usuarios = $_GET['nombre_user'];
}
mysql_select_db($database_libre, $libre);
$query_usuarios = sprintf("SELECT * FROM libre WHERE nombre_user = %s", GetSQLValueString($colname_usuarios, "text"));
$usuarios = mysql_query($query_usuarios, $libre) or die(mysql_error());
$row_usuarios = mysql_fetch_assoc($usuarios);
$totalRows_usuarios = mysql_num_rows($usuarios);

$colname_categorias = "-1";
if (isset($_GET['id_categoria'])) {
  $colname_categorias = $_GET['id_categoria'];
}
mysql_select_db($database_libre, $libre);
$query_categorias = sprintf("SELECT * FROM categorias WHERE id_categoria = %s ORDER BY id_categoria ASC", GetSQLValueString($colname_categorias, "int"));
$categorias = mysql_query($query_categorias, $libre) or die(mysql_error());
$row_categorias = mysql_fetch_assoc($categorias);
$totalRows_categorias = mysql_num_rows($categorias);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/base.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Categorias</title>
<!-- InstanceEndEditable -->
<link href="tables.css" rel="stylesheet" type="text/css" />
<!-- InstanceBeginEditable name="head" -->
<style type="text/css">
.diez {
    font-size: 10px;
}
.doce {
    font-size: 12px;
}
.doce td {
    font-size: 14px;
}
.doce td {
    text-align: center;
}
.centro {
    text-align: center;
}
.centro3 {    text-align: center;
}
.centro3 {    text-align: center;
}
.centro {
    text-align: center;
}
.centro th {
    color: #000;
    text-align: center;
}
.centro {
    text-align: center;
}
rojo {
    color: #F00;
}
.doce td .irz a {
    color: #000;
    text-align: left;
}
.dre {
    text-align: right;
}
.irz {
    text-align: left;
}
.dereecha {
    text-align: right;
}
.irquierda {
    text-align: left;
}
</style>
<!-- InstanceEndEditable -->
<style type="text/css">
body {
    background-image: url();
    background-color: #D3E4E5;
}
.centro {
    text-align: center;
}
irq {
    text-align: left;
}
</style>
</head>

<body bgcolor="#D3E4E5">
<table width="54" border="0" align="center" cellpadding="3" cellspacing="0">
  <tr>
    <td align="center" valign="middle" class="centro"><img src="imagen/logo_final_.jpg" width="877" height="195" align="middle" /><Marquee  style="font-size: 16px; color:#000" 
bgcolor="#B6C34F"  >
    </Marquee>      <br /></td>
  </tr>
  <tr>
    <td><!-- InstanceBeginEditable name="panel de control" -->
      <p class="centro">Publicar Temas:</p>
      <p class="centro"><a href="acceso.php">Ir a Panel de Control</a></p>
      <p class="centro"><?php echo $row_temas['categoria']; ?></p>
      <p class="centro"><?php echo $row_categorias['id_categoria']; ?></p>
      <form action="<?php echo $editFormAction?>" method="post" name="form1" id="form1">
        <table width="99%" align="left">
          <tr valign="baseline">
            <td nowrap="nowrap" align="right">Publicar Tema:</td>
            <td><input type="text" name="tema" value="" size="80" /></td>
          </tr>
          <tr valign="baseline">
            <td nowrap="nowrap" align="right">&nbsp;</td>
            <td><a href="insectar tema.php?nombre_user=<?php echo $row_usuarios['nombre_user']; ?>&amp;id_categoria=<?php echo $row_temas['categoria']; ?>&amp;categoria=<?php echo $row_categorias['id_categoria']; ?>">
              <input type="submit" class="rojo" value="Publicar  tema" />
            </a></td>
          </tr>
        </table>
        <input type="hidden" name="categoria" value="<?php echo $row_temas['categoria']; ?>" />
        <input type="hidden" name="autor" value="<?php echo $row_usuarios['nombre_user']; ?>" />
        <input type="hidden" name="fecha" value="<?php echo $row_temas['fecha']; ?>" />
        <input type="hidden" name="MM_insert" value="form1" />
      </form>

      <?php do { ?>
      <?php
        mysql_select_db
($database_libre$libre);
$publicacion_sql "SELECT mensaje FROM mensajes WHERE tema = " .
$row_temas['id_tema']; 
$ultimo_sql "SELECT autor,fecha FROM mensajes WHERE tema = " .
$row_temas['id_tema'] . " ORDER BY fecha DESC LIMIT 1";
$uPost mysql_query($ultimo_sql) or die(mysql_error ()); 
$pTotales mysql_query($publicacion_sql) or die(mysql_error());
        
?>
      <tr align="center" valign="bottom" class="doce">
        <td align="left" valign="top"><span class="izq"><a href="pulicaciones.php?nombre_user=<?php echo $row_usuarios['nombre_user']; ?>&amp;id_tema=<?php echo $row_temas['id_tema']; ?>&amp;id_categoria=<?php echo $row_temas['categoria']; ?>" class="irquierda"><?php echo $row_temas['tema']; ?></a></span><span class="irz"><a href="pulicaciones.php?nombre_user=<?php echo $row_usuarios['nombre_user']; ?>&amp;id_tema=<?php echo $row_temas['id_tema']; ?>&amp;id_categoria=<?php echo $row_temas['categoria']; ?>">
              <?php if($_SESSION['MM_UserGroup']=="admin"){
                            
?>
          </a><a href="editar_temas.php?nombre_user=<?php echo $row_usuarios['nombre_user']; ?>&amp;tema=<?php echo $row_temas['tema']; ?>">Editar</a><a href="pulicaciones.php?nombre_user=<?php echo $row_usuarios['nombre_user']; ?>&amp;id_tema=<?php echo $row_temas['id_tema']; ?>&amp;id_categoria=<?php echo $row_temas['categoria']; ?>">
        <?php  }   ?>
        </a>
        <?php if($_SESSION['MM_UserGroup']=="admin"){
                            
?>
        <a href="borrar_confirma_tema.php?nombre_user=<?php echo $row_usuarios['nombre_user']; ?>&amp;id_tema=<?php echo $row_temas['id_tema']; ?>">Eliminar</a><a href="insectar_categoria.php">
        <?php  }   ?>
        </a></span></td>
        <td align="center" valign="top" class="centro"><span class="centro3"><?php echo mysql_num_rows($pTotales);?></span></td>
        <td align="left" valign="top" class="diez"><?php echo $row_temas['autor']; ?></td>
        <td align="left" valign="top"><?php $up mysql_fetch_assoc($uPost);
            echo 
$up {'fecha'};
            echo 
'<br/>';
            echo 
$up {'autor'};?></td>
      </tr>
      <?php } while ($row_temas mysql_fetch_assoc($temas)); ?>
  </table>