Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] problem dodawaniem mysql
Forum PHP.pl > Forum > Przedszkole
kt1
wita,
Wcześniej ładnie wszystko chodziło a teraz dup*
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5.  
  6. <?php
  7. if($send=='Wyslij') {
  8. include("../+4$.php"); // łoczenie ...
  9.  
  10. $zapytanie = "INSERT INTO news SET temat='$temat', calynews='$content', data='$data', tresc='$content', autor='$autor' ";
  11. $wykonaj = mysql_query ($zapytanie);
  12. echo '<script language=JavaScript>
  13. aktiv = window.setTimeout("Farbe()",500);
  14. function Farbe()
  15. {
  16. aktiv = window.location.href="panel.php?go=news";
  17. }
  18. </SCRIPT>
  19. ZAPISANO poprawnie !!!
  20. ';
  21. }
  22. else {
  23. echo "<center><form method="post" action="news.php">
  24. Temat: <input type=text name=temat ><br>
  25. Tresc&nbsp; <textarea name=content rows="15" cols="68"></textarea><br>
  26. Autor&nbsp; <input type=text name=autor value=Administrator><br>
  27. <input type="submit" value="Wyslij" name="send"><input type="reset" value="Kasuj" name="B2">
  28. </FORM>
  29. ";
  30. }
  31.  
  32. ?>
  33.  
  34. </body>
  35. </html>


Co jest zle??
Cienki1980
Nie wiem nawet czy taki zapis:
  1. <?php
  2. $zapytanie = "INSERT INTO news SET temat='$temat', calynews='$content', 
  3. data='$data', tresc='$content', autor='$autor' ";
  4. ?>

jest poprawny bo nigdy takiego nie używałem ( SET kojarzy mi się tylko z UPDATE ) ale ja bym zrobił to tak:
  1. <?php
  2. $zapytanie = "INSERT INTO news (temat,calynews,data,tresc,autor) 
  3. values ('".$temat."','".$content."','".$data."','".$content."','".$autor."') ";
  4. ?>

Sprawdź czy takie zapytanie będzie poprawne.
kt1
to samo :]
nie ma żadnego błędu.
Cienki1980
To wykorzystaj funkcję mysql_error() i zobacz jaki błąd zwraca baza danych, lub jeżeli nie wiesz jak wykorzystać funkcję mysql_error() wyświetl zapytanie i sprawdź jego poprawność bezpośrednio w bazie ( np phpMyAdmin )
kt1
może inaczej jest w tym problem ze nie pokazuje się zapisano poprawnie
tylko tak jak bym F5 nacisnął :] :]
Cienki1980
Cytat(kt1 @ 24.02.2007, 11:50:09 ) *
może inaczej jest w tym problem ze nie pokazuje się zapisano poprawnie
tylko tak jak bym F5 nacisnął :] :]

A dane do bazy są zapisywane questionmark.gif
Czy nie są zapisywane i nic się nie pokazuje questionmark.gif
kt1
Nie ma :]
Cienki1980
Cytat(kt1 @ 24.02.2007, 12:07:15 ) *
Nie ma :]

Gadasz jak pan Kononowicz
"Nie ma" ... ale czego nie ma questionmark.gif niczego questionmark.gif Rozwiń swoją wypowiedź ... mów ( pisz ) całym zdaniem.
kt1
Ja nie jestem wygadany smile.gif.
wpisałem w pola temat, tresc i nacisnąłem wyslij i strona się odświeżyła ale nie dodał się rekord do bazy danych.questionmark.gif
Cienki1980
Cytat(kt1 @ 24.02.2007, 13:11:05 ) *
Ja nie jestem wygadany smile.gif.
wpisałem w pola temat, tresc i nacisnąłem wyslij i strona się odświeżyła ale nie dodał się rekord do bazy danych.questionmark.gif


No to wiemy już coś: Nie dodał się rekord do bazy danych ... czyli nie wykonało się zapytanie. Albo nie jest poprawne, albo zmienna $send ma inną wartość.

