Foros del Web » Programando para Internet » PHP »

problemas con mi codigo php

Estas en el tema de problemas con mi codigo php en el foro de PHP en Foros del Web. tengo el siguiente codigo php, en el que manejo un pequeño sistema de noticias, a traves de un marquee mando las imagenes que doy de ...
  #1 (permalink)  
Antiguo 05/10/2009, 14:51
 
Fecha de Ingreso: septiembre-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
problemas con mi codigo php

tengo el siguiente codigo php, en el que manejo un pequeño sistema de noticias, a traves de un marquee mando las imagenes que doy de alta en mi B.D al dar click en mi noticia me manda a la pagina donde se despliega la informacion de esta con cada uno de sus campos. De manera local en mi Pc. Funciona correctamente, pero al subirla al servidor no importa cuantas veces le de click a la noticia nueva o vieja pero solo me muestra la mas reciente, de verdad necesito ayuda y no se si me explique con mi problema pero para que tengan una idea mas clara pueden entrar a mi pagina w w w dancesfitness .com, les anexo el codigo con el que estoy realizando la consulta. De verdad espero me puedan ayudar, no se si han cambiado algunas instrucciones del php pero desde que trabajo con Internet explorer 8.0 todas mis paginas que manejan este mismo sistema y mi administrador en php me han dado muchos problemas. Gracias por sus comentarios.

<?php require_once('Connections/dancesfitness.php'); ?>
<?php
$maxRows_noti = 5;
$pageNum_noti = 0;
if (isset($_GET['pageNum_noti'])) {
$pageNum_noti = $_GET['pageNum_noti'];
}
$startRow_noti = $pageNum_noti * $maxRows_noti;

mysql_select_db($database_dancesfitness, $dance);
$query_noti = "SELECT * FROM noticias ORDER BY id_noticia DESC";
$query_limit_noti = sprintf("%s LIMIT %d, %d", $query_noti, $startRow_noti, $maxRows_noti);
$noti = mysql_query($query_limit_noti, $dance) or die(mysql_error());
$row_noti = mysql_fetch_assoc($noti);

if (isset($_GET['totalRows_noti'])) {
$totalRows_noti = $_GET['totalRows_noti'];
} else {
$all_noti = mysql_query($query_noti);
$totalRows_noti = mysql_num_rows($all_noti);
}
$totalPages_noti = ceil($totalRows_noti/$maxRows_noti)-1;
if(!$noticias)$noticias=$noticias=$row_noti['id_noticia'];
mysql_select_db($database_dancesfitness, $dance);
$query_notic = "SELECT * FROM noticias WHERE id_noticia='$noticias'";
$notic = mysql_query($query_notic, $dance) or die(mysql_error());
$row_notic = mysql_fetch_assoc($notic);
$totalRows_notic = mysql_num_rows($notic);
?>
<?php require_once('Connections/dancesfitness.php'); ?>


<td><MARQUEE height="344" direction="up" align="middle" scrollamount="4" onMouseOver="this.scrollAmount=0" onMouseOut="this.scrollAmount=4">
<? if ($row_notic['Imagen']){
$imagen=$row_notic['Imagen']; ?>
<div align="center">
<p><img src="<?php echo $imagen; ?>" width="375" height="346">
<? } ?>
</p><p> <? if ($row_notic['Imagen2']){
$imagen2=$row_notic['Imagen2']; ?>
</p>
<div align="center">
<p><img src="<?php echo $imagen2; ?>" width="375" height="346"><? }?> </p>
<p>
<? if ($row_notic['Imagen3']){
$imagen3=$row_notic['Imagen3']; ?>
</p>
<div align="center"><img src="<?php echo $imagen3; ?>" width="375" height="346" ><? }?></div>
</div>
</div></MARQUEE></td>
</tr>
<tr>
<td height="15"><div align="center" class="Estilo3">
<div align="justify">
<blockquote>
<p class="tah11"><?php echo $row_notic['Descripcion']; ?></p>
</blockquote>
</div>
</div></td>
</tr>
</table></TD>

<td width=301 height=416 align="right" background="images/bbg1.jpg" style="background-repeat:no-repeat" ><div style="padding:7; padding-left:12; padding-right:14; color:#FFF" class="tah11">
<div style="overflow-y:scroll; height:342px; width:270px">
<?php do { ?>
<p align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_noti['Nombre']; ?></font></strong></p>
<p align="center">&nbsp;<? if($row_noti['Imagen']==''){ $imagen='images/nohay.JPG';} else { $imagen=$row_noti['Imagen'];} ?>
<a href="noticias.php?noticias=<?php echo $row_noti['id_noticia']; ?>"><img src="<?php echo $imagen; ?>" width="120" height="100" alt="ver informacion general"></a><br><br>
------------------------------------------</p>
<p align="center"></p>
<div align="center"></div>
<?php } while ($row_noti = mysql_fetch_assoc($noti)); ?>
</div
></div></td>
</tr>
<tr>
<td height="2"></td>
</tr>
</table>

Gracias por su apoyo
  #2 (permalink)  
Antiguo 05/10/2009, 15:27
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: problemas con mi codigo php HELP!

Parece esto, Tu variable noticias que pasas por GET nunca lo estas recuperando como deberías

Código PHP:
$noticias=$_GET['noticias']; 
y como tienes un if ahí arriba que verifica que si $noticias tiene un valor y como no tiene, entonces siempre inicializa en el mismo valor.

Salu2
  #3 (permalink)  
Antiguo 05/10/2009, 15:33
 
Fecha de Ingreso: septiembre-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: problemas con mi codigo php HELP!

me podrias decir com recuperarla de favor la verdad no soy muy bueno con el php

te lo agradeceria mucho
  #4 (permalink)  
Antiguo 05/10/2009, 15:37
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: problemas con mi codigo php HELP!

ya te puse el cómo arriba de todos modos de nuevo..

Código PHP:
$noticias=$_GET['noticias']; 
Salu2
  #5 (permalink)  
Antiguo 05/10/2009, 16:13
 
Fecha de Ingreso: septiembre-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: problemas con mi codigo php HELP!

de verdad muchas gracias efectivamente me hacia falta ese linea de comando, por otra parte espero me puedas tambien ayudar con lo siguiente en mi administrador de tipo php tengo las opciones de agregar, editar y eliminar me permite agregar cualquier noticia pero al quere editarla me muestra todas las noticias que tengo pero al seleccionar una ahi se queda. el archivo en el que se supone se debe editar las noticias es el siguiente

<?php require_once('Connections/dancesfitness.php'); ?>
<?php
//initialize the session
session_start();

// ** Logout the current user. **
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
$logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
//to fully log out a visitor we need to clear the session varialbles
session_unregister('MM_Username');
session_unregister('MM_UserGroup');

$logoutGoTo = "administrar.php";
if ($logoutGoTo) {
header("Location: $logoutGoTo");
exit;
}
}
?>
<?php
session_start();
$MM_authorizedUsers = "";
$MM_donotCheckaccess = "true";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
// For security, start by assuming the visitor is NOT authorized.
$isValid = False;

// When a visitor has logged into this site, the Session variable MM_Username set equal to their username.
// Therefore, we know that a user is NOT logged in if that Session variable is blank.
if (!empty($UserName)) {
// Besides being logged in, you may restrict access to only certain users based on an ID established when they login.
// Parse the strings into arrays.
$arrUsers = Explode(",", $strUsers);
$arrGroups = Explode(",", $strGroups);
if (in_array($UserName, $arrUsers)) {
$isValid = true;
}
// Or, you may restrict access to only certain users based on their username.
if (in_array($UserGroup, $arrGroups)) {
$isValid = true;
}
if (($strUsers == "") && true) {
$isValid = true;
}
}
return $isValid;
}

