ok esperare tu respuesta, ahora tratare de explicar lo más breve y detalladamente posible como funciona mi aplicación para que veas porque no recibo la sesión (pondré solo el código relevante):
tengo publicar_opinion.php
Código HTML:
<!--al inicio-->
session_start();
<!--entre el head-->
<script type="text/javascript">
// <![CDATA[
$(document).ready(function() {
$('#file_upload').uploadify({
'uploader' : '../images/images_opiniones/uploadify.swf',
'buttonText' :'Examinar...',
'cancelImg' : '../images/images_opiniones/cancel.png',
'script' : 'uploadify.php',
'folder' : '../images/images_opiniones/uploads',
'auto' : false,
'fileDesc' : 'Tipo de imágenes permitidas (.JPG, .GIF, .PNG)',
'fileExt' : '*.jpg;*.jpeg;*.gif;*.png',
'sizeLimit' : 2097152, //default bytes *2MB* --1MB 1048576---
'method' : 'post',
'multi' : true,
});
});
// ]]>
</script>
<!--entre el body-->
<table align="center">
<tr>
<td>Su nombre</td>
<td><input class="input_type_text" type="text" id="autor_opinion" name="autor_opinion" maxlength="100" onkeypress="return letras(event)" /><div id="error_autor_op" class="error" style="display:none"></div></td>
</tr>
<tr>
<td>*Su email</td>
<td><input class="input_type_text" type="text" id="email_opinion" name="email_opinion" maxlength="100" /><div id="error_email_op" class="error" style="display:none"></div></td>
</tr>
<!--mas campos-->
<tr>
<td colspan="2" align="center"><input type="button" id="enviar" value="Enviar" onclick="procesar_opinion()" /></td>
</tr>
</table>
ahora el botón llama la función ajax procesar_opinion(), esta función valida los campos y los envía a procesar_opinion.php:
Código PHP:
session_start();
include('../conexion_mysql/conecta_db.php');
$conn_mysql = conecta_db();
//recibo variables
$autor_opinion=trim($_GET['autor_opinion']);
//...demas variables
//inserto a la bd
$sql_insert="Insert into opiniones (autor_op, x, x, x, x, x, x, x) values ('$autor_opinion', '$x', '$x', '$x', '$x', '$x', '$x', '$x')";
mysql_query($sql_insert) or die('Error en la inserción: '.mysql_error());
//aca saco el id que se acaba de generar y lo guardo en la sesion, es la unica variable que me interesa pasar
$id_opinion = mysql_insert_id();
$_SESSION['id_op']=$id_opinion;
echo $_SESSION['id_op'];//le hago un echo para comprobar que esta guardando el valor y si lo hace
una vez que la funcion ajax regresa a publicar_opinion.php, le pregunto al usuario si desea agregar fotos, entonces en publicar_opinion.php, despues del formulario tengo esto:
Código HTML:
<input id="file_upload" type="file" name="file_upload" />
<input type="button" class="fin_add_img" id="upload" value="Subir" onclick="$('#file_upload').uploadifyUpload();"/>
aca llama todo el rollo del uploadify que envia a uploadify.php, donde estoy tratando de recuperar la variable de sesion:
Código PHP:
session_start();
include('../conexion_mysql/conecta_db.php');
$conn_mysql = conecta_db();
$id_opinion=$_SESSION['id_op']; echo "recibi id: ".$id_opinion; //echo vacio
$root = $_SERVER['DOCUMENT_ROOT'];
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $root.'/images/images_opiniones/uploads/';
$fileName = $_FILES['Filedata']['name'];
$targetFile = $targetPath.$fileName;
move_uploaded_file($tempFile,$targetFile);
$sql_insert="Insert into imagenes (nombre_img, ruta_img, id_opinion) values ('$fileName', '$targetFile', '$id_opinion')";
mysql_query($sql_insert) or die('Error en la inserción: '.mysql_error());
echo "ok";
exit();
Pues el motivo de querer recuperar el id_opinion es que las imágenes deben estar relacionas con la opinión, entonces en mi tabla imágenes tengo de llave foránea el id_opinion
El uploadify.php me devuelve error, dice undefine index id_op
pues así esta mi relajo
Gracias infinitamente por tu ayuda