Tak się zapytam odgórnie. Piszesz, że chodziło wcześniej a teraz nie chodzi ? Zmieniłeś serwer, albo jego konfigurację questionmark.gif Odczytujesz gdzieś dane z formularza questionmark.gif Robisz to przez $_POST ... bo nic takiego tutaj nie widze.

Sprawdź czy w ogóle wchodzisz do warunku gdzie chcesz wykonać zapytanie. Jeżeli tak, to sprawdź czy zapytanie jest poprawne ( wyświetl je i wykonaj bezpośrednio w bazie danych ).

Jeżeli to zawiedzie to szukamy błędu dalej.
JaRoPHP
Wpisz funkcje wyświetlająca błędy (mysql_error" title="Zobacz w manualu PHP" target="_manual), oraz wyświetl zapytanie i sprawdź, czy te zapytanie działa (bez PHP):
  1. <?php
  2. $zapytanie = "INSERT INTO news SET temat='$temat', calynews='$content', data='$data', tresc='$content', autor='$autor' ";
  3. echo $zapytanie;
  4. $wykonaj = mysql_query ($zapytanie) or die(mysql_error());
  5. ?>
kt1
  1. <?php
  2. <center><form method="post" action="news.php">
  3. ?>

tak robie przez POST
a bezpośrednio to działa

zrobiłem tak jak napisał JaRoPHP
i nie ma zadnego błedu nic a nic.
Cienki1980
Cytat(kt1 @ 24.02.2007, 13:34:40 ) *
  1. <?php
  2. <center><form method="post" action="news.php">
  3. ?>

tak robie przez POST
a bezpośrednio to działa

A robisz gdzieś np takie coś:
  1. <?php
  2. $tresc=$_POST['tresc'];
  3. ?>

itp .. itd .. i dotyczy to wszystkich zmiennych które masz w tym kawałku kodu questionmark.gif
Zrób tak jak mówi JaroPHP lub sprawdź czy zmienne mają takie wartości jak powinny mieć.
kt1
sprawdzałem wartości moją takie jakie powinny być
a co do
  1. <?php
  2. $tresc=$_POST['tresc'];
  3. ?>

to tak nie robie :]
na samej górze jest kod jak wykorzystuje i nic nie zmieniam
to nic nie daje :]
sad.gifsad.gif
Cienki1980
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5.  
  6. <?php
  7. echo "send ma wartosc:"; echo $send;echo "<BR>";
  8. if($send=='Wyslij') {
  9. include("../+4$.php"); // łoczenie ...
  10.  
  11. $zapytanie = "INSERT INTO news SET temat='$temat', calynews='$content', data='$data', tresc='$content', autor='$autor' ";
  12. echo $zapytanie;
  13. $wykonaj = mysql_query ($zapytanie);
  14. echo '<script language=JavaScript>
  15. aktiv = window.setTimeout("Farbe()",500);
  16. function Farbe()
  17. {
  18. aktiv = window.location.href="panel.php?go=news";
  19. }
  20. </SCRIPT>
  21. ZAPISANO poprawnie !!!
  22. ';
  23. }
  24. else {
  25. echo "<center><form method="post" action="news.php">
  26. Temat: <input type=text name=temat ><br>
  27. Tresc&nbsp; <textarea name=content rows="15" cols="68"></textarea><br>
  28. Autor&nbsp; <input type=text name=autor value=Administrator><br>
  29. <input type="submit" value="Wyslij" name="send"><input type="reset" value="Kasuj" name="B2">
  30. </FORM>
  31. ";
  32. }
  33.  
  34. ?>
  35.  
  36. </body>
  37. </html>


Jak wykonasz tak zmodyfikowany kod pokaże Ci się coś na stronie questionmark.gif bo jak dla mnie w ogóle nie wchodzisz do warunku w którym wykonujesz zapytanie do bazy.
kt1
Chyba masz racje bo w send ma wartosc: nie pokazuje się nic
to jak to naprawic??

