PHP - Error al guardar php acento

 
Vista:

Error al guardar php acento

Publicado por Alexander (5 intervenciones) el 25/04/2020 15:06:35
No se que esta pasando que al guardar un input de texto con acento da fallos, si va sin acentos funciona correctamente.


1
2
3
4
5
6
7
8
9
if($mysqli->query("UPDATE Newsletter_electro SET titulo='".$_POST["titulo"]."', descripcion='".$_POST["lugar"]."', fecha='".$_POST["fecha"]."', galeria='".$migaleria."', url='".$_POST["url"]."', contenido='".$_POST["contenido"]."' WHERE id='".$_POST["ac"]."'", $link)){
    $result=$mysqli->query("SELECT noticia FROM Newsletter_electro WHERE id='".$_POST["ac"]."'", $link);
    if($row=mysqli_fetch_array($result)){
        $mysqli->query("UPDATE Noticias_electroeficiencia SET titulo='".$_POST["titulo"]."', texto='".$_POST["lugar"]."', fecha='".$_POST["fecha"]."', texto_ampliado='".$_POST["contenido"]."' WHERE id='".$row["noticia"]."'", $link);
    }
    echo "La noticia ha sido actualizada";
}else{
    echo "ERROR: la noticia no ha sido actualizada";
}


Y aquí lo estoy recogiendo:

1
echo "<tr><td>Titulo:</td><td><input type=\"text\" name=\"titulo\" size=\"80\"></td></tr>";
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 2.994
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Error al guardar php acento

Publicado por Julio (830 intervenciones) el 25/04/2020 16:02:33
Hola.

Es problema de la codificación de caracteres. Comprueba qué codificación tienes y deberías cambiarla para que permita utf-8 o seguirás con esos problemas en acentos, eñes y otros caracteres especiales.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error al guardar php acento

Publicado por Alex (5 intervenciones) el 25/04/2020 16:11:37
Esta correcto, tanto el meta charset=UTF-8 como en la conexión set_charset("utf8")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.994
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Error al guardar php acento

Publicado por Julio (830 intervenciones) el 25/04/2020 16:30:22
¿Y en la base de datos se guarda mal el dato? Entonces será en la codificación del servidor o del HTML.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error al guardar php acento

Publicado por Alexander (5 intervenciones) el 25/04/2020 16:36:09
Es que a la hora de insertar en la base de datos da el problema:
echo "<p>ERROR: ha ocurrido un error al intentar subir la noticia</p>";

Comparto el código de insertar:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if($mysqli->query("INSERT INTO Newsletter_electro (titulo, descripcion, fecha, galeria, url, contenido, orden, newsletter, cliente) VALUES ('".addslashes($_POST["titulo"])."', '".addslashes($_POST["lugar"])."', '".$_POST["fecha"]."', '".$migaleria."', '".$_POST["url"]."', '".addslashes($_POST["contenido"])."', '$orden', '$ultimo_nw', '".$_POST["origen"]."')", $link)){
    $ulti=$mysqli->insert_id();
    $ultimos=$mysqli->query("SELECT orden FROM Noticias_electroeficiencia ORDER BY orden DESC LIMIT 0,1", $link);
    if($ultimo=mysqli_fetch_array($result)){
        $miorden=$row["orden"];
        $miorden++;
    }else{
        $miorden=1;
    }
    echo "<p>La noticia ha sido subida correctamente al newsletter.</p>";
    if($mysqli->query("INSERT INTO Noticias_electroeficiencia (titulo, texto, fecha, texto_ampliado, orden) VALUES ('".addslashes($_POST["titulo"])."', '".addslashes($_POST["lugar"])."', '".$_POST["fecha"]."', '".addslashes($_POST["contenido"])."', '$miorden')", $link)){
        $myulti=$mysqli->insert_id();
        $mysqli->query("UPDATE Newsletter_electro SET noticia='$myulti' WHERE id='$ulti'",$link);
        echo "<p>La noticia ha sido subida correctamente a noticias.</p>";
    }
 
}else{
    echo "<p>ERROR: ha ocurrido un error al intentar subir la noticia</p>";
}


No veo el fallo, he quitado lo de addslashes y igual...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.994
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Error al guardar php acento

Publicado por Julio (830 intervenciones) el 25/04/2020 17:00:23
Es que eso es otra cosa diferente de los acentos, creo.

Pon un var_dump de esto:

1
var_dump("INSERT INTO Noticias_electroeficiencia (titulo, texto, fecha, texto_ampliado, orden) VALUES ('".addslashes($_POST["titulo"])."', '".addslashes($_POST["lugar"])."', '".$_POST["fecha"]."', '".addslashes($_POST["contenido"])."', '$miorden')");

A ver cuál es el problema con la consulta.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error al guardar php acento

Publicado por Alexander (5 intervenciones) el 25/04/2020 18:16:53
No entiendo como añadir ese var_dump...

He optimizado este código y quitado cosas que no se utilizan, pero sigue pasando igual, osea puedo añadir ? % en el tiutlo y se guarda correctamente, pero es añadir un acento y error al subir la noticia, no se que pasa....

1
2
3
4
5
6
7
8
9
if($mysqli->query("INSERT INTO Newsletter_electro (titulo, descripcion, fecha, galeria, url, contenido, orden, newsletter, cliente) VALUES ('".addslashes($_POST["titulo"])."', '".addslashes($_POST["lugar"])."', '".$_POST["fecha"]."', '".$migaleria."', '".$_POST["url"]."', '".addslashes($_POST["contenido"])."', '$orden', '$ultimo_nw', '".$_POST["origen"]."')", $link)){
    $ulti=$mysqli->insert_id();
 
    echo "<p>La noticia ha sido subida correctamente al newsletter.</p>";
 
 
}else{
    echo "<p>ERROR: ha ocurrido un error al intentar subir la noticia</p>";
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.994
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Error al guardar php acento

Publicado por Julio (830 intervenciones) el 25/04/2020 18:21:48
Ponlo donde quieras tal cual te lo he puesto. Es sólo para que te imprima por pantalla la consulta entera y ver si hay ahí algún tipo de error, para descartarlo.

¿Puedes acceder, además, al phpMyAdmin?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error al guardar php acento

Publicado por Alexander (5 intervenciones) el 25/04/2020 18:34:16
Lo he resuelto añadiendo utf8_decode y enconde, pagara guardar y para ver los títulos...

La verdad que es una solución a medias ya que no entiendo aún por que no permitía guardar sin esto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar