Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]problemy ze skryptami, coś jest źle napisane
Forum PHP.pl > Forum > PHP
simo_n
Zrobiłem sobie prosty skrypt strony www. Tak wygląda plik index.php :
  1. <?php
  2. //inicjujemy sesje
  3.  
  4. //dołączamy plik z funkcjami
  5. include("functions.php");
  6.  
  7. //dozwolone skrypty PHP
  8. $dozwolone=array('aktualnosci','ksiega','skrypt_dodaj','aktualnosci_dodaj','newsphp');
  9.  
  10. //pobieramy parametr pokaz
  11. if (isset($_GET['pokaz'])) $pokaz=$_GET['pokaz']; else $pokaz=$dozwolone[0];
  12. if (isset($_POST['pokaz'])) $pokaz=$_POST['pokaz'];
  13. //jak jest w nim znak kropki - wyświetlamy domyślny skrypt
  14. if (strpos($pokaz,'.')!==false) $pokaz=$dozwolone[0];
  15.  
  16. //jak jest skrypt .PHP i jest to dozwolony PHP - zapamiętujemy pełną
  17. //nazwę pliku. Jak nie - tworzymy nazwę pliku z katalogu html i z rozszerzeniem htm
  18. if (file_exists($pokaz.'.php') && in_array($pokaz,$dozwolone)) $pokaz.='.php';
  19. else $pokaz='html/'.$pokaz.'.htm';
  20.  
  21. //łączymy się z bazą danych i wybieramy odpowiednią bazę danych
  22. $link = mysql_connect("lol.loll", "lol", "olo") or die ("Nie można nawiązać połączenia.");
  23.  
  24. //dołączamy nagłówek
  25. include('top.php');
  26.  
  27. //dołączamy wybrany skrypt lub wyświetlamy komunikat o błędzie
  28. if (file_exists($pokaz)) include($pokaz); else info('Nie znaleziono pliku.','blad');
  29.  
  30. //dołączamy stopkę
  31. include('bottom.php');
  32.  
  33. //zamykamy połączenie
  34. mysql_close($link);
  35. ?>


W miejscu bottom.php wywala mi takie cos
Kod
Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in /var/www/sites/yoyo.pl/s/z/szymonns/bottom.php on line 28


