Foros del Web » Programando para Internet » PHP »

Warning: session_start()

Estas en el tema de Warning: session_start() en el foro de PHP en Foros del Web. Hola amigos, me ocurre un problema mayor, no me lo explico O_O Estoy construyendo un script en PHP, y el problema que noté hoy fue ...
  #1 (permalink)  
Antiguo 08/08/2009, 00:35
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 12 años, 2 meses
Puntos: 188
Warning: session_start()

Hola amigos, me ocurre un problema mayor, no me lo explico O_O

Estoy construyendo un script en PHP, y el problema que noté hoy fue q no puedo hacer login y me sale estos 2 warnings

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\_root\AppServ\www\scripts\001\admin\index.php:1 ) in D:\_root\AppServ\www\scripts\001\admin\index.php on line 5

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\_root\AppServ\www\scripts\001\admin\index.php:1 ) in D:\_root\AppServ\www\scripts\001\admin\index.php on line 5


Las lineas de código son estas:

Código PHP:
<?php
//Conectamos a DB
$login_db mysql_connect("localhost","root","gateway");
mysql_select_db("lovepage",$login_db);
session_start();

//Comprobamos sesion
if (isset($_SESSION['username'])){
echo 
"Mostramos pagina web";
} else { include(
'login.php'); }

Cual podría ser el problema, no entiendo el porque ayer funciono y hoy no =S. Muchas gracias.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #2 (permalink)  
Antiguo 08/08/2009, 00:37
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Warning: session_start()

asegurate que el session_start(); este antes de todo el codigo html o antes del header por lo menos. Si te sigue dando el error te recomiendo que pongas el codigo con el html (si es que usas) para analizarlo.
__________________
Existen solamente 10 tipos de personas, los que saben leer binario y los que no.
  #3 (permalink)  
Antiguo 08/08/2009, 00:41
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 6 meses
Puntos: 1517
Respuesta: Warning: session_start()

No puedes colocar espacio al principio si la linea 1 no es <?php, entonces coloca en la primera linea <?php.

Si la linea 1 tiene declarado <?php entonces
http://www.forosdelweb.com/wiki/PHP:...lready_sent%3F
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 08/08/2009, 05:31
 
Fecha de Ingreso: diciembre-2008
Mensajes: 118
Antigüedad: 11 años
Puntos: 6
Respuesta: Warning: session_start()

Lo mismo mysql está devolviendo algo y como tienes el session_start() despues, pon el session_start() al principio del script
  #5 (permalink)  
Antiguo 08/08/2009, 16:05
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 12 años, 2 meses
Puntos: 188
Respuesta: Warning: session_start()

Hola amigo la verdad si tengo el session_star() al principio de todo, pego el script para que lo miren, es algo largo XD

Aquiu lo tenes muchas gracias por la ayuda amigos espero la respuesta.

