Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Obsługa mysql w php.
Forum PHP.pl > Forum > Przedszkole
robert-0627
Więc najpierw przepisałem skrypt z książki odnoście zapisu danych do bazy z formularza .Jednak wyskoczył błąd :

Parse error: parse error, unexpected $end in C:\Program Files\xampp\htdocs\Robert\shoutbox.php on line 113.Oto kod

  1. <form action="inde.php" method="post">
  2. <input type="text" name="nick">
  3. <input type="text" name="tresc">
  4. <input type="submit" name="zatwierdz">
  5.  
  6.  
  7. <?php
  8. if (!$db_lnk = @mysql_connect("localhost", "robert", "xxxxxxxx")){
  9. echo('Wystąpił błąd podczas próby połączenia z serwerem MySQL...<BR>');
  10. }
  11.  
  12. if(!@mysql_select_db('rzodkiewka')){
  13. echo('Wystąpił błąd podczas wyboru bazy danych: Ksiegarnia<BR>');
  14. }
  15.  
  16. $query = 'SELECT * FROM shoutbox';
  17.  
  18. if(!$result = mysql_query($query, $db_lnk)){
  19. echo('Wystąpił błąd: nieprawidłowe zapytanie...<BR>');
  20. }
  21. ?>
  22.  
  23. <table border="5" width="100%"><tr><td>Nick</td>
  24. <td>TREŚĆ</td>
  25. </tr>
  26.  
  27.  
  28. <?php
  29. while($row = mysql_fetch_row($result)){
  30. echo("<tr>");
  31. echo("<td>$row[1]</td>");
  32. echo("<td>$row[2]</td>");
  33. echo("</tr>");
  34. }
  35.  
  36. ?>
  37. </table>
  38.  
  39. <?php
  40. if(!@mysql_close()){
  41. echo('Wystąpił błąd podczas zamykania połączenia z serwerem MySQL...<BR>');
  42. }
  43.  
  44.  
  45. ?>
  46.  
  47.  
  48. <?php
  49.  
  50. function dodaj($nick, $tresc){
  51.  
  52. /*sprawdzenie poprawości przekazanych danych*/
  53.  
  54. if($tresc == ''){
  55. echo("Brak danych. Proszę wypełnić pole: Imię i nazwisko.");
  56. return;
  57. }
  58. if($nick == '') $nick = 'NULL';
  59.  
  60. /*Nawiązanie połączenia z bazą*/
  61.  
  62. if (!$db_lnk = @mysql_connect("localhost", "robert", "xxxxxxxxxxxxx")){
  63. echo('Wystąpił błąd podczas próby połączenia z serwerem MySQL...<BR>');
  64. return;
  65. }
  66.  
  67. if(!@mysql_select_db('rzodkiewka')){
  68. echo('Wystąpił błąd podczas wyboru bazy danych: biblioteka<BR>');
  69. return;
  70. }
  71.  
  72. /*Utworzenie i wykonanie zapytania*/
  73.  
  74. $query = "INSERT INTO shoutbox VALUES(";
  75. $query .= "$nick, '$tresc'";
  76. $query .= ")";
  77.  
  78. if(!mysql_query($query, $db_lnk)){
  79. echo('Wystąpił błąd: zapytanie zostało odrzucone...<BR>');
  80. return;
  81. }
  82.  
  83. /*Pobranie informacji o liczbie wstawionych wierszy*/
  84.  
  85. $rowsNo = mysql_affected_rows($db_lnk);
  86.  
  87. echo("Zapytanie zostało wykonane.<br>");
  88. echo("Liczba dodanych rekordów: $rowsNo<br>");
  89.  
  90. /*Zamknięcie połączenia z bazą*/
  91.  
  92. if(!@mysql_close()){
  93. echo('Wystąpił błąd podczas zamykania połączenia z serwerem MySQL...<br>');
  94. }
  95.  
  96.  
  97. if(isSet($_GET['tresc']) && isSet($_GET['nick'])){
  98. dodaj($_GET['nick'], $_GET['tresc']);
  99. }
  100. else{
  101. echo("Niepoprawne dane!");
  102. }
  103.  
  104.  
  105.  
  106. ?>



No i w tym problem ,że linia 113 ="?>" .

Najpierw przepisałem z książki był ten bład .Myślałem ,że gdzies znaku nie wstawłem lub czegoś no i cały skrypt skopiowałem z płyty i to samo .Wątpie żeby autorzy wypuszczali to z błędem .Ktoś mi może wytłumacyzć co robie źle ?Może dlatego ,że w jednym pliku 2 razy otworzyłem połączenie z mysql questionmark.gif
nospor
dopisz jeszcze } na koncu i bedzie git smile.gif
Nie domknales (lub tez autor) funkcji
robert-0627
Racja skrypt działa .Thx .Tylko rekordy sie nie dodają ;/ można sprawdzić na http://85.219.216.212/robert/inde.php .Ktoś wie czemu rekordy się nie dodają ?

