Witam,
Mam problem z aktualizacją artykułów. Zrobiłem dodawanie artykułu, wyświetlenie zawartości artykułu po ID i wyświetlanie w pliku edit.php.
Jednak gdy, chcę zaktualizować artykuł, to pojawia się monit Undevined vavriable i linijki wskazują na zmienne w formularzu.
O to kod pliku edit.php.
require_once('dbconn.php');
if(isset($_GET['id']) && is_numeric($_GET['id'])){
if(isset($_POST['submit'])){
$temat = $_POST['temat'];
$tekst = $_POST['tekst'];
$kategoria = $_POST['kategoria'];
if (empty($temat) || empty($tekst)){
echo '<div class="error">Pole jest puste!</div>';
} else {
echo '<div class="ok">Artykuł został pomyślnie zaktualizowany!</div>';
$sql = "UPDATE artykuly SET temat='".$temat."', tekst ='".$tekst."', kategoria ='".$kategoria."'";
if($query = $db->prepare($sql)){
$query->bind_param('sss', $temat, $tekst, $kategoria);
$query->execute();
}else{
echo '<div class="error">Błąd w aktualizacji artykułu!</div>';
}
}
}else {
if(is_numeric($_GET['id']) && $_GET['id'] > 0) {
$id = $_GET['id'];
$sql = "SELECT temat, tekst, kategoria FROM artykuly WHERE id = ? ";
if($query = $db->prepare($sql)) {
$query->bind_param('i', $id);
$query->bind_result($temat, $tekst, $kategoria);
$query->execute();
$query->store_result();
$query->fetch();
}else {
echo $db->error;
}
}
}
}
?>
formularz jest taki:
<a href="index.php" id="mlink">Strona główna</a>
<a href="#" id="mlink">Dodaj artykuł</a>
<a href="#" id="mlink">Pokaż kategorie</a>
</div>
<form action="edit.php" method="post">
<input type="text" class="pole" name="temat" value="<?php echo $temat; ?>"></input></div>
<textarea name="tekst" ><?php echo $tekst;?></textarea>
<script type="text/javascript">
CKEDITOR.replace( 'tekst' );
</script>
<div id="margin">Kategoria: </div>
<select class="pole3" name="kategoria">
```php
<?php
require_once('dbconn.php');
$query = $db->query("SELECT * FROM kategorie");
while($row = $query->fetch_object()){
echo "<option value="".$row-">idkat."'>".$row->nazwakat."</option>";
}
```html
</select>
<input type="submit" class="btn" name="submit" value="Wyślij"></input>
</form>
Co zrobiłem źle i jak powinno być?
dodanie znaczników <code class="html"> i <code class="php">
- @furious programming