jak zrobie dodawanie z tego
http://www.grzeszczyk.3it.pl/kurs_mysql/5.php
to tak samo nie działa :]
sad.gif
Cienki1980
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5.  
  6. <?php
  7.  
  8. if($_POST['send']=='Wyslij') {
  9. include("../+4$.php"); // łoczenie ...
  10.  
  11. $zapytanie = "INSERT INTO news SET temat='".$_POST['temat']."', calynews='".$_POST['content']."', 
  12. data='".$_POST['data']."', tresc='".$_POST['content']."', autor='".$_POST['autor']."' ";
  13.  
  14. $wykonaj = mysql_query ($zapytanie);
  15. echo '<script language=JavaScript>
  16. aktiv = window.setTimeout("Farbe()",500);
  17. function Farbe()
  18. {
  19. aktiv = window.location.href="panel.php?go=news";
  20. }
  21. </SCRIPT>
  22. ZAPISANO poprawnie !!!
  23. ';
  24. }
  25. else {
  26. echo "<center><form method="post" action="news.php">
  27. Temat: <input type=text name=temat ><br>
  28. Tresc&nbsp; <textarea name=content rows="15" cols="68"></textarea><br>
  29. Autor&nbsp; <input type=text name=autor value=Administrator><br>
  30. <input type="submit" value="Wyslij" name="send"><input type="reset" value="Kasuj" name="B2">
  31. </FORM>
  32. ";
  33. }
  34.  
  35. ?>
  36.  
  37. </body>
  38. </html>

Zobacz tak zmodyfikowany kod
kt1
to samo :]
tak samo jak wczesniej pisałem
naciskam buttona i kasuje się wszystko nie dodaje się do bazy
to będe musiał robic
na dwóch plikach :]
a.php formularz b.php zapisanie do bazdy danych :]
:]
ja się podaje sad.gif

jest taka lipa ze nie moge poprzez skrypt usuwać w z bazy danych
  1. <?php
  2.  
  3. include("./4$.php");
  4.  
  5. $zapytanie = "SELECT * FROM news ORDER BY id DESC";
  6. $wykonaj = mysql_query ($zapytanie);
  7. while($wiersz=mysql_fetch_array ($wykonaj)) {
  8. echo 
  9. <b></b>
  10. ".$wiersz['id']."<br>
  11. ".$wiersz['temat']."<br>
  12.  
  13. <b><a href="index.php?go=del_news&stan=del&iddel=".$wiersz['id']."">KASUJ</a></b><hr>
  14. ";
  15. }
  16. if($stan=='del') {
  17. $zapytanie2="DELETE FROM news WHERE id=$iddel";
  18. $wynik2 = mysql_query($zapytanie2);
  19. echo "Rekord o id=$iddel został skasowany !";
  20. }
  21. else {
  22.  
  23. }
  24. ?>


ehh
JaRoPHP
Jaki otrzymasz rezultat po wykonaniu takiego kodu:
  1. <?php
  2. if($_POST['send']=='Wyslij') {
  3.  include("../+4$.php");
  4.  
  5.  $zapytanie = "INSERT INTO news SET temat='".$_POST['temat']."', calynews='".$_POST['content']."', 
  6. data='".$_POST['data']."', tresc='".$_POST['content']."', autor='".$_POST['autor']."' ";
  7.  
  8.  echo $zapytanie;
  9.  
  10.  $wykonaj = mysql_query ($zapytanie) or die(mysql_error());
  11. } else {
  12.  die('Błąd... Wartość POST = ' . $_POST['send']);
  13. }
  14. ?>


EDIT:
Zgodnie z wątpliwościami 2 posty niżej: kluczowe fragmenty należy podmienić...
kt1
o to bład
Błąd... Wartość POST =

i co mam stym zrobic questionmark.gif
Cienki1980
Cytat(kt1 @ 24.02.2007, 15:56:51 ) *
o to bład
Błąd... Wartość POST =

i co mam stym zrobic questionmark.gif

Wykonałeś tylko ten kod który podał JaroPHP questionmark.gif Jeżeli tak to raczej miałeś go podmienić ze swoim kodem od miejsca gdzie masz warunek if ( a przynajmniej wydaje mi się że o to chodziło JaroPHP )
kt1
sorry zapomniałęm cos dodac

INSERT INTO news SET temat='6666666666', calynews='666', data='', tresc='666', autor='Administrator'
takie cos mam

TERAZ DZIAŁA exclamation.gif!!!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.