Racja skrypt działa .Thx .Tylko rekordy sie nie dodają ;/ można sprawdzić na http://85.219.216.212/robert/inde.php .Ktoś wie czemu rekordy się nie dodają ?
Darti
Bo wysyłasz formularz postem a odbierasz GETem ... zrób tak:
  1. <?php
  2. if(isSet($_POST['tresc']) && isSet($_POST['nick'])){
  3. dodaj($_POST['nick'], $_POST['tresc']);
  4. }
  5. ?>

Poza tym radze Ci zdjąć i mocno poprawić ten kod ... jest dziurawy jak sito
robert-0627
  1. <?php
  2.  
  3. function dodaj($nick, $tresc){
  4.  
  5. /*sprawdzenie poprawości przekazanych danych*/
  6.  
  7. if($tresc == ''){
  8. echo("Brak danych. Proszę wypełnić pole: Imię i nazwisko.");
  9. return;
  10. }
  11. if($nick == '') $nick = 'NULL';
  12.  
  13. /*Nawiązanie połączenia z bazą*/
  14.  
  15. if (!$db_lnk = @mysql_connect("localhost", "robert", "kalarepa")){
  16. echo('Wystąpił błąd podczas próby połączenia z serwerem MySQL...<BR>');
  17. return;
  18. }
  19.  
  20. if(!@mysql_select_db('rzodkiewka')){
  21. echo('Wystąpił błąd podczas wyboru bazy danych: biblioteka<BR>');
  22. return;
  23. }
  24.  
  25. /*Utworzenie i wykonanie zapytania*/
  26.  
  27. $query = "INSERT INTO shoutbox VALUES(";
  28. $query .= "$nick, '$tresc'";
  29. $query .= ")";
  30.  
  31. if(!mysql_query($query, $db_lnk)){
  32. echo('Wystąpił błąd: zapytanie zostało odrzucone...<BR>');
  33. return;
  34. }
  35.  
  36. /*Pobranie informacji o liczbie wstawionych wierszy*/
  37.  
  38. $rowsNo = mysql_affected_rows($db_lnk);
  39.  
  40. echo("Zapytanie zostało wykonane.<br>");
  41. echo("Liczba dodanych rekordów: $rowsNo<br>");
  42.  
  43. /*Zamknięcie połączenia z bazą*/
  44.  
  45. if(!@mysql_close()){
  46. echo('Wystąpił błąd podczas zamykania połączenia z serwerem MySQL...<br>');
  47. }
  48.  
  49.  
  50. if(isSet($_GET['tresc']) && isSet($_GET['nick'])){
  51. dodaj($_GET['nick'], $_GET['tresc']);
  52. }
  53. else{
  54. echo("Niepoprawne dane!");
  55. }
  56.  
  57. }
  58.  
  59. ?>


Formularz
  1. <form action="inde.php" method="GET">
  2. <input type="text" name="nick">
  3. <input type="text" name="tresc">
  4. <input type="submit" name="zatwierdz">


Nadal nie dodaje rekordów ;/.W jakim sensie kod jest dziurawy jak sito bo niedawno zaczełem z php i tak sie nie orienuje jak pisać .
Darti
Włącz error_reporting, zobaczymy jakie dodatkowo błędy wyrzuci i poczytaj o SQL injection/insertion
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.