Tengo un sitio para modificar noticas, un formulario recorreo todos los titulos de las noticias en la base de datos y otro formulario toma el valor enviado en el anterior rellena los datos cuando noticia es igual al valor dicho anteriormente, hasta funciona bien, pero el update toma todos los datos excepto el titulo, lo extraño es que si lo reconoce para haber llenado, pero si se pone en el where ya no la reconoce, este es el código.
Código PHP:
Ver original<?php
require_once('conexion.php');
//Funcion que devuelve el tipo de dato que se desea aplicar a una consulta de sql de
// insert o update,
function ObtenerValor($elValor, $elTipo, $elValorDefinido = "", $elValorSinDefinir = "")
{
switch ($elTipo) {
case "text":
$elValor = ($elValor != "") ? "'" . $elValor . "'" : "NULL";
break;
case "long":
case "int":
$elValor = ($elValor != "") ?
intval($elValor) : "NULL"; break;
case "double":
$elValor = ($elValor != "") ?
"'" . doubleval($elValor) . "'" : "NULL"; break;
case "date":
$elValor = ($elValor != "") ? "'" . $elValor . "'" : "NULL";
break;
case "defined":
$elValor = ($elValor != "") ? $elValorDefinido : $elValorSinDefinir;
break;
}
return $elValor;
} //fin de la funcion
?>
<?php
require_once('conexion.php');
//cAPTURA VALOR ENVIADO COMO PARAMETRO
//Consulta los row_regis del usuario para la interfase
$AuxSql = "SELECT * FROM noticia order by idnoticia desc";
$Accion_Formulario = $_SERVER['PHP_SELF'];
if ((isset($_POST["OC_insertar"])) && ($_POST["OC_insertar"] == "formita")) { $SQL = sprintf("select * from noticia where titulo='".$_POST['lsttitulo']."' order by idnoticia desc"); }// fin del if
?>
<?php
$Formulario = $_SERVER['PHP_SELF'];
if ((isset($_POST["OC_insertar"])) && ($_POST["OC_insertar"] == "formitamod")) { $insertSQL = sprintf("update noticia set titulo='".$_POST['titulo']."',contenido='".$_POST['contenido']."',autor='".$_POST['autor']."',fecha='".$_POST['fecha']."',hora='".$_POST['hora']."',tag='".$_POST['tag']."' where titulo = '".$row_regis["titulo"]."'");
echo $insertSQL;
//$insertIrA = "./supexitomodnoticia.php?noti=".$_POST['titulo'];
//header(sprintf("Location: %s", $insertIrA));
};// fin del if
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Tecnologías de Información | UTN Costa Rica - Puntarenas</title>
<link href="estilo.css" rel="stylesheet" type="text/css">
<!--Invoca a la hoja de estilos CSS-->
</head>
<body>
<section><!--Sección para el banner y menú-->
<div class="banner"><!--Div que contiene el banner, el menu de navegación y el banner inferior-->
<img src="media/img/banner.png"/><!--Banner principal de la página-->
<nav>
<ul class="menu utntip">
<!--Menú de navegación-->
<li><a href="index.php" title="Visitar este sitio web como visitante" target="_new">Ver Sitio</a></li>
<li><a href="supadmindex.php" title="Página de inicio del ...
</ul>
<!--Cierre del menú-->
</nav>
<img src="media/img/bannerbajo.png" /><!--Banner inferior de la página-->
</div>
<!--Cierra banner-->
</section>
<section>
<div class="divcont"><!--Div que contiene el marco de la sección media de la página divcontgral, divsep y divlat-->
<div class="divizq"><!--Marco izquierdo de la sección media-->
<div class="divgral"><!--Div que contiene los elementos principales como noticias, galerias entre otros-->
<img src="media/img/sup_gral.png" />
<div class="divadd"><!--Div que contiene las entradas de inicio-->
<h1>Modificar noticia</h1>
Seleccione la noticia que desea modificar
<form method="post" name="formita" onsubmit='return checkdata(this)' action="<?php echo $Accion_Formulario; ?>" >
<select name="lsttitulo">
<?php
echo "<option value='".$row_regis["titulo"]."'>".$row_regis["titulo"]."</option>";
$nota = $row_regis["titulo"];
}
$notb = $row_regis["titulo"];
?>
</select></td>
</tr>
<tr>
<td><input name="enviar" type="submit" value="Mostrar" class="white"/>
<p></p></td>
</tr>
<tr>
<td><hr /></td></tr>
<input type="hidden" name="OC_insertar" value="formita">
</form>
<?php
echo "<form method='post' name='formita' onsubmit='return checkdata(this)'>";
$not = $row_regis2['titulo'];
echo "<div>ID Noticia:</div>";
echo "<div><input name='idnoticia' value='".$row_regis2['idnoticia']."' type='text' size='80' maxlength='9' /></div>
<div>Título:</div>
<div><input name='titulo' value='".$row_regis2['titulo']."' type='text' size='80' maxlength='9' /></div>
<div>Contenido:</div>
<div><textarea name='contenido' type='text' style='width:500px; height:500px;'>".$row_regis2['contenido']."</textarea></div>
<div>Autor:</div>
<div><input name='autor' value='".$row_regis2['autor']."' type='text' size='80' maxlength='9' /></div>
<div>Fecha:</div>
<div><input name='fecha' value='".$row_regis2['fecha']."' type='text' size='80' maxlength='10' /></div>
<div>Hora:</div>
<div><input name='hora' value='".$row_regis2['hora']."' type='text' size='80' maxlength='9' /></div>
<div>Categoría:</div>
<div><input name='tag' value='".$row_regis2['tag']."' type='text' size='80' maxlength='9' /></div>
<br />";
echo "<div><input name='enviar' type='submit' value='Modificar noticia' class='white'/></div>
<input type='hidden' name='OC_insertar' value='formitamod'>
</form>";
?>
<p></p>
</div>
<!--Cierra add-->
</div>
<!--Cierra divgral--><img src="media/img/baj_gral.png" /> </div>
<!--Cierra divizq-->
<div class="divsep"></div>
<!--Div que separa el marco derecho del izquierdosolo es estetico-->
<div class="divlat"><!--Div de función de logeuo, informativo, entre otras-->
<div class="divsocial"> <!--Div para uso social, en redes, principalmente twitter-->
<div class="divminilat"><img src="media/img/sup_lat.png" /> <br />
<a href="http://www.facebook.com/home.php?#!/profile.php?id=100001259469833&v=wall" target="_new"><img style="border:none;" src="media/iconos/FaceBook.png" onmouseover="this.src='media/iconos/Hover_FaceBook.png'" onmouseout="this.src='media/iconos/FaceBook.png'"/></a><!--Conexión a Facebook--><a href="https://twitter.com/UTNTIPACIFICOCR" target="_new"><img style="border:none;" src="media/iconos/twitter.png" onmouseover="this.src='media/iconos/Hover_twitter.png'" onmouseout="this.src= 'media/iconos/twitter.png'"/></a><!--Conexión a Twitter--><img style="border:none;" src="media/iconos/feed.png" onmouseover="this.src='media/iconos/Hover_feed.png'" onmouseout="this.src= 'media/iconos/feed.png'"/><!--Conexión aún no creada a fuente de rss-->
<script src="http://widgets.twimg.com/j/2/widget.js"></script><!--Script para conectar a Twitter-->
<script src="twitter.js"></script><!--Propiedades del gadget de twitter-->
</div>
<!--Cierra el divminilat de las redes sociales-->
<img src="media/img/baj_lat.png" /> </div>
<!--Cierra divsocial-->
<div class="divseplat"></div>
<!--Div con funciones de diseño para separa divminilat`s-->
<div class="divsocial"><!--Div para enmaque de divsocial-->
<div class="divminilat"><!--Div que funciona para logueo-->
<div class="divlogi"><!--Div para logueo-->
<img src="media/img/sup_lat.png" />
ploc
</div>
<!--Cierra divlogui-->
</div>
<!--Cierra minilat-->
<img src="media/img/baj_lat.png" /> </div>
<!--Cierra divsocial-->
</div>
<!--Cierra divlat-->
</div>
<!--Cierra divcont-->
</section>
</body>
</html>
Disculpen si se va código de más pero es para que nop omitir nada, llevo rato creando variables y ninguna es reconocida, la pagina es para modificar....
Imprimo lo que lleva a la hora de insertar pero me da el siguiente informe:
Código PHP:
Ver originalNotice: Undefined variable: row_regis in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\ti\supmodnoticias.php on line 50 update noticia set titulo='hello lad',contenido='Finito alpha Cómo podemos descartar que se puede haber desarrollado la ... entrevista al periódico, cuyo titular era: “El extraterrestre es mi hermano”. “Así..., podría haber otros seres, incluso inteligentes, creados por Dios. Esto no contradice nuestra fe, porque no podemos poner límites a la libertad creadora de DIOS... del universo. Pero aún así, “continúo creyendo que Dios es el creador del universo y que no somos el producto del azar”, dijo Funes en la entrevista. ',autor='GTA',fecha='2010-08-21',hora='00:29:37',tag='Noticia' where titulo = ''
De antemano gracias, y la noticia es rara, era algo que copie y pegue jaja