ďťż

{PHP / MySQL} Złe zapisywanie ID do tabelki. Przez skrypt

       

Podstrony


telcocafe

Witam, mam problem ze skryptem,
powinien on dodawać do tablicy news_comment mojego commenta,
lecz do tablicy w pole NEWS_ID zamiast id ( 1,2,3,... ) wprowadza wartość 0.
W formulażu, po podglądzie źródła, ID Newsa jest poprawne, jednak nie dodaje się ono...
Dlaczego ?

<?php //jak jest pole autor, tzn. że przesyłamy formularz if (isset($_POST['autor'])) { //dostosowujemy wszystkie pola $_POST['autor']=konwertuj($_POST['autor']); $_POST['tytul']=konwertuj($_POST['tytul']); $_POST['tresc']=konwertuj($_POST['tresc']); //kontrolujemy poprawno¶ć $blad=''; if (strlen($_POST['tresc'])<10 || strlen($_POST['tresc'])>1024) $blad='Tre¶ć niusa ma nieprawidłow± długo¶ć!'; if (strlen($_POST['tytul'])<10 || strlen($_POST['tytul'])>200) $blad='Tytuł niusa ma nieprawidłow± długo¶ć!'; if (strlen($_POST['autor'])<3) $blad='¬le wprowadzono informacje o autorze!'; if ($blad!='') info($blad,'blad'); else { //dodajemy do tabeli //mysql_query("INSERT INTO news VALUES(\"$_POST[tytul]\",\"$_POST[tresc]\ ",\"$_POST[autor]\",\"$_POST[zrodlo]\ ",".time().",NULL)") or die(mysql_error()); mysql_query('INSERT INTO news_comment SET autor ="'.$_POST['autor'].'", tytul= "'.$_POST['tytul'].'", tresc= "'.$_POST['tresc'].'", news_id= "'.$_GET['news'].'", data_dodania="'.time().'"') or die(mysql_error()); info('Twój comment został zapisany.','ok'); include('aktualnosci.php'); return; } } else { $_POST['autor']=''; $_POST['tresc']=''; $_POST['tytul']=''; $_POST['news_id']=''; } ?> <form action="index.php?site=aktualnosci_read" method="POST"> <input type="hidden" name="site" value="aktualnosci_comment_add" /> <table border="0"> <tr><td>Tytuł:</td><td><input size="30" type="text" name="tytul" value="<?php echo $_POST['tytul']; ?>" /></td></tr> <tr><td>Tre¶ć:</td><td><textarea cols="40" rows="5" name="tresc"><?php echo $_POST['tresc']; ?></textarea></td></tr> <tr><td>¬ródło:</td><td><input size="30" type="hidden" name="news_id" value="<?php echo $_GET['news']; ?>" /></td></tr> <tr><td>Autor:</td><td><input size="30" type="text" name="autor" value="<?php echo $_POST['autor']; ?>" /></td></tr> <tr><td></td><td><input type="submit" value="Dodaj nowy nius" /></td></tr> </table> </form>

P.s. Czy pole w fragmencie dodawania skryptu - news_id= "'.$_GET['news'].'" - jest dobre ? Może powinienem to zmienić na - news_id= "'.$_POST['news'].'" ??

POMOCY !



Forma dodawania newsów prowadzi do index.php?site=aktualnosci_read natomiast ty chcesz odczytywać news_id z tablicy $_GET (w której znajduje się tylko zapis $site=>'aktualnosci_read').
Przesyłaj te dane za pomocą POST. Poza tym, wiesz czym się różni tabela $_POST od $_GET ?

Proste - zmień w tym miejscu $_GET na $_POST ..

@ADEX:
"oraz oczywiscie w bazie ustawiony "auto_increment" na news_id ..."

Po co ?! Przecież wtedy NEWS_ID 1,2,3 i kazdy news będzie miał 1 komentarz.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=
"Forma dodawania newsów prowadzi do index.php?site=aktualnosci_read natomiast ty chcesz odczytywać news_id z tablicy $_GET (w której znajduje się tylko zapis $site=>'aktualnosci_read'). "

NIE, Ja na głównej stronie z newsami mam linki, i gdy otwieram strone z komentarzem to jej adres = index.php?site=aktualnosci_read&news_id=[tu_id]

...
I wiem czym sie różni $_GET od $_POST :P
Tylko że jestem początkujący w tych klocach

@EDIT:
BAAAA.... Po zmianie z $_GET na $_POST odczytuje mi to shoubox ;/
To jest jakiś inne... Jak to mo.zliwe że shoutbox odczytuje z tabeli NEWS_COMMENT dane ?
Mam ustawione żeby pobierał dane z tabeli SHOUTBOX

@EDIT_2:
Dobra, już sobie poradziłem,
a shout posiada te same pola co w newsach itp wiec i on dodawał swoje pola, tylko że on je poprawnie odczytywał...

_+________________ TEMAT DO ZAMKNIĘCIA ________________+_
Użytkownik Sith edytował ten post 20 listopad 2006, 20:11
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.