Foros del Web » Programando para Internet » PHP »

Problema con código PHP

Estas en el tema de Problema con código PHP en el foro de PHP en Foros del Web. Buenas tardes, soy nuevo en este foro pero tengo una duda en php que no soy capaz de resolver. Estoy haciendo una pagina web, swlt.com ...
  #1 (permalink)  
Antiguo 09/06/2015, 08:47
 
Fecha de Ingreso: junio-2015
Mensajes: 2
Antigüedad: 4 años, 1 mes
Puntos: 0
Exclamación Problema con código PHP

Buenas tardes, soy nuevo en este foro pero tengo una duda en php que no soy capaz de resolver.
Estoy haciendo una pagina web, swlt.com y tengo un panel para subir noticias. Subo las noticias tal y cual y luego tengo otro panel que es donde salen todas las noticias para publicarlas. EN ese panel, sale el titulo de la noticia, el autor, etc etc... y un textArea (con un editor para este llamado tinymce) que es donde se muestra la noticia que escribimos anteriormente en el otro panel. La noticia, osea lo que escribimos en el textArea se guarda en un archivo del hosting.
Todas las noticias son formularios independientes y cuando enviamos los campos en el submit se va a una pagina donde los recoge y los inserta en la BD.
Mi problema esque a veces, sin venir a cuento, en algunas noticias si y en otras no, puedo le doy a que se publiquen la noticia y envio los datos de ese formulario, me sale un error "Forbidden You do not have permission to access this document. " y no tengo ni la mas remota idea de porque. EN algunas si, en otras no....
Creo que puede ser por tema de que introduzco enlaces <a> en el text area pero lo he probado y no me cuadra.
Tambien he repasado los permisos y tampoco es eso puesto que tengo los permisos necesarios para modificar el archivo.

Les pongo el código de la pagina que genera los formularios para modificar lo que sea y enviarlos de nuevo.

Código PHP:

echo "<div class='noticias'> 
        <a href='./agregar_noticia.php'>Click aqui para agregar una noticia </a>
        "
;
        echo 
"<h2> NOTICIAS </h2>";
    
        
//recorremos el array asociativo que contiene todas las noticias
        
