Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dodawanie artykułu w cms
elldiablo
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 30.05.2009

Ostrzeżenie: (0%)
-----


Hej

mam problem z dodaniem artykułu do odpowiedniego menu.
Są 2 tabele:

artykulu
-id
-id_kategoria (indeks)
-nazwa (var)
-tresc (var)

kategoria (czyli menu)
-id
-nazwa (var)


Mój formularz wygląda tak:

Kod
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
                <label>Dodaj do menu:<br />
                <select name="id">
                    <option>Wybierz menu</option>
                <?php
                $listamenu = mysql_query ("SELECT * FROM kategoria ORDER BY id ASC" );
                while ($row = mysql_fetch_object($listamenu))
                {
                    echo "<option value=\"$row->id\">$row->nazwa</option>";
                }
                ?>
                </select>
                </label><br />
                <label>Dodaj tytuł:<br />
                <input name="nazwa" maxlength="40" />
                </label><br />
                <label>Dodaj artykuł:<br />
                <textarea name="tresc" rows="10" cols="40"></textarea>
                </label><br />
                <input type="submit" value="Dodaj" />
                </form>


Potem

Kod
                <?php
                if(!empty($_POST['tresc']) && !empty($_POST['nazwa']) && !empty($_POST['id']))
                {
                    $id = $_POST['id'];
                    $tytulartykulu = $_POST['nazwa'];
                    $trescartykulu = $_POST['tresc'];
                    
                    $sql = ("INSERT INTO artykul(nazwa,tresc,id_kategoria) VALUES('$tytulartykulu', '$trescartykulu', '$id_kategoria')");
                    if (mysql_query($sql))
                    {
                        echo "<p>Dodano nowy artykuł</p>";
                        echo "<p><a href=\"index.php\">Powrót</a></p>";
                    }
                    else
                    {
                        echo "<p>Błąd podczas dodawania artykułu</p>";
                    }
                }
                ?>


i cały czas jest błąd przy dodawaniu artykułu

Macie jakieś rozwiązania?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Choroba, szklana kula się zepsuła...

Przeczytaj, co mam w stopce czerwonymi literami napisane.
Go to the top of the page
+Quote Post
kefirek
post
Post #3





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

Ostrzeżenie: (0%)
-----


Masz tak

  1. <?php
  2. $sql = ("INSERT INTO artykul(nazwa,tresc,id_kategoria) VALUES('$tytulartykulu', '$trescartykulu', '$id_kategoria')");
  3. ?>


Skąd się bierze ?
'$id_kategoria' Nie powinno tam być $id ?

Po za tym zobacz tak
  1. <form action="<?php echo basename($_SERVER['PHP_SELF']); ?>" method="post">
  2.                <label>Dodaj do menu:<br />
  3.                <?php
  4.                $listamenu = mysql_query ("SELECT * FROM kategoria ORDER BY id ASC" );
  5.                $link = "";
  6.        while ($row = mysql_fetch_object($listamenu))
  7. {
  8. $link .= "<option value='".$row['id']."'>".$row['nazwa']."</option>\n";
  9. }
  10.                ?>
  11.                <select name="id">
  12.                    <option selected="selected">Wybierz menu</option>
  13.               <?php $link ?> </select>
  14.                </label><br />
  15.                <label>Dodaj tytuł:<br />
  16.                <input name="nazwa" maxlength="40" />
  17.                </label><br />
  18.                <label>Dodaj artykuł:<br />
  19.                <textarea name="tresc" rows="10" cols="40"></textarea>
  20.                </label><br />
  21.                <input type="submit" value="Dodaj" />
  22.                </form>
  23.        
  24.        
  25.         <?php
  26.                if(!empty($_POST['tresc']) && !empty($_POST['nazwa']) && !empty($_POST['id']))
  27.                {
  28.                    $id = $_POST['id'];
  29.                    $tytulartykulu = $_POST['nazwa'];
  30.                    $trescartykulu = $_POST['tresc'];
  31.                    
  32.                    $sql = ("INSERT INTO artykul(nazwa, tresc, id_kategoria) VALUES('$tytulartykulu', '$trescartykulu', '$id')");
  33.                    if (mysql_query($sql))
  34.                    {
  35.                        echo "<p>Dodano nowy artykuł</p>";
  36.                        echo "<p><a href=\"index.php\">Powrót</a></p>";
  37.                    }
  38.                    else
  39.                    {
  40.                        echo "<p>Błąd podczas dodawania artykułu</p>";
  41.                    }
  42.                }
  43.                ?>
Go to the top of the page
+Quote Post
zak293
post
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 9.08.2006

Ostrzeżenie: (0%)
-----


Zacytuj blad jaki masz zwracany tak ciężko cokolwiek powiedzieć bo może to zależeć od wielu czynników.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 23:41