Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ¿Como puedo solucionar este error en PHP?

Estas en el tema de ¿Como puedo solucionar este error en PHP? en el foro de PHP en Foros del Web. Hola, necesito ayuda en dos cositas que me están matando la cabeza. He estado tomando como ejemplo el código del cms que hay en maestros ...
  #1 (permalink)  
Antiguo 31/12/2013, 19:26
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 11 años, 6 meses
Puntos: 2
Pregunta ¿Como puedo solucionar este error en PHP?

Hola, necesito ayuda en dos cositas que me están matando la cabeza. He estado tomando como ejemplo el código del cms que hay en maestros del web (http://www.maestrosdelweb.com/editorial/phpcms1/) y el código es desastrozo. Solo sirve para tener una referencia y eso es lo que he intentado, tomarlo como referencia. Aquí va mi duda:

Tengo este código que en teoría debería funcionar (ya he probado ejecutando el script y no me ha botado mensaje de error)

Código PHP:
<?php 

    
include('../includes/config.php');

    
$result mysql_query('SELECT * FROM noticias ORDER BY fecha DESC 5',$connect);
    
$totalregistros=mysql_num_rows($result);

?>
Luego, más abajo, tengo el siguiente código que en teoría debería mostrar los artículos:


Código PHP:
<header class="wrap-title">
            <div class="container">
                <h1 class="page-title">Inicio</h1>

            </div>
        </header>

        <?php
        
while($row=mysql_fetch_array($result))
        {

        
?>
          
        <div class="container">
            <div class="row">
                <div class="col-md-8">
                    <!-- ENTRADA DEL BLOG -->
                    <article class="post animated fadeInLeft animation-delay-8">
                        <div class="panel panel-default">
                            <div class="panel-body">
                                <?php echo '<h3 class="post-title">' .$row['titulo']. '</h3>' ?>
                                <div class="row">
                                    <div class="col-lg-6">
                                        <img src="img/7.jpg" class="img-post img-responsive" alt="Image">
                                    </div>
                                    <div class="col-lg-6">
                                        <?php echo '<p>' .$row['descripcion']. '</p>' ?>    
                                    </div>
                                </div>
                            </div>
                            <div class="panel-footer">
                                <div class="row">
                                    <div class="col-lg-10 col-md-9 col-sm-8">
                                        <?php echo '<i class"fa fa-clock-o">' .$row['fecha']. '</i>' ?> <?php echo '<i class"fa fa-user">' .$row['autor']. '</i>' ?>
                                    </div>
                                    <div class="col-lg-2 col-md-3 col-sm-4">
                                        <a href="#" class="pull-right">Leer más &raquo;</a>

                                    </div>
                                </div>
                            </div>
                        </div>
                    </article> <!-- --> <!-- post -->                     

                    <?php 
                    
}; 

                    
mysql_free_result($result); 

                    
?>
Hasta ahí bien, eso debería traer los datos desde MySQL e imprimir un máximo de 5 entradas en la página ¿no? Pues no, no lo hace y no doy con la solución (cabe resaltar que sí hay datos en la base de datos)

Eso lo primero, lo segundo es porqué este código no escribe en la base de datos (arriba dije que sí tenía datos pero no los ingrese por este script, los ingresé directamente desde PHPMyAdmin) Este es mi codigo:

Primero, el formulario que manda la info:
Código HTML:
 <form action="procesar_noticia.php" method="post">
                        <label for="titulo">Titulo</label><br>
                        <input type="text" id="titulo" name="titulo" class="form-control"><br>

                        <label for="autor">Autor</label><br>
                        <input type="text" id="autor" name="autor" class="form-control"><br>

                        <label for="descripcion">Descripción</label><br>
                        <input type="text" id="descripcion" name="descripcion" class="form-control"><br>

                        <label for="keywords">Keywords</label><br>
                        <input type="text" id="keywords" name="keywords" class="form-control"><br>

                        <label for="noticia">Noticia</label><br>
                        <textarea name="articulo" id="noticia" cols="50" rows="10" class="form-control"></textarea><br>

                        <input type="submit" class="btn btn-success pull-right" value="Enviar">
                    </form> 
Y esta es la página "procesar_noticia.php"
Código PHP:
<?php

include('../includes/config.php');

$titulo=$_POST['titulo'];
$autor=$_POST['autor'];
$categoria=$_POST['categoria'];
$descripcion=$_POST['descripcion'];
$articulo=$_POST['articulo'];
$keywords=$_POST['keywords'];

mysql_query('INSERT INTO noticias(titulo,autor,descripcion,categoria,keywords,articulo,fecha) values('$titulo','$autor','$descripcion','$categoria','$keywords','$articulo',NOW()',$connect);
header("location: index.php");
?>
Algo que me parece curioso (y que no sé porque sucede) es que cuando ejecuto le doy al submit este parece como si procesara los datos pero no los guarda en la base de datos y no redirige a "index.php" como debería hacerlo. Se queda en "localhost/procesar_noticia", con la página en blanco cabe resaltar

Agradecería cualquier ayuda que me pudiesen dar :(
  #2 (permalink)  
Antiguo 01/01/2014, 11:06
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 12 años
Puntos: 84
Respuesta: ¿Como puedo solucionar este error en PHP?

Viendo tu código, me parece que tienes los siguientes errores, aunque puedo equivocarme.

En el siguiente código te falta el LIMIT después de DESC en la consulta SQL para poder establecer los límites:
primer argumento significa desde (sin incluir el propio valor), segundo argumento cuántos como máximo.

Código PHP:
Ver original
  1. <?php  
  2.  
  3.     include('../includes/config.php');
  4.  
  5.     $result = mysql_query('SELECT * FROM noticias ORDER BY fecha DESC 5',$connect);
  6.     $totalregistros=mysql_num_rows($result);
  7.  
  8. ?>

el siguiente código que dices que lo tienes "más abajo", entiendo que lo tienes en el mismo archivo, no se te muestra porque la propia consulta no funcionó.

En el código de insertar no he visto que hayas definido la variable $categoría, por lo tanto, te dará error si no has configurado el campo en la tabla para que admita valores NULL.
__________________
Ayúdame a hacerlo por mi mismo.
  #3 (permalink)  
Antiguo 01/01/2014, 11:46
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: ¿Como puedo solucionar este error en PHP?

¿Me dices que quedaría algo como esto?

Código PHP:
<?php 

    
include('../includes/config.php');

    
$result mysql_query('SELECT * FROM noticias ORDER BY fecha DESC LIMIT 0,5',$connect);
    
$totalregistros=mysql_num_rows($result);

?>
Sigue sin funcionar aún corrigiendo esto. No imprime ninguno de los dos rows que hay en la bd.

Corregí el error de la variable categoría porque era un valor que no esta usando (error de descuido). En un principio lo iba a usar y lo tuve presente todo el tiempo pero decidí despues de todo no usarlo. Lo borré de la consulta y sigue sin funcionar.

Corregí también este error con las comillas
Código PHP:
mysql_query("INSERT INTO noticias(titulo,autor,descripcion,categoria,keywords,articulo,fecha) values('$titulo','$autor','$descripcion','$categoria','$keywords','$articulo',NOW()",$connect); 
pero sigue sin funcionar.

Una cosa más, sigue sin redirigirme a "index.php" incluso teniendo la sentencia "header()" y no me bota ningún error en ningún momento. Uso MAMP ya que estoy desde el Mac de mi novia y no sé porque me molesta tanto e.e

Ayuda, me desespero :(

Última edición por MeDxEc; 01/01/2014 a las 11:51 Razón: Olvidé mencionar algo que considero importante
  #4 (permalink)  
Antiguo 01/01/2014, 13:24
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 12 años
Puntos: 84
Respuesta: ¿Como puedo solucionar este error en PHP?

pues comienza por verificar que la consulta está bien.

Código PHP:
Ver original
  1. <?php  
  2.  
  3.     include('../includes/config.php');
  4.  
  5.     $result = mysql_query('SELECT * FROM noticias ORDER BY fecha DESC LIMIT 0,5',$connect);
  6. var_dump($result_set=mysql_fetch_array($result));
  7.  
  8. die();
  9. ?>

a ver qué te muestra.
__________________
Ayúdame a hacerlo por mi mismo.
  #5 (permalink)  
Antiguo 01/01/2014, 13:41
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: ¿Como puedo solucionar este error en PHP?

Coloqué el siguiente código
Código PHP:
    <?php  
     
        
include('../includes/config.php');
     
        
$result mysql_query('SELECT * FROM noticias ORDER BY fecha DESC LIMIT 0,5',$connect);
        
    
var_dump($result_set=mysql_fetch_array($result));
     
    die(
'no conecta');
    
?>
Y me bota una pantalla con el texto

"NULL no conecta"...

No hay que ser un genio para entender que el query falló, lo que no comprendo es el NULL y porqué, si la conexión con la BD está bien, esta no funciona :s ¿Alguna idea?
  #6 (permalink)  
Antiguo 01/01/2014, 14:01
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 12 años
Puntos: 84
Respuesta: ¿Como puedo solucionar este error en PHP?

¿Alguna vez te ha funcionado alguna conexión a la BD de la manera en que lo estás haciendo?

Si la respuesta es sí, entonces prueba una conexión sencilla manteniendo el var_dump

Código PHP:
Ver original
  1. <?php  
  2.      
  3.         include('../includes/config.php');
  4.      
  5.         $result = mysql_query('SELECT * FROM noticias',$connect);
  6.          
  7.     var_dump($result_set=mysql_fetch_array($result));
  8.      
  9.     die('no conecta');
  10.     ?>

veamos si te falla así también
__________________
Ayúdame a hacerlo por mi mismo.
  #7 (permalink)  
Antiguo 01/01/2014, 14:48
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: ¿Como puedo solucionar este error en PHP?

Sí, me ha funcionado previamente. He creado un sistema de gestion de usuarios pero no sé si influya que no estoy en mi PC. Este es el Mac de mi novia y estoy usando MAMP, ¿será que eso influye?

Coloqué ese código que me diste pero nada, sigue saliendo el "NULL no conecta" ¿que significará ese NULL?
  #8 (permalink)  
Antiguo 01/01/2014, 15:20
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: ¿Como puedo solucionar este error en PHP?

Código PHP:
Ver original
  1. include('../includes/config.php');
  2. echo mysql_errno($connect) . ": " . mysql_error($connect) . "<br> Si arriba de esto no hay nada es que todo biene bien sino el fallo es este:";
  3. $result = mysql_query('SELECT * FROM noticias',$connect);
  4. echo mysql_errno($connect) . ": " . mysql_error($connect) . "\n";
  5. die('Ya tienes el fallo, si no aparece nada, es porque tu tabla esta vacia.');
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #9 (permalink)  
Antiguo 01/01/2014, 15:23
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: ¿Como puedo solucionar este error en PHP?

Cita:
:
Si arriba de esto no hay nada es que todo biene bien sino el fallo es este:: Ya tienes el fallo, si no aparece nada, es porque tu tabla esta vacia.
Eso fue lo que me salió... ¿Entonces donde está el error? ._.
  #10 (permalink)  
Antiguo 01/01/2014, 16:21
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: ¿Como puedo solucionar este error en PHP?

Cita:
si no aparece nada, es porque tu tabla esta vacia.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #11 (permalink)  
Antiguo 01/01/2014, 16:25
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: ¿Como puedo solucionar este error en PHP?

Pero mi tabla no está vacía. La volví a crear y le inserte una row con todos los valores y sigue apareciendo el mismo mensaje al ejecutar el script.
  #12 (permalink)  
Antiguo 01/01/2014, 17:01
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: ¿Como puedo solucionar este error en PHP?

A ver... vamos por partes si?

esto es lo que dice el manual ¿Lo leiste cierto?

Código PHP:
Ver original
  1. <?php
  2.  
  3. $connect = mysql_connect('YOUR_DB_ADDRESS','YOUR_DB_USER','YOUR_DB_PASS') or die ("No se pudo conectar");
  4. mysql_select_db('YOUR_DB', $connect) or die ("Base de datos invalida");
  5.  
  6. $result = mysql_query('SELECT * FROM noticias',$connect) or die('Error en la consulta');
  7.  
  8. while ($fila = mysql_fetch_array($result, MYSQL_NUM))
  9.     echo(json_encode($fila).'<br>');  
  10.  
  11. echo('Si estas viendo este mensaje es poque todo andubo bien, asi que si no ves datos es porque la tabla esta vacia.');

adicionalmente podes ir a phpmyadmin y tirar ahi la consulta "SELECT * FROM noticias" y ver si te devuelve algun resultado.

tambien podrias activar el display_errors de php para ver si esta explotndo en algun lado que no tenga que ver (o si) con esta parte del script
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #13 (permalink)  
Antiguo 01/01/2014, 17:07
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: ¿Como puedo solucionar este error en PHP?

Ya lo he solucionado, no sé muy bien como pero ya lo solucioné. Gracias por todo :D Me desesperé un poco así que comencé de cero y logré habilitar el reporte de errores y todo bien. Ahora lo que pasa es que solo me imprime el valor del titulo en el index, los demás los deja vacíos así tengan contenido en la tabla ¿alguna idea? :s
  #14 (permalink)  
Antiguo 01/01/2014, 17:16
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: ¿Como puedo solucionar este error en PHP?

Cita:
no sé muy bien como pero ya lo solucioné.
si tu no sabes muy bien como tu lo has solucionado ¿porque habríamos de saberlo nosotros? pon el nuevo codigo a ver que esta pasando
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #15 (permalink)  
Antiguo 01/01/2014, 17:22
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: ¿Como puedo solucionar este error en PHP?

La solucioné dandole una nueva ruta a la conexión y modificando errores de sintáxis tontos que tenía (cabe resaltar que el MAMP traía el display_errors en "off" por default).

Acerca de lo otro... Olvida eso, por despistado había olvidado escribir el 'echo' en cada línea y solo lo había puesto en la primera :lol:

Ahora me surge otro problema (digamos que no es mi día)... En el fichero procesar_noticia.php (el cual ya está corregido con la nueva ruta etc) no me redirige a index.php ni me guarda en MySQL y todo creo que es por culpa del "Deprecated" que le dio PHP a MySQL... ¿Hay alguna manera de obviar esto? Es lo único que se me imprime en pantalla al mandar el formulario :s
  #16 (permalink)  
Antiguo 01/01/2014, 17:29
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: ¿Como puedo solucionar este error en PHP?

La forma de que no te salgan DEPRECATED es dejar de usar funciones obsoletas, quizas debas migrar a mysqli

Si tu proyecto ya esta avanzado y no quieres cambiar todo, puedes apagar el display_error o bien cambiar la directiva en php.ini
Cita:
error_reporting = E_ALL & ~E_DEPRECATED
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #17 (permalink)  
Antiguo 01/01/2014, 17:43
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: ¿Como puedo solucionar este error en PHP?

El proyecto va bastante avanzado ya... Así que prefiero usar mysqli en proyectos futuros, además de que no conozco su sintaxis aún (para ser franco hasta hoy me vengo a enterar de esto).

He cambiado el php.ini pero sigue sin escribir en la BD ni redirigir aunque ya no muestra el DEPRECATED. Anexo mi código, quiza sirva de algo

Código PHP:
<?php

include('config.php');

$titulo=$_POST['titulo'];
$autor=$_POST['autor'];
$descripcion=$_POST['descripcion'];
$articulo=$_POST['articulo'];
$keywords=$_POST['keywords'];

$query=("INSERT INTO noticias(titulo,autor,descripcion,keywords,articulo,fecha) values('$titulo','$autor','$descripcion','$keywords','$articulo',NOW()");
mysql_query($query$connect);
header('index.php');
?>
¿Alguna ayuda? Disculpad tanta molestia x_x
  #18 (permalink)  
Antiguo 01/01/2014, 18:22
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ¿Como puedo solucionar este error en PHP?

Tienes rota la sintaxis de MySQL en ese insert. Le falta el paréntesis de cierre del VALUES.

Código PHP:
$query=("INSERT INTO noticias(titulo,autor,descripcion,keywords,articulo,fecha) 
values('$titulo','$autor','$descripcion','$keywords','$articulo',NOW()"
); 
De hecho no entiendo para qué pones el primer paréntesis para hacer la asignación en la variable. Es totalmente innecesario.

Código PHP:
$query "INSERT INTO noticias(titulo, autor, descripcion,  ";
$query .= "      keywords, articulo, fecha) ";
$query .= "VALUES('$titulo', '$autor', '$descripcion',  ";
$query .= "      '$keywords', '$articulo', NOW())"
Por otro lado, esta parte de tu script deber estar disparando un error en MySQL que tu no estás capturando. Pareces estar asumiendo que la sentencia debe ejecutarse bien, pero no lo verificas. Nunca des nada por seguro.
Un simple
Código PHP:
mysql_query($query$connect) or die("Error en BBD: ".mysql_error()); 
o bien
Código PHP:
$result mysql_query($query$connect);
if(!
$result)
{
// Acá lo que sea que pase si falla la sentencia, como por ejemplo:
echo "Error en BBD: ".mysql_error();
}
else {
header('index.php');} 
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #19 (permalink)  
Antiguo 01/01/2014, 20:22
 
Fecha de Ingreso: agosto-2008
Ubicación: Canarias, España - París, Francia
Mensajes: 105
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: ¿Como puedo solucionar este error en PHP?

Que consulta más rara!! Yo con las instrucciones "obsoletas" lo hago así:
El include es así, no lleva () pues no es una función:
Código PHP:
Ver original
  1. include '../config.php';

Código PHP:
Ver original
  1. $sql = mysql_query("SELECT * FROM tabla WHERE id <>"" ORDER BY fecha DESC LIMIT 5") or die(mysql_error());
  2. // con el or die(mysql_error()); te muestra los errores.
  3. // ahora viene un bucle para recorrer las filas y guardarlas en un Array.
  4. while($registro = mysql_fetch_array($sql) )
  5. {
  6. var_dump($registro); // te saca todo lo que tenga
  7. // que queremos guardar array nombre, por ejemplo como una variable
  8. $nombre = $registro['nombre'];
  9. }

Queremos mostrar nombre en el html

Código HTML:
Ver original
  1. <span><?php echo $nombre ;?></span>
  #20 (permalink)  
Antiguo 02/01/2014, 09:32
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: ¿Como puedo solucionar este error en PHP?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Tienes rota la sintaxis de MySQL en ese insert. Le falta el paréntesis de cierre del VALUES.

Código PHP:
$query=("INSERT INTO noticias(titulo,autor,descripcion,keywords,articulo,fecha) 
values('$titulo','$autor','$descripcion','$keywords','$articulo',NOW()"
); 
De hecho no entiendo para qué pones el primer paréntesis para hacer la asignación en la variable. Es totalmente innecesario.

Código PHP:
$query "INSERT INTO noticias(titulo, autor, descripcion,  ";
$query .= "      keywords, articulo, fecha) ";
$query .= "VALUES('$titulo', '$autor', '$descripcion',  ";
$query .= "      '$keywords', '$articulo', NOW())"
Por otro lado, esta parte de tu script deber estar disparando un error en MySQL que tu no estás capturando. Pareces estar asumiendo que la sentencia debe ejecutarse bien, pero no lo verificas. Nunca des nada por seguro.
Un simple
Código PHP:
mysql_query($query$connect) or die("Error en BBD: ".mysql_error()); 
o bien
Código PHP:
$result mysql_query($query$connect);
if(!
$result)
{
// Acá lo que sea que pase si falla la sentencia, como por ejemplo:
echo "Error en BBD: ".mysql_error();
}
else {
header('index.php');} 
No hice esto pero reparé algunos errores en la sintaxis SQL y ya me imprime pero sigue sin redirigirme al index.php aquí está mi código
Código PHP:
<?php

include('config.php');

$titulo=$_POST['titulo'];
$autor=$_POST['autor'];
$descripcion=$_POST['descripcion'];
$noticia=$_POST['noticia'];
$keywords=$_POST['keywords'];

$sql "INSERT INTO noticias (titulo, autor, descripcion, keywords, noticia, fecha) VALUES ('$titulo', '$autor', '$descripcion', '$keywords','$noticia', NOW())";
mysql_query($sql$connect) or die("Error en BBD: ".mysql_error());
header('index.php');
?>
Escribe perfectamente en la BD pero no redirecciona. Otra cosa... ¿Como puedo guardar en UTF-8? Recuerdo que esto lo hice una vez pero fue hace mucho x_x Me imprime todo bien en el index menos lo que tiene tíldes y signos ortográficos varios, gracias.
  #21 (permalink)  
Antiguo 02/01/2014, 10:46
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ¿Como puedo solucionar este error en PHP?

Cita:
¿Como puedo guardar en UTF-8?
Hay decenas de posts donde se trata ese problema. Incluso en la misma pagina inciiaal de este Foro, en este momento hay varios posts sobre ese tema.
Leelos.
http://www.forosdelweb.com/f18/probl...l-php-1086648/
http://www.forosdelweb.com/f18/probl...-mysql-783844/
http://www.forosdelweb.com/.../como-...o-php-1047762/
http://www.forosdelweb.com/f18/utf-8...ql-php-874290/
http://www.forosdelweb.com/f18/error...cento-1051548/

En esta pequeña lista verás que se debe atacar el problema a los dos niveles: Aplicacion y conexion a BBDD.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #22 (permalink)  
Antiguo 02/01/2014, 13:14
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 12 años
Puntos: 84
Respuesta: ¿Como puedo solucionar este error en PHP?

Cita:
Iniciado por MeDxEc Ver Mensaje

pero no redirecciona.
Sobre Header

Cita:
Nota:
HTTP/1.1 require una URI absoluta como argumento para » Location: incluyendo el esquema, nombre del host y ruta absoluta, pero algunos clientes aceptan también URIs relativas. Se puede usar $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] y dirname() para crear una URI absoluta desde una relativa:

Código PHP:
Ver original
  1. <?php
  2. /* Redirecciona a una página diferente en el mismo directorio el cual se hizo la petición */
  3. $host  = $_SERVER['HTTP_HOST'];
  4. $uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
  5. $extra = 'mypage.php';
  6. header("Location: http://$host$uri/$extra");
  7. ?>
Es decir, no te redireccionará siempre que no especifiques una ruta absoluta o que soportes rutas relativas.

Sabrás si soportas rutas relativas si el location es a un archivo que está dentro de un subdirectorio partiendo de donde tienes el header location y no tienes que especificar toda la ruta, normalmente es así. sino, tendrás que especificar toda la ruta, para ello sírvete de las variables super globales $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'], $_SERVER['REQUEST_URI'], etc.

Esta última te vendrá bien para redirigir al usuario a páginas donde estaba navegando después de terminar con un formulario.

Saludos :)
__________________
Ayúdame a hacerlo por mi mismo.
  #23 (permalink)  
Antiguo 02/01/2014, 14:48
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: ¿Como puedo solucionar este error en PHP?

Toda la razón, guardamicorreo, en el header me hacía falta el Location:

Código PHP:
header('Location: index.php'); 
Muchas gracias, error de despiste otra vez. Ya he podido solucionar todos los errores y ya tengo el cms funcionando. Por ahora solo se pueden meter noticias (ni editar ni borrar ni nada) pero ahí vamos. Gracias a todos por todo

(Planeo dejarlo muy bien armado y montarlo a GitHub) Graaaacias

Sobre lo de devolver al usuario a la página en la que estaba antes de mandar el formulario, prefiero hacerlo con JavaScript. Me ha funcionado a la perfección en mi gestor de usuarios.

Etiquetas: cms, mysql
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 22:17.