Código php:
Ver original
  1. <?php
  2. //Conectamos a DB
  3. $login_db = mysql_connect("localhost","root","gateway");
  4. mysql_select_db("lovepage",$login_db);
  5.  
  6. //Caracter aleatorio
  7. function RandomString($length=10,$uc=TRUE,$n=TRUE,$sc=FALSE){
  8. $source = 'abcdefghijklmnopqrstuvwxyz';
  9. if($uc==1) $source .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  10. if($n==1) $source .= '1234567890';
  11. if($sc==1) $source .= '|@#~$%()=^*+[]{}-_';
  12. if($length>0){
  13. $rstr = "";
  14. $source = str_split($source,1);
  15. for($i=1; $i<=$length; $i++){
  16. mt_srand((double)microtime() * 1000000);
  17. $num = mt_rand(1,count($source));
  18. $rstr .= $source[$num-1];
  19. }
  20. }
  21. return $rstr;
  22. }
  23. // Cerramos sesiones
  24. if(isset($_GET['exit'])){
  25.    session_unset();  
  26.    header ("location: ".$_SERVER['PHP_SELF']."");
  27.                            }//If isset Cerrar Session
  28. ?>
  29. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  30. <html xmlns="http://www.w3.org/1999/xhtml">
  31. <head>
  32. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  33. <title></title>
  34. <script src="includes/SpryAssets/SpryTabbedPanels.js" type="text/javascript"></script>
  35. <link href="includes/SpryAssets/SpryTabbedPanels.css" rel="stylesheet" type="text/css" />
  36. <style>
  37. #content {
  38. position:relative;
  39. margin:auto auto;
  40. text-align:center;
  41. }
  42. .border {
  43. border:3px solid #000000;
  44. }
  45. .text {
  46. font-weight:bold;
  47. text-align:center;
  48. }
  49. </style>
  50. </head>
  51. <?php                          
  52. ###################################
  53. # Pagina para Admin logeado
  54. ###################################
  55. if (isset($_SESSION['username'])){
  56. ?>
  57. <div align="right"><a href="index.php?exit">Cerrar sesión</a></div>
  58. <div id="TabbedPanels1" class="TabbedPanels">
  59.   <ul class="TabbedPanelsTabGroup">
  60.     <li class="TabbedPanelsTab" tabindex="0"><a href="index.php?general">General</a></li>
  61.     <li class="TabbedPanelsTab" tabindex="0">Usuarios</li>
  62.     <li class="TabbedPanelsTab" tabindex="0">Fotos</li>
  63.     <li class="TabbedPanelsTab" tabindex="0">Videos</li>
  64.     <li class="TabbedPanelsTab" tabindex="0">Cartas</li>
  65.     <li class="TabbedPanelsTab" tabindex="0">Email</li>
  66.   </ul>
  67.   <div class="TabbedPanelsContentGroup">
  68.     <div class="TabbedPanelsContent">
  69.     <?php
  70.  
  71.     if(isset($_GET['general'])){
  72.    
  73.    
  74.          if(isset($_POST['edit_site'])){
  75.                //Verificar campos vacios
  76.                if(empty($_POST['title'])){ echo "*Debe seleccionar un titulo"; }
  77.                elseif(empty($_POST['theme'])) { echo "Debe seleccionar un thema"; }
  78.                elseif(empty($_POST['language'])) { echo "Debe seleccionar un lenguage"; } else {
  79.            
  80.             $title = $_POST['title'];
  81.             $theme = $_POST['theme'];
  82.             $language = $_POST['language'];
  83.             $sql = "UPDATE site SET title = '$title', theme = '$theme', language ='$language' WHERE id ='1'";
  84.             $res = mysql_query($sql);
  85.                 if(!$res) { echo "No se ha podido guardar"; } else { echo "Se ha guardado"; }
  86.                                                             }//Fin else campos vacios
  87.                                       }// If isset $_POST[edit_save]
  88.                                      
  89.          if(isset($_POST['add_theme'])){
  90.             //Definimo variables
  91.             $tmp_name = $_POST['tmp_name'];
  92.             $tmp_alt_name = $_POST['tmp_alt_name'];
  93.             $temp = $_FILES['tmp_file']['tmp_name'];
  94.             $ruta = "D:/_root/AppServ/www/scripts/001/themes/".$tmp_alt_name.".zip";
  95.             $direction = "http://localhost/scripts/001/themes/".$tmp_alt_name;
  96.            
  97.                                
  98.               //Verificar campos vacios
  99.               if(empty($_POST['tmp_name'])){ echo "Debe ponerle un nombre a su tema"; }
  100.               elseif(empty($_POST['tmp_alt_name'])) { echo "El sistema no puede completar su solicitud"; }
  101.               elseif(empty($_FILES['tmp_file']['name'])) { echo "Debe subir un archivo"; }
  102.               else {
  103.                     if($_FILES['tmp_file']['type'] == "application/zip"){                
  104.                                      // Iniciamos sesion FTP
  105.                                      include('includes/login_ftp.php');
  106.                                      //Subimos archivo
  107.                                      if (is_uploaded_file($temp)){
  108.                                      $ifcopy = copy($temp, $ruta);
  109.                                      
  110.                                      
  111.                                      // Cerramos coneccion FTP
  112.                                      ftp_close($ftp_connect);
  113.                                      
  114.                                                                  }
  115.                                      //Comprobamos si se subio el archivo
  116.                                      if(!$ifcopy){ echo "No se ha subido el archivo, ERROR DEL SERVIDOR"; }
  117.                                      
  118.                                      // Descomprimimos el arcivo
  119.                                      include('includes/dUnzip2.inc.php');
  120.                                      include('includes/dZip.inc.php');
  121.                                      $zip = new dUnzip2('../themes/'.$tmp_alt_name.'.zip');
  122.                                      $zip->debug = false;
  123.                                      $zip->unzipAll('../themes/'.$tmp_alt_name.'');
  124.                                      
  125.                                      if($zip) {
  126.                                      //Borramos carpeta ZIP
  127. chdir('D:/_root/AppServ/www/scripts/001/themes/');
  128. unlink('$tmp_alt_name.zip');
  129.  
  130.                                       } else { echo "No se ha descomprimido"; }
  131.                                      
  132.                                      
  133.                                      // Insertamos en DB
  134.                                      $sql = "INSERT INTO themes (name,name_alt,ruta,date,dir) VALUES ('$tmp_name','$tmp_alt_name','$direction',NOW(),'$ruta')";
  135.                                      $res = mysql_query($sql);
  136.                                      //Comprobamos si se ha insertado
  137.                                      if(!$res){ echo "NO SE HA INSERTADO"; }
  138.                                      
  139.  
  140.                                      //Seleccionamos de DB
  141.                                      $sql = "SELECT * FROM themes WHERE name_alt = '".$_POST['tmp_alt_name']."'";
  142.                                      $res = mysql_query($sql);
  143.                                      $register=mysql_fetch_array($res);
  144.                                      
  145.                                      
  146.                                      
  147.                                                                         }//Fin if($_FILES['tmp_file']['type'] == "application/zip")                            
  148.                                                                         else { echo "El archivo no es admitido"; }
  149.                                                                                                 }// Fin else campos vacios
  150.                                      
  151.                                      }//If isset $_POST[add_theme]
  152.    
  153.    
  154.     $sql = "SELECT * FROM site";
  155.     $res = mysql_query($sql);
  156.     $row=mysql_fetch_array($res);
  157.    
  158.     echo "<h2>Configuracion del sitio</h2>";
  159.     echo "<form action='' method='post'>";
  160.     echo "<table>";
  161.     echo "<tr>";
  162.     echo "<td>Titulo: </td>";
  163.     echo "<td><input type='text' name='title' value='".$row['title']."'></td>";
  164.     echo "</tr><tr>";
  165.     echo "<td>Plantilla por defecto: </td>";
  166.     echo "<td><input type='text' name='theme' value='".$row['theme']."'></td>";
  167.     echo "</tr><tr>";
  168.     echo "<td>Lenguaje por defecto: </td>";
  169.     echo "<td><input type='text' name='language' value='".$row['language']."'></td>";
  170.     echo "</tr><tr>";
  171.     echo "<td collspan='2'><input type='submit' name='edit_site' value='Editar'></td>";
  172.     echo "</tr></table></form>";
  173.     echo "<hr>";
  174.     echo "<h2>Instalar plantillas</h2>";
  175.     echo "<form action='' method='post' enctype='multipart/form-data'>";
  176.     echo "<input type='hidden' name='tmp_alt_name' value='".RandomString(5,TRUE,TRUE,FALSE)."' />";
  177.     echo "<table width='512'><tr>";
  178.     echo "<td>Nombre: </td>";
  179.     echo "<td><input type='text' name='tmp_name' /></td>";
  180.     echo "</tr><tr>";
  181.     echo "<td>Archivo ZIP:</td>";
  182.     echo "<td><input type='file' name='tmp_file'/></td>";
  183.     echo "</tr><tr>";
  184.     echo "<td colspan='2'><input type='submit' name='add_theme' value='Enviar' /></td>";
  185.     echo "</tr></table></form>";
  186.     }
  187.     ?>
  188.     </div>
  189.     <div class="TabbedPanelsContent">Contenido 2</div>
  190.     <div class="TabbedPanelsContent">Contenido 3</div>
  191.     <div class="TabbedPanelsContent">Contenido 4</div>
  192.     <div class="TabbedPanelsContent">Contenido 5</div>
  193.     <div class="TabbedPanelsContent">Contenido 6</div>
  194.   </div>
  195. </div>
  196. <script type="text/javascript">
  197. <!--
  198. var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");
  199. //-->
  200. </script>
  201.  
  202. <?php
  203.                                   }// fin del if isset $_SESSION[username]
  204. else { include('login.php');
  205. ?>
  206. <div align="center">
  207. <form action="" method="post">
  208.     <table cellpadding="5" cellspacing="5" class="border">
  209.       <tr>
  210.         <td colspan="2">
  211.         <h1>Admin Control Panel</h1>
  212.         <?php
  213.         if(empty($echo_login)){
  214.            echo "<span class='text'>";
  215.            echo $empty_username;
  216.            echo $empty_password;
  217.            echo $error_login;
  218.            echo "</span>";
  219.                } else {
  220.              echo "<meta http-equiv=\"Refresh\" content=\"0\" />"; }
  221.         ?>
  222.         </td>
  223.       </tr>
  224.       <tr>
  225.         <td>Nombre: </td>
  226.         <td><input type="text" name="username"/></td>
  227.       </tr>
  228.       <tr>
  229.         <td>Password: </td>
  230.         <td><input type="password" name="password" /></td>
  231.       </tr>
  232.       <tr>
  233.         <td colspan="2" align="center"><input type="submit" name="submit_login" value="Entrar" /></td>
  234.       </tr>
  235.     </table>
  236. </form>
  237. </div>
  238. <?php
  239. }
  240. ?>
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #6 (permalink)  
Antiguo 08/08/2009, 16:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 6 meses
Puntos: 1517
Respuesta: Warning: session_start()

