Foros del Web » Programando para Internet » PHP »

necesito ayuda por fa

Estas en el tema de necesito ayuda por fa en el foro de PHP en Foros del Web. lo que pasa es que estoy haciendo un libro de visitas para mi web http://www.pinkynet.com.mx/busquedas estoy usando wampmanager para checarlo, y sale muy bien no ...
  #1 (permalink)  
Antiguo 24/09/2008, 18:46
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
necesito ayuda por fa

lo que pasa es que estoy haciendo un libro de visitas para mi web http://www.pinkynet.com.mx/busquedas

estoy usando wampmanager para checarlo, y sale muy bien no marca error, pero a la hora de subirlo a mi hosting me sale el error el error empieza desde fwrite, les dejo el codigo, de antemano gracias...

Código PHP:
<?php
class maxGuestbook{
   var 
$messageDir 'messages';
   var 
$dateFormat 'Y-m-d g:i:s A';
   var 
$itemsPerPage 5;
   var 
$messageList;
   
function 
processGuestbook(){
   if (isset(
$_POST['submit'])) {
      
$this->insertMessage();
   }
   
$page = isset($_GET['page']) ? $_GET['page'] : 1;
   
   
$this->displayGuestbook($page);
}
   
function 
getMessageList(){
    
   
$this->messageList = array();
   
    
// Open the actual directory
    
if ($handle = @opendir($this->messageDir)) {
        
// Read all file from the actual directory
        
while ($file readdir($handle))  {
            if (!
is_dir($file)) {
               
$this->messageList[] = $file;
          }
        }
    }    
    
    
rsort($this->messageList);
    
    return 
$this->messageList;
}   

function 
displayGuestbook($page=1){
      
$list $this->getMessageList();
      
//echo "<center><a href='add.php'>Leave a message</a></center>";
      
echo "<table class='newsList'>";
      
      
//Get start point and end point
      
$startItem = ($page-1)*$this->itemsPerPage;
      if ((
$startItem $this->itemsPerPage) > sizeof($list)) $endItem sizeof($list);
      else 
$endItem $startItem $this->itemsPerPage
      
      for (
$i=$startItem;$i<$endItem;$i++){
         
//foreach ($list as $value) {
         
$value $list[$i];
          
$data file($this->messageDir.DIRECTORY_SEPARATOR.$value);
          
$name  trim($data[0]);
          
$email trim($data[1]);
         
$submitDate trim($data[2]);    
         unset (
$data['0']);
         unset (
$data['1']);
         unset (
$data['2']);
          
         
$content "";
         foreach (
$data as $value) {
               
$content .= $value;
         }
          
          echo 
"<tr><th align='left'><a href=\"mailto:$email\">$name</a></th>
                    <th class='right'>$submitDate</th></tr>"
;
          echo 
"<tr><td colspan='2'>".nl2br(htmlspecialchars($content))."<br/></td></tr>";
      }
      echo 
"</table>";
      if (
sizeof($list) == 0){
         echo 
"<center><p>No messages at the moment!</p><p>&nbsp;</p></center>";
      }
      
// Create pagination
      
if (sizeof($list) > $this->itemsPerPage){
         echo 
"<div id=\"navigation\">";
         if (
$startItem == 0) {
            if (
$endItem sizeof($list)){
               echo 
"<div id=\"nright\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\" >Next &raquo;</a></div>";
            } else {
               
// Nothing to display
            
}
         } else {
            if (
$endItem sizeof($list)){
               echo 
"<div id=\"nleft\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\" >&laquo; Prev</a></div>";
               echo 
"<div id=\"nright\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\" >Next &raquo;</a></div>";
            } else {
               echo 
"<div id=\"nleft\"><a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\" >&laquo; Prev</a></div>";
            }
         }
         
         echo 
"<br/></div><br/>";
      }
      echo 
"<hr />";
      
$this->displayAddForm();
}

function 
displayAddForm(){
?>  
  <form class="iform" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Name:<br/>
    <input type="text" name="name" size="30"/><br/><br/>
    Email:<br/>
    <input type="text" name="email" size="30"/><br/><br/>
    Your message:<br/>
    <textarea name="message" rows="7" cols="49"></textarea><br/>
    <center><input type="submit" name="submit" value="Save" /></center>
  </form> 
   
<?php   
}

function 
insertMessage(){
   
$name   = isset($_POST['name']) ? $_POST['name'] : 'Anonymous';
   
$email  = isset($_POST['email']) ? $_POST['email'] : '';
   
$submitDate  date($this->dateFormat);
   
$content = isset($_POST['message']) ? $_POST['message'] : '';
   
   if (
trim($name) == ''$name 'Anonymous';
   if (
strlen($content)<5) {
      exit();
   }
   
   
$filename date('YmdHis');
   if (!
file_exists($this->messageDir)){
      
mkdir($this->messageDir);
   }
   
$f fopen($this->messageDir.DIRECTORY_SEPARATOR.$filename.".txt","w+");    //el error empieza aqui     
   
fwrite($f,$name."\n");
   
fwrite($f,$email."\n");
   
fwrite($f,$submitDate."\n");
   
fwrite($f,$content."\n");
   
fclose($f);
   
// y termina aqui pero nada mas cuando lo subo  a mi hosting en mi pc lo corre sin problemas 
   //el error es este Warning: fopen(messages/20080924191253.txt) [function.fopen]: failed to open stream: Permission denied in /home/chicharrin/domains/pinkynet.com.mx/public_html/visitas/maxGuestbook.class.php on line 132
//y mas abajo dice esto Warning: fwrite(): supplied argument is not a valid stream resource in /home/chicharrin/domains/pinkynet.com.mx/public_html/visitas/maxGuestbook.class.php on line 133
//y asi hasta la linea 137
}
}
?>
  #2 (permalink)  
Antiguo 24/09/2008, 19:06
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: necesito ayuda por fa

El error lo dice claramente: Primero falla porque no tiene permisos para abrir/crear el fichero messages/20080924191253.txt. Luego, como no ha podido abrirlo/crearlo, falla porque no puede escribir en él.

Revisa los permisos en el directorio messages para ver que realmente puedes crear los ficheros ahí.
  #3 (permalink)  
Antiguo 24/09/2008, 19:11
 
Fecha de Ingreso: septiembre-2008
Mensajes: 21
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: necesito ayuda por fa

Asegurate que los permisos de los archivos a los cuales vas a aplicar el fwrite esten abiertos para este tipo de operacion :)
  #4 (permalink)  
Antiguo 24/09/2008, 23:03
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: necesito ayuda por fa

Cita:
Iniciado por ghesent Ver Mensaje
Asegurate que los permisos de los archivos a los cuales vas a aplicar el fwrite esten abiertos para este tipo de operacion :)
pero como lo puedo saber me puedes dar un ejemplo?
  #5 (permalink)  
Antiguo 24/09/2008, 23:04
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: necesito ayuda por fa

Cita:
Iniciado por venkman Ver Mensaje
El error lo dice claramente: Primero falla porque no tiene permisos para abrir/crear el fichero messages/20080924191253.txt. Luego, como no ha podido abrirlo/crearlo, falla porque no puede escribir en él.

Revisa los permisos en el directorio messages para ver que realmente puedes crear los ficheros ahí.
pero como lo reviso
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:39.