NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Editace vložených dat - problém s header

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Roman Kulhánek:25.1.2018 21:01

Ahoj, mám problém s editací - data se mi načtou, ale při odeslání se nezmění a stránka píše chybu s header. Při vkládání nových dat se toto neděje. Prosím vidí někdo něco co mi ušlo? Díky za pomoc.
wrapper používam odsud z návodu v PHP. Bílé znaky odstraněny, jen ta editace zlobí. :-?

<?php
session_start();
if (empty($_SESSION['uzivatel_admin']))
        die('Nedostatecna opravneni');

require('Db.php');
Db::connect('wm46.wedos.net', 'd52393_pes', 'w52393_pes', 'bessy1K!');
$seznam = array(
        'poradi_id' => '',
        'jmeno' => '',
        'prijmeni' => '',
        'ulice' => '',
        'rasa' => '',
        'pohlavi' => '',
  'barva' => '',
  'cip' => '',
  'datum' => '',
  'poznamka' => '',
);
$datum = date("Y-m-d", strtotime($_POST['datum']));
if ($_POST)
{
        if (!$_POST['poradi_id'])
        {
                Db::query('
                        INSERT INTO seznam (jmeno, prijmeni, ulice, rasa, pohlavi, barva, cip, datum, poznamka)
                        VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
                ', $_POST['jmeno'], $_POST['prijmeni'], $_POST['ulice'], $_POST['rasa'], $_POST['pohlavi'], $_POST['barva'], $_POST['cip'], $datum, $_POST['poznamka']);
        }
        else
        {
                Db::query('
                        UPDATE seznam
                        SET jmeno=?, prijmeni=?, ulice=?, rasa=?, pohlavi=?, barva=?, cip=?, datum=?, poznamka=?
                        WHERE poradi_id=?
                        ', $_POST['jmeno'], $_POST['prijmeni'], $_POST['ulice'], $_POST['rasa'], $_POST['pohlavi'], $_POST['barva'], $_POST['cip'], $datum, $_POST['poznamka']);
        }
header('Location: indexpokus.php');
        exit();
}
else if (isset($_GET['prijmeni']))
{
        $nactenyClanek = Db::queryOne('
                SELECT *
                FROM seznam
                WHERE prijmeni=?
        ', $_GET['prijmeni']);
        if ($nactenyClanek)
                $seznam = $nactenyClanek;
        else
                $zprava = 'Článek nebyl nalezen';
}

?>

<!DOCTYPE html>
<html lang="cs-cz">
                <head>
                <meta charset="utf-8" />
                <link rel="shortcut icon" href="obrazky/ikona.ico" />
                <link rel="stylesheet" href="styl.css" type="text/css" />

        </head>

<body>
<header>

                        <div id="logo"><h1>Evip</h1></div>


                </header>


    <div id="left-container">
     <div id="menu"><h2>Menu<br /></h2>
                                <ul>
                                        <li><a href="indexpokus.php">Seznam psů</a></li>
          <li><a href="editorpokus.php">Přidat psa</a></li>
                                        <li><a href="index.php?clanek=kontakt">Kontakt</a></li>
          <li><a href="administrace.php?odhlasit">Odhlásit</a></li>
                                </ul>
     </div>


     </div>
       <div id="main">


        <table id="news">
            <tbody>
 <article>
                <div id="centrovac">
                        <header>
                                <h1>Přidání nového psa</h1>
                        </header>
                        <section>
<?php
                                if (isset($zprava))
                                        echo('<p>' . $zprava . '</p>');
                                ?>

                                <form method="post">
                                        <input type="hidden" name="poradi_id" value="<?= htmlspecialchars($seznam['poradi_id']) ?>" /><br />
                                        Jméno<br />
                                        <input type="text" name="jmeno" value="<?= htmlspecialchars($seznam['jmeno']) ?>" /><br />
                                        Příjmení<br />
                                        <input type="text" name="prijmeni" value="<?= htmlspecialchars($seznam['prijmeni']) ?>" /><br />
                                        Ulice<br />
                                        <input type="text" name="ulice" value="<?= htmlspecialchars($seznam['ulice']) ?>" /><br />
          Rasa psa<br />
                                        <input type="text" name="rasa" value="<?= htmlspecialchars($seznam['rasa']) ?>" /><br />
          Pohlaví psa (PES / FENA)<br />
                                        <input type="text" name="pohlavi" value="<?= htmlspecialchars($seznam['pohlavi']) ?>" /><br />
          Barva psa<br />
                                        <input type="text" name="barva" value="<?= htmlspecialchars($seznam['barva']) ?>" /><br />
          Číslo ČIPu<br />
                                        <input type="text" name="cip" value="<?= htmlspecialchars($seznam['cip']) ?>" /><br />
          Datum<br />
                                        <input type="text" name="datum" value="<?= htmlspecialchars($datum) ?>" /><br />
          Poznámky<br />
                                        <textarea name="poznamka"><?= htmlspecialchars($seznam['poznamka']) ?></textarea>
                                        <input type="submit" value="Odeslat" />
                                </form>
                        </section>
                        <div class="cistic"></div>
                </div>
        </article>
<script type="text/javascript" src="//tinymce.cachefly.net/4.0/tinymce.min.js"></script>
        <script type="text/javascript">
                tinymce.init({

      force_br_newlines : false,
      force_p_newlines : false,
      forced_root_block : '',

                        selector: "textarea[name=poznamka]",
                        plugins: [
                                "advlist autolink lists link image charmap print preview anchor",
                                "searchreplace visualblocks code fullscreen",
                                "insertdatetime media table contextmenu paste"
                        ],
                        toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image",
                        entities: "160,nbsp",
                        entity_encoding: "named",
                        entity_encoding: "raw"
                });
</script>
      </tbody>
      </table>
       </div>

        <div id="footer">Odkazy <a href="http://www.mesto-senov.cz/">Šenov</a>
<a href="administrace.php">Administrace</a>
<a href="administrace.php?odhlasit">Odhlásit</a></div>
</body>

</html>
 
Odpovědět
25.1.2018 21:01
Avatar
Lasvit
Člen
Avatar
Lasvit:26.1.2018 13:34

Více info pls, třeba sem napiš tu chybu atd. věta:

data se mi načtou, ale při odeslání se nezmění a stránka píše chybu s header. Při vkládání nových dat se toto neděje.

mi fakt 100% nic neřekne

 
Nahoru Odpovědět
26.1.2018 13:34
Avatar
jakubcecetka
Člen
Avatar
jakubcecetka:26.1.2018 15:02

V Db::query pro UPDATE chybí parametr $_POST['poradi_id'].

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
26.1.2018 15:02
Avatar
Odpovídá na jakubcecetka
Roman Kulhánek:26.1.2018 16:44

Ahoj, ano děkuji to je ono, nevšiml jsem si že jsem tam to poradi_id ještě nechal. Nechybí mi v $_POST ale mám ho špatně napsaný u WHERE =? Díky

 
Nahoru Odpovědět
26.1.2018 16:44
Avatar
Odpovídá na Roman Kulhánek
Dominik Gavrecký:26.1.2018 18:55
Db::connect('wm46.wedos.net', 'd52393_pes', 'w52393_pes', 'bessy1K!');

Ty si naozaj koleduješ :-`

Nahoru Odpovědět
26.1.2018 18:55
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Odpovídá na Dominik Gavrecký
Roman Kulhánek:26.1.2018 19:00

Vše pozměněno neboj :-)

 
Nahoru Odpovědět
26.1.2018 19:00
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.