Foros del Web » Programando para Internet » PHP »

Tengo una falla totalmente extraña con redhat 7.3 - php y mysql

Estas en el tema de Tengo una falla totalmente extraña con redhat 7.3 - php y mysql en el foro de PHP en Foros del Web. Hola señores, de antemano gracias. Tengo un problema muy extraño, soy un programador de páginas web en proceso de crecimiento, creo que apenas estoy gateando. ...
  #1 (permalink)  
Antiguo 01/04/2004, 08:47
 
Fecha de Ingreso: marzo-2004
Mensajes: 5
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta Tengo una falla totalmente extraña con redhat 7.3 - php y mysql

Hola señores, de antemano gracias.
Tengo un problema muy extraño, soy un programador de páginas web en proceso de crecimiento, creo que apenas estoy gateando. Bien la consulta es la siguiente : He instalado mi servidor de redhat 7.3 con toda las opciones que redhat tiene, el detalle es el siguiente. Tengo un script de php para subir imagenes a mi base de datos mysql, con el metodo binario, he probado este scrip en un servidor redhat 7.2 y funciona totalmente y sube las imangenes a mi base de datos, ahora pase este script a mi redhat 7.3 y no ejecuta nada.
El escript es el siguiente :

<HTML>
<BODY>

<?php

if ($submit) {

MYSQL_CONNECT("localhost","root","");
mysql_select_db("fotos");

$data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));

$result=MYSQL_QUERY("INSERT INTO imagenes
(description,bin_data,filename,filesize,filetype) ".
"VALUES ('$form_description','$data',
'$form_data_name','$form_data_size','$form_data_ty pe')");

$id= mysql_insert_id();
print "<p>Este archivo tiene el siguiente ID de la base de datos:<b>$id</b>";

MYSQL_CLOSE();

} else {

// Mostrar el form para pedir nueva información
?>

<form method="POST" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
Descripcion de la Imagen:<br>
<input type="text" name="form_description" size="40">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="10000000">
<br>Archivo a subir/guardar en la base de datos:<br>
<input type="file" name="form_data" size="40">
<p><input type="submit" name="submit" value="submit">
</form>

<?php

}

?>
</BODY>
</HTML>

Cuando este script se ejecuta muestra el formulario al momento de dar submit debería ejecutar el codigo php para grabar la imagen a la base, pero hay una sentencia if donde si es berdadero el submit se conectará a la base y grabará la imagen de lo contrario mostrará el formulario. Y el script eso es lo que hace no graba la imagen y solo muestra el formulario.

Necesito su ayuda,
  #2 (permalink)  
Antiguo 01/04/2004, 08:54
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
que version de php usas? dependiendo de la version deberias tomar las variables de esta forma $_POST['nombre_var'], de acuerdo a la directiva register_globals del php ini. Si quieres hacer lo mismo de antes esa directiva debe estar en on: register_globals= On, sin embargo, se cambió por que la nueva forma es mas segura.
  #3 (permalink)  
Antiguo 01/04/2004, 08:58
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Me huele a register_globals a OFF. Mira el valor de esa directiva en el php.ini. Tu script solo funciona si register_globals esta a On. Creo que a partir de la version 4.2 viene por defecto a Off, porque es mas seguro.

Yo te recomendaria cambiar tu script por uno que funcione con register_globals a Off. Puedes usar el codigo del manual http://es.php.net/manual/en/features.file-upload.php como base.

Por cierto, dependiendo de la configuracion de PHP (safe_mode) puede que no puedas usar fopen() para acceder directamente al fichero temporal creado.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 19:06.