for($i 0$i count($result); $i++){
            
            
//Lo primero que hacemos es formatear el campo TIMESPAMP que nos llega del servidor, ponerlo en formato (Y-M-D) para despues comprobar si equivale a la fecha de hoy y sino, descartar esa noticia.
            //Esto es para sacar solo las noticias del dia actual
            
$fecha_actual date("Y-m-d");
            
$timestamp strtotime($result[$i]['fecha']);
            
$fecha_format date("Y-m-d"$timestamp);
            
//hacemos la comprobacion de si las fechas coinciden y de ser asi, sacamos las noticias
            //inicio if comprobacion fecha
            
if($fecha_format == $fecha_actual){
            
            
            
//mostramos capa noticia, que es un formulario dentro de una capa form
            
echo "
                <div class='form'>
                <form action='change_notice.php' method='POST'>
                    <input type='hidden' name='id_noticia' value='"
.$result[$i]['id_noticia']."' />
                    Titular: <input type='text' name='titular' value='"
.mb_strtoupper($result[$i]['titular'], 'UTF-8')."' />
                    Autor: <input type='text' name='autor' value='"
.$result[$i]['autor']."' />
                    Titulo redaccion <input type='text' name='redaccion' value='"
.$result[$i]['titulo_redaccion']."' />
                    Categoria Naranja: <input type='text' name='cat_naranja' value='"
.$result[$i]['categoria_naranja']."' />
                    Publicada: *(0 para no y 1 para si) <input type='number' name='publicada' value='"
.$result[$i]['publicada']."' />
                    Categoria:     <select name='categoria'>
                                <option selected='selected'>"
.$result[$i]['categoria']."</option>
                                    <option>Extremadura</option>
                                <option>Andalucia</option>
                                <option>Madrid</option>
                                <option>Cataluña</option>
                                <option>Castilla la Mancha</option>
                                <option>Castilla Leon</option>
                                <option>Galicia</option>
                                <option>Aragon</option>
                                <option>Asturias</option>
                                <option>La Rioja</option>
                                <option>Baleares</option>
                                <option>Canarias</option>
                                <option>Cantabria</option>
                                <option>Valencia</option>
                                <option>Pais Vasco</option>
                                <option>Navarra</option>
                                <option>Murcia</option>
                                <option>Ceuta</option>
                                <option>Melilla</option>
                                <option>Motor</option>
                                <option>Acuaticos</option>
                                <option>Raqueta</option>
                                <option>Contacto</option>
                                <option>Balon</option>
                                <option>Activo</option>
                                <option>Naturaleza</option>
                                <option>Discapacitados</option>
                                <option>Invierno</option>
                                <option>Otros</option>
                </select>"
;
                
//ahora mostramos un select con Si o No para la noticia destacada en la categoria. Hacemos un control para no repetir valores.
                
if($result[$i]['destacada_categoria'] == "Si"){
                    echo 
"Noticia destacada en la categoria: 
                <select name='destacada_categoria'>
                    <option selected='selected'>"
.$result[$i]['destacada_categoria']."</option>
                    <option>No</option>
                </select>"
;
                }else{
                    echo 
"Noticia destacada en la categoria: 
                <select name='destacada_categoria'>
                    <option selected='selected'>"
.$result[$i]['destacada_categoria']."</option>
                    <option>Si</option>
                </select>"
;
                    }
                    
                
//ahora mostramos un select con Si o No para la noticia destacada en el index. Hacemos un control para no repetir valores.
                
if($result[$i]['destacada_index'] == "Si"){
                    echo 
"Noticia destacada en INDEX: 
                <select name='destacada_index'>
                    <option selected='selected'>"
.$result[$i]['destacada_index']."</option>
                    <option>No</option>
                </select>"
;
                }else{
                    echo 
"Noticia destacada en INDEX: 
                <select name='destacada_index'>
                    <option selected='selected'>"
.$result[$i]['destacada_index']."</option>
                    <option>Si</option>
                </select>"
;
                    }
                    

                echo 
"<br/>
                "
;
                if(
abrir_archivo($result$i) == false){
                    echo 
"
                    No aparece la noticia porque ha ocurrido un error. No se ha encontrado el archivo o esta dañado...
                        <br/>
                <!-- Creamos un campo oculto para ver eliminar solo los datos de la tabla -->
                <input type='hidden' value='hidden_normal' name='hidden_normal'/>
                <input type='submit' value='Modificar Noticia' disabled='disabled'/>
                <a href='delete_notice.php?not=normal&key="
.$result[$i]['id_noticia']."&hidden=true'> Borrar noticia </a>
                    </form>
                    </div>"
;
                }else {
                    
$cadena abrir_archivo($result$i);
                    echo 
"
                    <br/>
                    <div class='margin_textArea'>
                    <textarea value='' cols='40' rows='20' name='noticia'>
                    $cadena
                    </textarea>
                    </div>
                    <br/>
                <input type='submit' value='Modificar Noticia'/>
                <a href='delete_notice.php?not=normal&key="
.$result[$i]['id_noticia']."'> Borrar noticia </a>
                    </form>
                    </div>"
;
                }
            }
//fin IF comprobacion fecha
            
else{
                continue;
            }
        }
//FIN FOREACH - WHILE
    
        
        
echo "<div class='clear'> </div> ";//capa clear para limpiar los floats
        
echo "</div>";//cierre de capa noticias
        
}else{
            die(
"No se ha ejecutado correctamente la consulta. Por favor, vuelva a intentarlo");
        }
//FIN ELSE 
A continuacion les doy algunas explicaciones por si acaso:
-Todas las inserciones a la BD y los valores de todos los campos que nos llega de ese archivo es la pagina change_noticia.php
-Esos campos lo que tenemos que hacer es cogerlos y meterlos en una base de datos. Cada formulario es una noticia y es un archivo aparte quien agrega todo eso a la BD.
-La informacion del TextArea la guardamos en un archivo txt normal y corriente.
-El formulario se envia mediante POST
-los valores los recogo con $_REQUEST

Si tienen alguna duda no olviden preguntar, que es gratis ;)

Espero que me haya explicado bien, si no es asi, no duden en decirmelo y gustosamente les contestaré.

Etiquetas: fecha, formulario, select, tabla
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 22:04.