¿Leiste el segundo link?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 08/08/2009, 18:15
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 12 años, 2 meses
Puntos: 188
Respuesta: Warning: session_start()

Cita:
Iniciado por abimaelrc Ver Mensaje
No puedes colocar espacio al principio si la linea 1 no es <?php, entonces coloca en la primera linea <?php.

Si la linea 1 tiene declarado <?php entonces
http://www.forosdelweb.com/wiki/PHP:...lready_sent%3F

Hola amigo estaba leyendo aserca de los caracteres hexadecimales, y mira te cuento que abri el archivo previamente con el blog de notas para modificar la direccion de un link, y lo guarde con el mismo blog de notas, entonces es muy probable que el editor notepad me aya agregado las lineas en hexadecimal que comentan en el link que me has dado.


Verificare si es esto, gracias.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #8 (permalink)  
Antiguo 08/08/2009, 18:16
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 12 años, 2 meses
Puntos: 188
Respuesta: Warning: session_start()

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Leiste el segundo link?
Hola amigo, si amigo lo lei, trate de editar el post dond publico mi script pero se meha ido la luz eceguida despues de publicarlo XD

Gracais amigo, en un momento os cuento.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #9 (permalink)  
Antiguo 08/08/2009, 18:20
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 12 años, 2 meses
Puntos: 188
Respuesta: Warning: session_start()

LISTO, PROBLEMA SOLUCIONADO

-> Para los que les llegue a pasar este problema y no encuentren una solucion lean este link que nos comparte el amigo Abimaelc

http://www.forosdelweb.com/wiki/PHP:...lready_sent%3F

Saludos
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:50.