Autor Zpráva
Akali
Profil
Zdravím. Potřeboval bych poradit s ukládáním dat. Data ukládám tímto způsobem

<?php
if (isset($_POST['odeslano']))
{
    if (empty($_POST['nadpis']) || empty($_POST['text']) || empty($_POST['vlozil']))
    {
        echo "Zpráva nebyla odeslána..";
    }
    else
    {
        include '../../db.php';
        $ref = $REMOTE_ADDR;
        $datum = StrFTime("%d.%m.%Y", Time()); 

        $objekt_vysledku = mysqli_query($db_spojeni, "SET NAMES 'UTF8'");

        $sql_prikaz = 
            "INSERT INTO home_novinky(nadpis, text, vlozil) "
            ."VALUES('"
            .mysqli_real_escape_string($db_spojeni,$_POST['nadpis'])
            ."','"
            .mysqli_real_escape_string($db_spojeni,$_POST['text'])
            ."','"
            .mysqli_real_escape_string($db_spojeni,$_POST['vlozil'])
            ."')" 
        ;
                          
        $objekt_vysledku = mysqli_query($db_spojeni, $sql_prikaz);
     echo "Vaše zpráva byla úspěšně odeslána";
    }
}          
?>


Když se ale v proměnné $_POST['text'] objeví adresa http://seznam.cz tak se to do databáze uloží takto
<p><a href=\"http://seznam.cz\">odkazovaný text</a></p>
Jenže s těmito uvozovkami \" je odkaz nefunkční. Jak docílím toho, aby se při zapsání do databáze místo " nestalo \"
Joker
Profil
Akali:
Není to náhodou nějaká extrémně zastaralá verze, respektive extrémně zastaralé nastavení, se zapnutými magic quotes GPC?
Ověřte v nastavení PHP položku magic_quotes_gpc.
Akali
Profil
Nikdy jsem se v nastavení PHP nevrtal. Kudy se tam dostanu? Někde v administraci webhostingu?
Hostuji u station.cz


Tak jsem se dočetl o funkci stripslashes. Používám ji při výpisu dat a vše funguje. Děkuji za pomoc!
Joker
Profil
Akali:
Tak jsem se dočetl o funkci stripslashes.
To jsem ve své odpovědi vynechal záměrně, protože to řeší jen výsledný stav, ale lepší by bylo odstranit příčinu. Nehledě na to, že jestli to je magic_quotes_gpc, tak po přechodu na novější verzi PHP nebo na jiný hosting to zase přestane fungovat.

Pokud jde o odstranění těch lomítek, návod je zde, nebo i v naší FAQ.
Akali
Profil
Tak jsem psal na podporu stationu a napsali mi, že je magic_quotes_gpc zapnutý -> viz http://s14.station.cz/php/
jak to tedy mám vyřešit? Metoda stripslashes není dobrým řešení?
Jan Tvrdík
Profil
Akali:
jak to tedy mám vyřešit?
Na tuto otázku ti už Joker odpověděl.

Metoda stripslashes není dobrým řešení?
Ne, už ti to vysvětloval Joker.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0