Foros del Web » Programando para Internet » PHP »

Problema que desconozco....

Estas en el tema de Problema que desconozco.... en el foro de PHP en Foros del Web. Hola Compañeros, Por motivos que desconozco, este codigo para introducir datos en mi base de datos. No funciona. Haber si alguien pudiera orientarme del porque ...
  #1 (permalink)  
Antiguo 30/10/2006, 16:48
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Problema que desconozco....

Hola Compañeros,

Por motivos que desconozco, este codigo para introducir datos en mi base de datos. No funciona.
Haber si alguien pudiera orientarme del porque de esto.
La questión es que los datos de acceso a la base de datos son correctos y los nombres de la base de datos tambien.

He comprobado uncluso si las variables del formulario legaban y efectivamente llegan, o sea se transmiten del formulario al documento php encargado de introducirlos. Por eso el problema debe ser de dicho documento.

Aqui os remito el codigo:

<html>
<head>
</head>
<body bgcolor="#B3E7FF">
<center><font size="1">
<?php

$db = mysql_connect('localhost','xxxxxxxxx','xxxxxx');
mysql_select_db('digiocio_com_1',$db);



function quitar($mensaje)
{
$mensaje = str_replace("<","&lt;",$mensaje);
$mensaje = str_replace(">","&gt;",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',"&quot;",$mensaje);
$mensaje = str_replace("\\\\","\",$mensaje);
return $mensaje;
}

if(trim($HTTP_POST_VARS["descripcion"]) != "" && trim($HTTP_POST_VARS["descripcionpedido"]) != "" && trim($HTTP_POST_VARS["horasestimadas"]) != "")
{
$sql = "SELECT descripcion FROM corporation_proyectos WHERE descripcion='".quitar($HTTP_POST_VARS["descripcion"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "Error, el nombre de proyecto ya ha sido utilizado";
}
else
{
$sql = "INSERT INTO corporation_proyectos (descripcionpedido,descripcion,estado,horasestimad as,horasreales,autor,fechadealta,fechaderealizado, enlacedesarrollo,namecliente) VALUES (";
$sql .= ",'".quitar($HTTP_POST_VARS["descripcionpedido"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["descripcion"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["estado"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["horasestimadas"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["horasreales"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["autor"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["fechadealta"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["fechaderealizado"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["enlacedesarrollo"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["namecliente"])."'";
$sql .= ")";
}
mysql_query($sql);
echo "Registro correcto!";

?>
<center><font size="2">Insertar un nuevo articulo al mismo proyecto.</font></center>
<center><font size="1">
<FORM action="http://corporation.digiocio.com/intranet/altaproyectosclientes2.php" method=post>
Descripción articulo:&nbsp;
<?php
$sSQL='Select * From corporation_servicios Order By descripcion';
$resultt=mysql_db_query('digiocio_com_1',$sSQL);

echo '<select name="descripcionpedido">';

//Generamos el menu desplegable
while ($row=mysql_fetch_array($resultt))
{echo '<option>'.$row["descripcion"].'</option>';}
echo '</select>';
?>
<p>
Nombre proyecto:&nbsp;<?php echo ''.$descripcion; ?><INPUT type="hidden" name="descripcion" value="<?php echo ''.$descripcion; ?>">
&nbsp;&nbsp;&nbsp;Estado:&nbsp;<INPUT type="text" name="estado" value="<?php echo ''.$estado; ?>"><p>
Horas estimadas:&nbsp; <INPUT type="text" name="horasestimadas">
&nbsp;&nbsp;&nbsp;Horas reales: &nbsp;No iniciado.<INPUT type="hidden" name="horasreales" value="0"><p>
Autor:&nbsp; <?php echo ''.$trabajador; ?><INPUT type="hidden" name="autor" value="<?php echo ''.$trabajador; ?>">
&nbsp;&nbsp;&nbsp;Fecha de alta:&nbsp;<?php
$a = date('y');
$b = date('m');
$c = date('d');
echo "".$c."/".$b."/".$a;
?>
<INPUT type="hidden" name="fechadealta" value="<?php echo ''.$c."/".$b."/".$a; ?>"><p>
Fecha de finalización:&nbsp; No finalizado.<INPUT type="hidden" name="fechaderealizado" value="00/00/0000"><p>
<INPUT type="hidden" name="enlacedesarrollo" value="">
Cliente: &nbsp;<?php echo ''.$namecliente; ?><INPUT type="hidden" name="namecliente" value="<?php echo ''.$namecliente; ?>"><p>

<INPUT type=submit value="Registrar"></DIV>

</FORM></font>
</center>
<?php
mysql_free_result($resultt);
}
else
{
echo "Debe llenar todos los campos.";
}
mysql_close();
?>
</font></center>

</body></html>



Gracias por todo y un saludo.

Section1
  #2 (permalink)  
Antiguo 30/10/2006, 17:08
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

Seria bueno que indicaras que error te esta "saliendo" en pantalla.

Intercambia $HTTP_POST_VARS por $_POST[]. Estoy casi seguro que tu version de php no esta por debajo de la 4.3

Saludillos.
  #3 (permalink)  
Antiguo 30/10/2006, 17:17
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
El Echo Es Que No Me Sale Ninguntipo De Error
  #4 (permalink)  
Antiguo 30/10/2006, 17:23
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
EL ECHO ES QUE NO ME SALE NINGUN TIPO DE ERROR
Simplemente se ejecuta el codigo y no se introducen los datos.
Por lo que comentas de $HTTP_POST_VARS por $_POST[]. lo dudo ya que este tipo de codigo lo he usado en otras secciones y me ha funcionado y despues de comprovar variable por variable todas llegan correctamente.

No se estoy desconcertado no entiendo el porque por mas vueltas que le doy

Gracias Mauled.

Un saludo Section1
  #5 (permalink)  
Antiguo 30/10/2006, 17:25
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

1) ¿Tienes conocimiento de php?
2)
Cita:
Por motivos que desconozco, este codigo para introducir datos en mi base de datos. No funciona.
¿Entonces por que dices esto?

3)Intercamba lo siguiente

Código PHP:
$result mysql_query($sql);

//por 

$result mysql_query($sql)or die(mysql_error());
//Y di nos si te arrojo algun error 
4) ¿Ya cambiaste $HTTP_POST_VARS por $_POST[]?

Saludillos.
  #6 (permalink)  
Antiguo 30/10/2006, 17:30
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

¿Esta linea para que la usas?
Código PHP:
$mensaje str_replace("\\\\","\",$mensaje);
//Si la eliminas creo que ya no tendras problemas 
Saludillos.
  #7 (permalink)  
Antiguo 30/10/2006, 17:31
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Tengo conocimiento de php pero tampoco no es que lo domine.

He aplicado todos los cambios que me has indicado y no muestra ningun problema.

Saludos.
  #8 (permalink)  
Antiguo 30/10/2006, 17:33
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
en principio en esta aplicacion para nada porque he hecho un corta y pega de otra aplicacion de donde deseaba que filtrara dichos simbolos

saludos
  #9 (permalink)  
Antiguo 30/10/2006, 17:34
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

Si tienes acceso a tu php.ini verifica que tengas lo siguiente
Cita:
; - Show all errors except for notices and coding standards warnings
;
error_reporting = E_ALL & ~E_NOTICE

; Print out errors (as a part of the output). For production web sites,
; you're strongly encouraged to turn this feature off, and use error logging
; instead (see below). Keeping display_errors enabled on a production web site
; may reveal security information to end users, such as file paths on your Web
; server, your database schema or other information.
display_errors = On

Saludillos.
  #10 (permalink)  
Antiguo 30/10/2006, 17:36
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
No tengo acceso a dicho archivo ya que lo tengo en un servidor de pago.

Saludos
  #11 (permalink)  
Antiguo 30/10/2006, 17:38
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Exclamación

Pues mira yo tengo "zend studio" y me esta arrogando error en esta linea.
Código PHP:
$mensaje str_replace("\\\\","\",$mensaje); 
//Me marca error de sintaxis. 
Por eso pregunto que estas tratando de hacer con esa linea para de esta forma buscar otra solución.

Saludillos.
  #12 (permalink)  
Antiguo 30/10/2006, 17:53
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
No se sigue sin funcionar....

Saludos y gracias por la ayuda.

Última edición por Section1; 30/10/2006 a las 18:41
  #13 (permalink)  
Antiguo 30/10/2006, 21:23
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 17 años, 8 meses
Puntos: 0
Copie tu codigo a mi servidor de prueba y tienes error en la linea 19

$mensaje = str_replace("\\\\","\",$mensaje);

los carateres escapados salen de tus manos por ahi

Seria bueno que te instales localmente apache php y mysql para hacer pruebas

intenta comentarla hasta y prueba que funcone

//$mensaje = str_replace("\\\\","\",$mensaje);
  #14 (permalink)  
Antiguo 03/11/2006, 08:07
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
ok's muchas gracias asi lo hare
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 18:49.