$MM_restrictGoTo = "administrar.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {
$MM_qsChar = "?";
$MM_referrer = $_SERVER['PHP_SELF'];
if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0)
$MM_referrer .= "?" . $QUERY_STRING;
$MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
header("Location: ". $MM_restrictGoTo);
exit;
}

mysql_select_db($database_dancesfitness, $dance);
$query_noti = "SELECT * FROM noticias";
$noti = mysql_query($query_noti, $dance) or die(mysql_error());
$row_noti = mysql_fetch_assoc($noti);
$totalRows_noti = mysql_num_rows($noti);
?>
<?


if($noti){
$query_actual = "SELECT * FROM noticias where id_noticia='$notic'";
$actual = mysql_query($query_actual, $dance) or die(mysql_error());
$row_actual = mysql_fetch_assoc($actual);
$totalRows_actual = mysql_num_rows($actual);
}

?>

<font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><strong>Elige
Noticia a modificar</strong></font></p>
<?php do { ?>
<table width="87%" border="1" align="center">
<tr onMouseOver="uno(this,'#0099CC');" onMouseOut="dos(this,'');" onClick="location.href('editnoti.php?notic=<?php echo $row_noti['id_noticia']; ?>')">
<td width="147" height="56"> <div align="center"><strong><font color="#000000"><?php echo $row_noti['Nombre']; ?></font></strong></div></td>
<td width="229" align="center"> <div align="center"><span class="Estilo9"><strong><font color="#000000"><?php echo $row_noti['Descripcion']; ?></font></strong></span><br />
<br />
</div></td>
<td width="73"><div align="center">
<? if($row_noti['Imagen']==''){ $imagen='images/nohay.JPG';} else { $imagen=$row_noti['Imagen'];} ?>
<img src="<?php echo $imagen; ?>" width="89" height="48" /></div></td>
</tr>
</table>
<div align="center"><br />
</div>
<?php } while ($row_noti = mysql_fetch_assoc($noti)); ?>
<p>
<? } else{ ?>
<br />
</p>
<form action="notieditado.php" method="post" enctype="multipart/form-data" name="form1" class="Estilo48" id="form1">
<input name="id_noticia" type="hidden" id="id2" value="<?php echo $row_actual['id_noticia']; ?>" />
<br />
<p><strong><font color="#000000">Nombre de la Noticia:</font></strong>
<br />
<input name="nombre" type="text" id="nombre" size="65" value="<?php echo $row_actual['Nombre']; ?>" />
</p>
<p><strong><font color="#000000">Descripci&oacute;n:</font></strong>
<br />
<textarea name="descripcion" cols="50" rows="6" id="descripcion"><?php echo $row_actual['Descripcion']; ?></textarea>
</p>

<table width="100%" border="0">
<tr>
<td width="33%"><div align="center"><strong><font color="#000000">Imagen1:</font></strong>
</div></td>
<td width="33%"><div align="center"><strong><font color="#000000">Imagen2:</font></strong>
</div></td>
<td width="34%"><div align="center"><strong><font color="#000000">Imagen3:</font></strong>
</div></td>
</tr>
<tr>
<td>
<? if($row_actual['Imagen']==''){ $imagen='images/nohay.JPG';} else { $imagen=$row_actual['Imagen'];} ?>
<div align="center"><img src="<?php echo $imagen; ?>" width="137" height="120" /></div></td>
<td>
<? if($row_actual['Imagen2']==''){ $imagen2='images/nohay.JPG';} else { $imagen2=$row_actual['Imagen2'];} ?>
<div align="center"><img src="<?php echo $imagen2; ?>" width="137" height="120" />
</div></td>
<td>
<? if($row_actual['Imagen3']==''){ $imagen3='images/nohay.JPG';} else { $imagen3=$row_actual['Imagen3'];} ?>
<div align="center"><img src="<?php echo $imagen3; ?>" width="137" height="120" />
</div></td>
</tr>
</table>

CREES QUE TENGA EL MISMO PROBLEMA, GRACIAS POR TU APOYO TE PROMETO QUE SI QUEDA TE PONDRE EN LA PARTE DE DESARROLLADORES COMO COLABORADOR GRACIAS
  #6 (permalink)  
Antiguo 05/10/2009, 16:44
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: problemas con mi codigo php HELP!

Bueno, por un lado pasas $notic por GET aquí:

Código PHP:
location.href('editnoti.php?notic=<?php echo $row_noti['id_noticia']; ?>'
Y bueno nunca lo recuperas es decir $notic no llega a tener valor

Código PHP:
$notic=$_GET['notic']; 
...Eso en principio

Salu2
  #7 (permalink)  
Antiguo 06/10/2009, 16:21
 
Fecha de Ingreso: septiembre-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: problemas con mi codigo php

estimado amigo cosmo me gustaria agradecerte de verdad tus buenas observaciones, eres un experto en esto definitivamente, antes asi tenia mi codigo sin estos nuevos comandos y funcionaban correctamente mis paginas, pero a partir del nuevo I.E.8.0 me conzaron a dar problemas.

He realizado cada una de las observaciones que me has hecho y efectivamente ahora la parte de mi administrador ya funciona, pero al enviar el Form lamentablemente realiza las modificaciones que haga, ya sea en el nombre de la noticia o en cualquier otro campo. Tal como me lo decias el dia de ayer, lo que me conetaste solo fue el principio de mis errores de los cuales me apeno ya que no soy experto en php pero si tu puedes apoyarme te lo agradecere enormemente.

no logro encontrar el problema del porque no me realiza las modificaciones ya hice lo del los GEt tanto en mi archivo editnoti.php que es el ultimo codigo que te envie a traves de este maravilloso foro. claro esta que al dar click en mi boton <input type="submit" name="Submit" value="Actualizar Noticias" />

me manda al archivo notieditado.php mismo que tiene el siguiente cuerpo no se si aqui este mi error

<?php require_once('Connections/dancesfitness.php'); ?>
<?php
$colname_notici = "1";
if (isset($HTTP_POST_VARS['id_noticia'])) {
$colname_notici = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['id_noticia'] : addslashes($HTTP_POST_VARS['id_noticia']);
}
mysql_select_db($database_dancesfitness, $dance);
$query_noti = sprintf("SELECT * FROM noticias WHERE id_noticia = %s", $colname_notici);
$noti = mysql_query($query_noti, $dance) or die(mysql_error());
$row_noti = mysql_fetch_assoc($noti);
$totalRows_noti = mysql_num_rows($noti);

mysql_select_db($database_dancesfitness, $dance);
if($imagen==''and $imagen2=='' and $imagen3==''){
mysql_select_db($database_dancesfitness, $dance);
$actualiza="UPDATE noticias SET Nombre='$nombre',Descripcion='$descripcion' WHERE id_noticia='$id_noticia'";
$actualizado = mysql_query($actualiza, $dance) or die(mysql_error());
?>
</strong></font></p>
<p align="center"><font color="#FFFFFF" size="5"><strong><span class="Estilo13"><font color="#000000">Noticia
actualizada con &eacute;xito!</font></span> </strong></font></p>
<p align="center"> <? } if($imagen and $imagen2=='' and $imagen3==''){
copy($imagen,"images/noticias/".$imagen_name);
$ruta_imagen = "images/noticias/".$imagen_name ;
mysql_select_db($database_dancesfitness, $dance);
$actualiza="UPDATE noticias SET Nombre='$nombre',Descripcion='$descripcion',Imagen ='$ruta_imagen'WHERE id_noticia='$id_noticia'";
$actualizado = mysql_query($actualiza, $dance) or die(mysql_error());
?></p>
<p align="center"><font color="#FFFFFF" size="5"><strong><span class="Estilo13"><font color="#000000">Noticia actualizada con &eacute;xito!</font></span> </strong></font></p>
<p align="center"> <? } if($imagen=='' and $imagen2 and $imagen3==''){
copy($imagen2,"images/noticias/".$imagen2_name);
$ruta_imagen2 = "images/noticias/".$imagen2_name ;

mysql_select_db($database_dancesfitness, $dance);
$actualiza="UPDATE noticias SET Nombre='$nombre',Descripcion='$descripcion',Imagen 2='$ruta_imagen2' WHERE id_noticia='$id_noticia'";
$actualizado = mysql_query($actualiza, $dance) or die(mysql_error());
?>
  #8 (permalink)  
Antiguo 06/10/2009, 17:25
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: problemas con mi codigo php

No estás rescatando las variables (en el form lo estás pasando por POST) entonces:

Código PHP:
$nombre=$_POST['nombre'];
$descripcion=$_POST['descripcion'];
etccccc... 
ahh otra cosa

$HTTP_POST_VARS['id_noticia'] seria lo mismo que $_POST['id_noticia'] es el método abreviado lo otro ya es muy antiguo.

En cuanto al navegador no creo que el problema sea por eso; lo que debió pasar es que cambiaste de servidor WEB APACHE.

541u2
__________________
No hay mail que por internet no venga
  #9 (permalink)  
Antiguo 07/10/2009, 00:57
 
Fecha de Ingreso: septiembre-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: problemas con mi codigo php

perdon por mi ineptitud pero esa linea de codigo la tengo que cambiar en el archivo notieditado.php?

en esta parte $actualiza="UPDATE noticias SET Nombre='$nombre',Descripcion='$descripcion' WHERE id_noticia='$id_noticia'";

porque ya lo hice pero aun asi no me actualiza la noticia

lo hice de la siguiente manera
Nombre=$nombre=$_POST['nombre'];
Descripcion=$descripcion=$_POST['descripcion'];

por ejemplo hablando de las dos primeras opciones

te agradecere mucho de verdad me des tus comentarios no importa si me dices burro te juro que me apena no entender esto

gracias de antemano
  #10 (permalink)  
Antiguo 07/10/2009, 02:00
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años, 1 mes
Puntos: 16
Respuesta: problemas con mi codigo php

Cita:
Iniciado por cachomor Ver Mensaje
perdon por mi ineptitud pero esa linea de codigo la tengo que cambiar en el archivo notieditado.php?

en esta parte $actualiza="UPDATE noticias SET Nombre='$nombre',Descripcion='$descripcion' WHERE id_noticia='$id_noticia'";

porque ya lo hice pero aun asi no me actualiza la noticia

lo hice de la siguiente manera
Nombre=$nombre=$_POST['nombre'];
Descripcion=$descripcion=$_POST['descripcion'];

por ejemplo hablando de las dos primeras opciones

te agradecere mucho de verdad me des tus comentarios no importa si me dices burro te juro que me apena no entender esto

gracias de antemano
fijate porque no te la actualiza cual es el error que te tira?
las posibilidades son:
error en la sintaxi
error en los nombres de los campos (fields)
variables vacias
no pone comillas al set cuando se trata de valores no numericos

comenta el codigo y hace un print_r a pos
Código php:
Ver original
  1. print_r($_POST);

te va a devolver todos las llaves y valores de la variable, con eso comprobas que no esten vacios

si no lo estan verifica el error que te da mysql_error()

si los datos son de tipo string pone las comillas cuando hagas la consulta
tal como esta aca
Código php:
Ver original
  1. $actualiza="UPDATE noticias SET Nombre='$nombre',Descripcion='$descripcion' WHERE id_noticia='$id_noticia'";

por favor si vas a mostrar codigo usa el resaltador de codigo, sino es muy incomodo buscar un problema en tu codigo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:06.