Mam jeszcze taki skrypt na dodawanie wpisów do bazy danych:
  1. <?php
  2. //jak jest parametr $_POST['haslo'] i jest w nim słowo 'tajne' to logujemy
  3. if (isset($_POST['haslo']) && $_POST['haslo']=='tajne') $_SESSION['zalogowany']=true;
  4.  
  5. //jeśli nie jesteśmy zalogowani, to wyświetlamy skrypt logowanie.php
  6. if (!isset($_SESSION['zalogowany']) || $_SESSION['zalogowany']==false)
  7. {
  8. include('logowanie1.php');
  9. return;
  10. }
  11.  
  12. //jak jest pole autor, tzn. że przesyłamy formularz
  13. if (isset($_POST['autor']))
  14. {
  15. //dostosowujemy wszystkie pola
  16. $_POST['autor']=konwertuj($_POST['autor']);
  17. $_POST['tech']=konwertuj($_POST['tech']);
  18. $_POST['typ']=konwertuj($_POST['typ']);
  19. $_POST['rozmiar']=konwertuj($_POST['rozmiar']);
  20. $_POST['wiecej']=konwertuj($_POST['wiecej']);
  21. $_POST['opis']=konwertuj($_POST['opis']);
  22. $_POST['pobierz']=konwertuj($_POST['pobierz']);
  23. $_POST['tytul']=konwertuj($_POST['tytul']);
  24.  
  25. //kontrolujemy poprawność
  26. $blad='';
  27. if (strlen($_POST['opis'])<100 || strlen($_POST['opis'])>10240) $blad='Treść niusa ma nieprawidłową długość!';
  28. if (strlen($_POST['tech'])<|| strlen($_POST['tech'])>200) $blad='Tytuł niusa ma nieprawidłową długość!';
  29. if (strlen($_POST['rozmiar'])<|| strlen($_POST['rozmiar'])>200) $blad='Źródło ma nieprawidłową długość!';
  30. if (strlen($_POST['autor'])<3) $blad='Źle wprowadzono informacje o autorze!';
  31. else
  32. {
  33. //dodajemy do tabeli
  34. mysql_query("INSERT INTO aktualnosci VALUES("$_POST[tytul]","$_POST[typ]","$_POST[autor]","$_POST[pobierz]","$_POST[opis]","$_POST[wiecej]","$_POST[rozmiar]","$_POST[tech]",".time().",NULL)") or die(mysql_error());
  35. info('News został dodany.','ok');
  36.  
  37. include('aktualnosci.php');
  38. return;
  39. }
  40.  
  41. } else
  42. {
  43. $_POST['autor']='';
  44. $_POST['typ']='';
  45. $_POST['tech']='';
  46. $_POST['rozmiar']='';
  47. $_POST['wiecej']='';
  48. $_POST['opis']='';
  49. $_POST['pobierz']='';
  50. $_POST['tytul']='';
  51. }
  52.  
  53. ?>
  54. <form action="index.php" method="POST">
  55. <input type="hidden" name="pokaz" value="skrypt_dodaj" />
  56. <table border="0">
  57. <tr><td>Tytuł:</td><td><input size="30" type="text" name="tytul" value="<?php echo $_POST['tytul']; ?>" /></td></tr>
  58. <tr><td>Typ:</td><td><td><input size="30" type="typ" name="typ" value="<?php echo $_POST['typ']; ?>" /></td></tr>
  59. <tr><td>Tech:</td><td><input size="30" type="text" name="tech" value="<?php echo $_POST['tech']; ?>" /></td></tr>
  60. <tr><td>Autor:</td><td><input size="30" type="text" name="autor" value="<?php echo $_POST['autor']; ?>" /></td></tr>
  61. <tr><td>Rozmiar:</td><td><input size="30" type="text" name="rozmiar" value="<?php echo $_POST['rozmiar']; ?>" /></td></tr>
  62. <tr><td>Więcej:</td><td><input size="30" type="text" name="wiecej" value="<?php echo $_POST['wiecej']; ?>" /></td></tr>
  63. <tr><td>Pobierz:</td><td><input size="30" type="text" name="pobierz" value="<?php echo $_POST['pobierz']; ?>" /></td></tr>
  64. <tr><td>Opis:</td><td><textarea cols="40" rows="5" name="opis"><?php echo $_POST['opis']; ?></textarea></td></tr>
  65. <tr><td></td><td><input type="submit" value="Dodaj nowy skrypt" /></td></tr>
  66. </table>
  67. </form>


I za każdym razem gdy wysyłam do bazy wywala mi takie coś:
Kod
Column count doesn't match value count at row 1

Nie wiem co jest grane, 10 razy sprawdzałem skrypt
starach
Problem dotyczy tej linijki
Kod
mysql_query("INSERT INTO aktualnosci VALUES(\"$_POST[tytul]\",\"$_POST[typ]\",\"$_POST[autor]\",\"$_POST[pobierz]\",\"$_POST[opis]\",\"$_POST[wiecej]\",\"$_POST[rozmiar]\",\"$_POST[tech]\",".time().",NULL)") or die(mysql_error());
Chodzi o to że w tabeli aktualnosci masz więcej kolumn niż próbujesz dodać.
Tego problemu nie będzie jeśli wymienisz po nazwie tabeli pola do których chcesz dodać wartości.
  1. INSERT INTO aktualnosci(id,autor,tekst,DATA,jeszcze_inne_pole) VALUES(.......)
Athlan
Luuuuuuuuuuuuuuuuuuuuudzie... google śmierdzi czy gryzie?
http://www.keithjbrown.co.uk/vworks/php/php_p7.php
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.