Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Uszkodzony skrypt dodawania komentarzy
Forum PHP.pl > Forum > Przedszkole
RoysoN
Stworzyłem sobie stronę na WebServie, przenoszę ją na ten właściwy serwer, zmieniam namiary na bazę, użytkownika itp(MySQL), otwieram, żeby zobaczyć. Z pozoru wygląda prawidłowo, lecz nie działają skrypty dodające dane do bazy. Przykład:

Fragment index.php
  1. <div id="okladka2">
  2.  
  3.  
  4. <iframe src="komenty.php" width="168px" height="300px" frameborder="0">not</iframe>
  5. <form action="" method="post">
  6. Ksywka:
  7. <input type="text" name="ksywka" style="width:170px" />
  8. <br>Tresc:
  9. <input type="text" name="tresc" style="width:170px" />
  10. <br><select name="grupa"><option checked="yes">Internauta</option></select>
  11. <p align="right">
  12. <input type="submit" value='' style='background:url(grafika/ok.gif); border:0; height:10px; width:50px' />
  13. </p>
  14. <?php
  15. $nazwa = $_POST['ksywka'];
  16. $tresc = $_POST['tresc'];
  17. $grupa = $_POST['grupa'];
  18.  
  19. if($ksywka and $tresc and $grupa)
  20. {
  21.  
  22. require "connection.php";
  23. connection();
  24. $ins = @mysql_query("INSERT INTO komentarze SET id=null, ksywka='".$ksywka."', tresc='".$tresc."', grupa='".$grupa."';");
  25. if($ins) echo "Komentarz dodany!";
  26. else echo "Co jest nie tak. Błąd!";
  27. }
  28.  
  29. ?>
  30. </form>
  31.  
  32. </div>


komenty.php
  1. <?php
  2.  
  3. require "connection.php";
  4. connection();
  5.  
  6.  
  7. $wynik = mysql_query("SELECT * FROM komentarze ORDER BY id DESC LIMIT 10")
  8. or die('Błąd zapytania');
  9.  
  10. if(mysql_num_rows($wynik) > 0) {
  11. while($r = mysql_fetch_assoc($wynik)) {
  12. if ($r['grupa'] == "admin")
  13. {
  14. echo "<div id='wiersz'><img src='grafika/kropka2.gif'><font color='#49b23b'><b>".$r['ksywka']." napisał(a): </b>".htmlspecialchars($r['tresc'])."</font></div><br>";
  15. } else {
  16. echo "<div id='wiersz'><img src='grafika/kropka.gif'><b>".$r['ksywka']." napisał(a): </b>".htmlspecialchars($r['tresc'])."</div><br>";
  17. }
  18.  
  19.  
  20.  
  21. }
  22. }
  23. ?>


connection.php
  1. <?php
  2.  
  3. function connection() {
  4. $mysql_server = "***";
  5. $mysql_admin = "***";
  6. $mysql_pass = "***";
  7. $mysql_db = "***";
  8. @mysql_connect($mysql_server, $mysql_admin, $mysql_pass)
  9. or die('Brak połączenia z serwerem MySQL.');
  10. @mysql_select_db($mysql_db)
  11. or die('Błąd wyboru bazy danych.');
  12. }
  13.  
  14. ?>
sadistic_son
A wytłumacz mi co oznacza zapytanie z 24 linijki?
Albo
  1. INSERT INTO xxxx VALUES (NULL, 'xxxx', 'xxxxx' , 1,2,3)
albo
  1. UPDATE xxx SET xxx='xxx' , yyy='yyy' , xxxxxx=5 WHERE xyxyx=19
Oba na raz nie tongue.gif Wczesniej to tez nie mialo prawa dzialac.
Poza tym odradzam korzystanie z ramek - iframe. W3C nie zaleca tego archaicznego elementu wiec nowsze przegladarki moga go niepoprawnie interpretowac lub nie znac w ogole.
Wicepsik
Usuń małpy i sprawdź jakie są błędy
RoysoN
pousuwałem małpy, ale błędy się nie wyświetlają;
poprawiłem 24 linijkę, lecz dalej to samo:
  1. $ins = @mysql_query("INSERT INTO komentarze VALUES (id=null, ksywka='".$ksywka."', tresc='".$tresc."', grupa='".$grupa."');");


http://halloorecords.ugu.pl - po prawej z nagłówkiem BOX
Wicepsik
Sprawdź jak poprawnie skonstruować zapytanie insert into
RoysoN
  1. $ins = mysql_query("INSERT INTO `komentarze` (`id`, `ksywka`, `tresc`, `grupa`) VALUES (null, '".$ksywka."', '".$tresc."', '".$grupa."');");

Sposób z webmade, również niedziałający:
  1. $ins = @mysql_query("INSERT INTO test SET imie='$imie', email='$email'");

Ta wersja jest ze strony kess.snug.pl, na tym pierwszy raz bazowałem


Poleci mi ktoś jakąś skuteczną wersję INSERT INTO?
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.