NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Column 'xxxxx' cannot be null - kontrola

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

Aktivity
Avatar
Roman Kulhánek:24.1.2018 19:11

Ahoj, předem všem děkuji za odpovědi.
web mi vypisuje chybu:
Warning: PDOStatement::e­xecute() [pdostatement­.execute]: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'prijmeni' cannot be null

jedná se o prijmeni (v kódu zároveň použit jako url)
totéž u poznamka.

Ale myslím si že do tabulky prijmeni zadávám vše správně (možná to dělá kvůli zadáváni data, ale i když jej odstraním stejně píše chybu)

Zde je celý kód. Připojeno k databázi, k tabulce seznam. Když v PHPADMIN nastavím null tak mě to pustí, ale to samozřejmě nechci, potřebuji ho mít vyplněno.

A jedna věc ještě, lze umístit do toho po odeslání header('Location: indexpokus.php'); ?a kam?

<?php

session_start();
if (empty($_SESSI­ON['uzivatel_ad­min']))
die('Nedostatecna opravneni');

require('Db.php');
Db::connect('wm46­.wedos.net', 'd52393_pes', 'w52393_pes', 'xxxxxxxxx');
$seznam = array(
'poradi_id' => '',
'jmeno' => '',
'prijmeni' => '',
'ulice' => '',
'rasa' => '',
'pohlavi' => '',
'barva' => '',
'cip' => '',
'datum' => '',
'poznamka' => '',
);
$datum = date("Y-m-d H:i:s", strtotime($_POS­T['datum']));
if ($_POST)
{
if (!$_POST['pora­di_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['poznam­ka']);
}
else
{
Db::query('
UPDATE seznam
SET jmeno=?, prijmeni=?, ulice=?, rasa=?, pohlavi=?, barva=?, cip=?, datum=?, poznamka=?
WHERE seznam_id=?
', $_POST['jmeno'], $_POST['prijmeni'], $_POST['ulice'], $_POST['rasa'], $_POST['pohlavi'], $_POST['barva'], $_POST['cip'], $datum, $_POST['poznam­ka']);
}

exit();
}
else if (isset($_GET['p­rijmeni']))
{
$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/i­kona.ico" />
<link rel="stylesheet" href="styl.css" type="text/css" />

</head>

<body>
<header>

<div id="logo"><h1>E­vip</h1></div>

</header>

<div id="left-container">
<div id="menu"><h2>Me­nu<br /></h2>
<ul>
<li><a href="indexpo­kus.php">Seznam osob</a></li>
<li><a href="editorpo­kus.php">Přidat osobu</a></li>
<li><a href="index.php?cla­nek=kontakt">Kon­takt</a></li>
<li><a href="adminis­trace.php?odhla­sit">Odhlásit</a></li>
</ul>
</div>

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

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

<form method="post">
<input type="hidden" name="poradi_id" value="<?= htmlspecialchar­s($seznam['po­radi_id']) ?>" /><br />
Jméno<br />
<input type="text" name="jmeno" value="<?= htmlspecialchar­s($seznam['jme­no']) ?>" /><br />
Příjmení<br />
<input type="text" name="url" value="<?= htmlspecialchar­s($seznam['prij­meni']) ?>" /><br />
Ulice<br />
<input type="text" name="ulice" value="<?= htmlspecialchar­s($seznam['uli­ce']) ?>" /><br />
Rasa psa<br />
<input type="text" name="rasa" value="<?= htmlspecialchar­s($seznam['ra­sa']) ?>" /><br />
Pohlaví psa (PES / FENA)<br />
<input type="text" name="pohlavi" value="<?= htmlspecialchar­s($seznam['poh­lavi']) ?>" /><br />
Barva psa<br />
<input type="text" name="barva" value="<?= htmlspecialchar­s($seznam['bar­va']) ?>" /><br />
Číslo ČIPu<br />
<input type="text" name="cip" value="<?= htmlspecialchar­s($seznam['cip']) ?>" /><br />
Datum<br />
<input type="text" name="datum" value="<?= htmlspecialchar­s($datum) ?>" /><br />
Poznámky<br />
<textarea name="obsah"><?= htmlspecialchar­s($seznam['poz­namka']) ?></textarea>
<input type="submit" value="Odeslat" />
</form>
</section>
<div class="cistic"></div>
</div>
</article>
<script type="text/ja­vascript" src="//tinymce­.cachefly.net/4­.0/tinymce.min­.js"></script>
<script type="text/ja­vascript">
tinymce.init({
selector: "textarea[name=ob­sah]",
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/">Še­nov</a>
<a href="adminis­trace.php">Ad­ministrace</a>
<a href="adminis­trace.php?odhla­sit">Odhlásit</a></div>
</body>

</html>

 
Odpovědět
24.1.2018 19:11
Avatar
Roman Kulhánek:24.1.2018 19:42

Tak sem na to přišel, <input type="text" name="url" value="<?= htmlspecialchar­s($seznam['prij­meni']) ?>" />

name sem měl zle. Díky díky

 
Nahoru Odpovědět
24.1.2018 19:42
Avatar
Lasvit
Člen
Avatar
Odpovídá na Roman Kulhánek
Lasvit:25.1.2018 10:01

Přístě zkus použít [ code][/code] a třeba ti někdo i pomůže

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
25.1.2018 10:01
Avatar
Odpovídá na Lasvit
Roman Kulhánek:25.1.2018 19:11

Ahoj, ano na [ code]
\---
jsem bohužel přišel až později. Děkuji za odpověď. chyba byla v

<input type="text" name="url" value="<?= htmlspecialchars($seznam['prijmeni']) ?>" />

name=

 
Nahoru Odpovědět
25.1.2018 19:11
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 4 zpráv z 4.