Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP]problemy z funkcjami - pomocy
nyggaz
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 6.11.2009

Ostrzeżenie: (0%)
-----


witam wszystkich
od niedawna zaczołem swoją przygode z programowanie php.
Napisałem kilka (az 4 skrypy 3 w php i od razu mam problem z funkcjami i nie potrafie sobie poradzic)
Juz dostaje czegoś bo ciagle jakies nowe bledy mi sie pokazuja i nie wiem jak sie ich pozbyc raz na zawsze a zeby stronka zaczela pomalu dzialac jak nalezy.

Minowicie utworzylem baze danych:
Kod
-- phpMyAdmin SQL Dump
-- version 2.6.4-pl3
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Czas wygenerowania: 05 Lis 2009, 07:15
-- Wersja serwera: 5.0.15
-- Wersja PHP: 5.0.5
--
-- Baza danych: `kambn1`
--

-- --------------------------------------------------------

--
-- Struktura tabeli dla  `images`
--

CREATE TABLE `images` (
  `IMAGES_ID` int(11) NOT NULL auto_increment,
  `IMAGES_CAPTION` varchar(255) collate utf8_polish_ci NOT NULL,
  `OPIS` varchar(255) collate utf8_polish_ci NOT NULL,
  `CENA` varchar(255) collate utf8_polish_ci NOT NULL,
  PRIMARY KEY  (`IMAGES_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=1;

--
-- Zrzut danych tabeli `images`
--


-- --------------------------------------------------------

--
-- Struktura tabeli dla  `page`
--

CREATE TABLE `page` (
  `LP` int(11) NOT NULL auto_increment,
  `TYTUL` text collate utf8_polish_ci NOT NULL,
  `TRESC` text collate utf8_polish_ci NOT NULL,
  PRIMARY KEY  (`LP`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=1;

--
-- Zrzut danych tabeli `page`
--


-- --------------------------------------------------------

--
-- Struktura tabeli dla  `user`
--

CREATE TABLE `user` (
  `LP` int(1) NOT NULL auto_increment,
  `LOGIN` varchar(50) collate utf8_polish_ci NOT NULL,
  `PASS` varchar(255) collate utf8_polish_ci NOT NULL,
  `IMIE` varchar(50) collate utf8_polish_ci NOT NULL,
  `LEVEL` varchar(20) collate utf8_polish_ci NOT NULL,
  PRIMARY KEY  (`LP`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=1;

--
-- Zrzut danych tabeli `user`
--


pozniej utworzylem pliczek
upload_images.htm
Kod
<html>
<head>
<title>Dodawanie oferty</title>
</head>
<body>

<form name="form1" method="post" action="chceck_image.php"
    enctype="multipart/form-data">

<table border="0" callpadding="5">
<tr>
<td>Nazwa kostki</td>
<td><input name="image_caption" type="text" id="item_caption" size="55" maxlength="255"></td>
</tr>
<tr>
<td>Opis kostki</td>
<td><input name="opis" cols="1" rows="10" type="text" id="opis" size="55" maxlength="255"></td>
</tr>
<tr>
<td>Zdjęcie kostki</td>
<td><input name="image_filename" type="file" id="image_filname"</td>
</tr>
<tr>
<td>Cena kostki</td>
<td><input nape="cena" type="text" id="cena" size="15" maxlength="255"></td>
</td>
</table>
<br>
<em>Przyjmowane są obrazy w formatach: GIF. JPG/JPEG I PNG.</em>
<p algin="center"><input type="submit" name="Submit" valure="Wyślij">
&nbsp;
<input type="reset" name="Submit2" valure="Wyczyść">
</p>
</form>
</body>
</html>


Po kilka godzinach meczenia sie udalo mi sie stworzyc
chceck_image.php
Kod
<?php
// połączenie z bazą danych
$link = mysql_connect("localhost", "root", "")
or die("nie mogę się połączyć:" . mysql_error());
mysql_select_db("kambn1" , $link)
or die (mysql_error());

// udostępnienie zmiennych
$image_caption = $_POST['image_caption'];
$opis = $_POST['opis'];
$image_tempname = $_FILES['images_filename']['name'];
$cena = $_POST['cena'];

//umieszczenie obrazu i sprawdzenie jego formatu
// ściezka do pliku
$ImageDir = "c:/Program Files/xampp/htdocs/KAMBN/images/";
// miniatury
$imageThumb = $ImageDir . "thumbs/"

$Imagename = $ImageDir . $images_tmpname;
if (move_uploaded_file($_FILES['images']['tmp_name'],
                $ImageName))
{

// pobieranie informacji na temat umieszczonego obrazu
list($width, $height, $type, $attr) = getimagesize($ImageName);

if ($type>3) {
echo: "Przykro nam, ale przesłany obraz nie jest w formacie .GIF, .JPG lub .PNG.<br>";
echo: "Kliknij przycisk Wstecz w przegl±darce i spruboj ponownie.";
    } else{
  // obraz jest w poprawnym formacie mozna kontynuowac.
// wstawienie informacji do tabeli images

$insert = "INSERT INTO images
    (IMAGES_CAPTION, OPIS, CENA)
    VALUES
    ('$IMAGES_CAPTION', '$OPIS', '$CENA')";
$insertresults = mysql_query($insert)
or die(mysql_error());

$lastpicid - mysql_insert_id();

$newfilename = $ImageDir . $lastpicid  .jpg;
if ($type == 2){
rename($ImageName. $newfilename);
} else {
    if ($type == 1) {
        $image_old = imagecreatefromgif($ImageName);
    } elseif ($type == 3) {
        $image_old = imagecreatefrompng($ImageName);
    }
// skonwertuj obraz na format JPG
$image_jpg = imagecreatetruecolor($width, $height);
imagecopyresampled($image_jpg, $image_old, 0, 0, 0, 0,
                    $width, $height, $width, $height);
imagejpeg($image_jpg. $newfilename);
imagedestroy($image_old);
imagedestroy($image_jpg);
}
// miniatury
$newthumbname = $ImageThumb . $lastpicid . ".jpg;"
// pobierz wymiary miniaturki
$thumb_width = $width * 0.10;
$thumb_height = $height * 0.10;

// utwurz miniaturke
$largeimage = imagecreatefromjpeg($newfilename);
$thumb = imagecreatetruecolor($thumb_width. $thumb_height);
imagecopyresampled($thumb. $largeimage. 0, 0, 0, 0,
                    $thumb_width. $thumb_height. $width. $height);
imagejpeg($thumb. $newthumbname);
imagedestroy($largeimage);
                    
$url="location: showimage.php?id=" . $lastpicid;
header($url);
}
}

?>

i w tym pliku zaczynaja sie "jaja" mianowicie po odpaleniu wyskakuje
Kod
Parse error: parse error, unexpected T_VARIABLE in C:\Program Files\xampp\htdocs\KAMBN\chceck_image.php on line 20


Lecz to dopiero początek. Nastepny plik to
showimage.php
Kod
<?php
// polaczenie z baza danych
$link = mysql_connect("localhost", "root", "")
or die("Nie moge sie polaczyc: " . mysql_error());
mysql_select_db("kambn1" . $link)
or die (mysql_error());

// udostepnienie zmiennych
$id = $REQUEST['id'];

// pobranie informacji o obrazie do wyswietlenia
$getpic = mysql_query("SELECT * FROM `images` WHERE `IMAGES_ID` = '$id'")
or die (mysql_error());
$rows = mysql_fetch_array($getpic);
extract($rows);

$image_filename = "images/" . $images_id . ".jpg";
list($width, $height, $type, $attr) = getimagesize($image_filename);


?>

<html>
<head>
<title> oferta </title>
</head>
<body>
<img src="<?php echo $image_filename; ?>" align="left"
    <?php echo $attr; ?> >
    <strong><?php echo $image_caption; ?></strong><br />
    <?php echo $opis; ?> <br />
    Jego cena to<?php echo $cena; ?>
</body>
</html>

i po odpaleniu plika showimage wyskakuje błąd;
Kod
Unknown database 'kambn1resource id #2'

i ostatni plik ktory utworzylem to:
oferta.php
Kod
<?php

// polaczenie z baza danych
$link = mysql_connect("localhost", "root", "")
or die("nie moge sie polaczyc: " . mysql_error());
mysql_select_db("kambn1" . $link)
or die (mysql_error());

$ImageDir = "images";
$ImageThumb = $ImageDir . "/thumbs/";
?>
<html>
<head>
<title>Oferta</title>
<body>
<p align="center">Kliknij na miniaturke aby powiekszyc</p>
<table align="center">
<tr>
<td align="center">Kostka</td>
<td align="center">Nazwa Kostki</td>
<td align="center">Opis</td>
<td align="center">Cena</td>
</tr>

<?php
// pobieranie miniaturek
$getpic = mysql_query("SELECT * FROM `images`")
or die(mysql_error());
while ($rows = mysql_fetch_array($getpic)) {
    extract($rows);
    echo "<tr>\n";
    echo "<td><a href=\"".ImageDir . $IMAGES_ID . ".jpg\">";
    echo "<img src=\"" . $ImageThumb . $IMAGES_ID . ".jpg\" border=\"0\">";
    echo "</a></td>\n";
    echo "<td>" . $images_caption . "</td>\n";
    echo "<td>" . $opis . "</td>\n";
    echo "<td>" . $cena . "</td>\n";
    echo "</tr>\n";
    }
?>
</table>
</body>
</html>

i po odpaleniu rowniez wyskakuje mi ten sam blad w/w. Dodam, że w bazie danych nie ma zapisanego zadnego rekordu wiec nie wiem skad ten blad i nie wiem jak mam sie go pozbyc. (IMG:style_emoticons/default/sad.gif)
Jak ktoś da rade to prosze o pomoc w pozbyciu sie błedow ze skryptow i wyjasnienie mi jak pisac aby nie bylo denerwujacych bledow.

Ten post edytował nyggaz 6.11.2009, 12:18:21
Go to the top of the page
+Quote Post
Informatic
post
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 3
Dołączył: 18.12.2008

Ostrzeżenie: (0%)
-----


Wszystkie trzy błędy:
Kod
mysql_select_db("kambn1", $link) or die (mysql_error());

Powinien być przecineczek, a nie kropeczka (IMG:style_emoticons/default/smile.gif)
Kropka służy do łączenia ciągów znaków, a przecinek oddziela parametry funkcji.
Go to the top of the page
+Quote Post
nyggaz
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 6.11.2009

Ostrzeżenie: (0%)
-----


wspaniale ta kropeczka mnie tak denerwowala od kilku godzin.
Poprawilem lecz plik;

chceck_image.php

w dalszym ciagu nie dziala po wyslaniu pliku poprzez formularz przegladarka wyswietla następujaca tresc

Kod
3) { echo "Przykro nam, ale przesłany obraz nie jest w formacie .GIF, .JPG lub .PNG.
"; echo "Kliknij przycisk Wstecz w przeglądarce i spruboj ponownie."; } else{ // obraz jest w poprawnym formacie mozna kontynuowac. // wstawienie informacji do tabeli images $insert = "INSERT INTO images (IMAGES_CAPTION, OPIS, CENA) VALUES ('$IMAGES_CAPTION', '$OPIS', '$CENA')"; $insertresults = mysql_query($insert) or die(mysql_error()); $lastpicid - mysql_insert_id(); $newfilename = $ImageDir . $lastpicid .jpg; if ($type == 2){ rename($ImageName. $newfilename); } else { if ($type == 1) { $image_old = imagecreatefromgif($ImageName); } elseif ($type == 3) { $image_old = imagecreatefrompng($ImageName); } // skonwertuj obraz na format JPG $image_jpg = imagecreatetruecolor($width, $height); imagecopyresampled($image_jpg, $image_old, 0, 0, 0, 0, $width, $height, $width, $height); imagejpeg($image_jpg. $newfilename); imagedestroy($image_old); imagedestroy($image_jpg); } // miniatury $newthumbname = $ImageThumb . $lastpicid . ".jpg;" // pobierz wymiary miniaturki $thumb_width = $width * 0.10; $thumb_height = $height * 0.10; // utwurz miniaturke $largeimage = imagecreatefromjpeg($newfilename); $thumb = imagecreatetruecolor($thumb_width. $thumb_height); imagecopyresampled($thumb. $largeimage. 0, 0, 0, 0, $thumb_width. $thumb_height. $width. $height); imagejpeg($thumb. $newthumbname); imagedestroy($largeimage); $url="location: showimage.php?id=" . $lastpicid; header($url); } } ?>
Go to the top of the page
+Quote Post
Informatic
post
Post #4





Grupa: Zarejestrowani
Postów: 10
Pomógł: 3
Dołączył: 18.12.2008

Ostrzeżenie: (0%)
-----


Cytat(nyggaz @ 6.11.2009, 12:12:34 ) *
wspaniale ta kropeczka mnie tak denerwowala od kilku godzin.
Poprawilem lecz plik;

chceck_image.php

w dalszym ciagu nie dziala po wyslaniu pliku poprzez formularz przegladarka wyswietla następujaca tresc

Kod
3) { echo "Przykro nam, ale przesłany obraz nie jest w formacie .GIF, .JPG lub .PNG.
"; echo "Kliknij przycisk Wstecz w przeglądarce i spruboj ponownie."; } else{ // obraz jest w poprawnym formacie mozna kontynuowac. // wstawienie informacji do tabeli images $insert = "INSERT INTO images (IMAGES_CAPTION, OPIS, CENA) VALUES ('$IMAGES_CAPTION', '$OPIS', '$CENA')"; $insertresults = mysql_query($insert) or die(mysql_error()); $lastpicid - mysql_insert_id(); $newfilename = $ImageDir . $lastpicid .jpg; if ($type == 2){ rename($ImageName. $newfilename); } else { if ($type == 1) { $image_old = imagecreatefromgif($ImageName); } elseif ($type == 3) { $image_old = imagecreatefrompng($ImageName); } // skonwertuj obraz na format JPG $image_jpg = imagecreatetruecolor($width, $height); imagecopyresampled($image_jpg, $image_old, 0, 0, 0, 0, $width, $height, $width, $height); imagejpeg($image_jpg. $newfilename); imagedestroy($image_old); imagedestroy($image_jpg); } // miniatury $newthumbname = $ImageThumb . $lastpicid . ".jpg;" // pobierz wymiary miniaturki $thumb_width = $width * 0.10; $thumb_height = $height * 0.10; // utwurz miniaturke $largeimage = imagecreatefromjpeg($newfilename); $thumb = imagecreatetruecolor($thumb_width. $thumb_height); imagecopyresampled($thumb. $largeimage. 0, 0, 0, 0, $thumb_width. $thumb_height. $width. $height); imagejpeg($thumb. $newthumbname); imagedestroy($largeimage); $url="location: showimage.php?id=" . $lastpicid; header($url); } } ?>


Jeżeli takie coś Ci się wyświetla, znaczy że nie pokazałeś tutaj całości tego pliku. Sądzę że gdzieś masz źle wpisany "<?php" (albo z błędem)
Go to the top of the page
+Quote Post
thek
post
Post #5





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Skoro sypie Ci coś takiego, to znaczy, że masz gdzieś problem z apostrofami lub otwarciem/zamknięciem tagów php i interpreter wyświetla kod zamiast go parsować prawidłowo.
Go to the top of the page
+Quote Post
nyggaz
post
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 6.11.2009

Ostrzeżenie: (0%)
-----


oto sie rozchodzi ze plik
chceck_image.php
ma tylko raz uzyte <?php i jest zamkniecie kodu na koncu skryptu ?>
nie mam pojecia gdzie szukac bledu i w jaki sposob mam sie go pozbyc jak byś mogl przejrzec kod jest umieszczony na poczatku postu bede wdzieczny
Go to the top of the page
+Quote Post
Informatic
post
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 3
Dołączył: 18.12.2008

Ostrzeżenie: (0%)
-----


Kod
echo: "Przykro nam, ale przesłany obraz nie jest w formacie .GIF, .JPG lub .PNG.<br>";
echo: "Kliknij przycisk Wstecz w przegl±darce i spruboj ponownie.";


Te dwukropki nie powinny się tu znajdować (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nyggaz
post
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 6.11.2009

Ostrzeżenie: (0%)
-----


dwukopki po echo zostaly usuniete lecz w dalszym ciagu sie sypie.
zastanawiam sie czy :

if(type > 3) {

jest dobrze bo nawet jak przed type postawie znaczek $ to i tak nie zmienia to faktu ze sie sypie sam juznie wiem (IMG:style_emoticons/default/sad.gif)

a zas program
PHPDESIGNER wskazuje jakis blad w lini 20 tj.
Kod
20                    $Imagename = $ImageDir . $images_tmpname;
21                    if (move_uploaded_file($_FILES['images']['tmp_name'],
22                $ImageName))
23                   {


Go to the top of the page
+Quote Post
thek
post
Post #9





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Lepiej sprawdź sobie co zawierają zmienne używane przez Ciebie. Myślę, że problem może być przy ścieżce do pliku. Podajesz ją na sztywniaka począwszy od dysku C. Lepiej sprawdź czy aby próba przeniesienia pliku w to miejsce kończy się tak jak chcesz. Bo to mniej więcej tam Ci się całość zaczyna sypać. Używaj ścieżek serwerowych czyli w stylu 'katalog/' lub '/katalog/' (gdy idziesz od root-a) a nie 'C://path_do_htdocs/katalog/'...
Go to the top of the page
+Quote Post
nyggaz
post
Post #10





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 6.11.2009

Ostrzeżenie: (0%)
-----


Udało mis ie znaleść "błąd"
Nie wiem czemu ale tak to wychodzi ze jest on tutaj:
Kod
if($type > 3){
echo "Przykro nam, ale przesłany obraz nie jest w formacie GIF, JPG lub" .
      "PNG.";
echo "Kliknij przycisk 'Wstecz' w przeglądarce i spruboj ponownie.";
    }

mianowicie gdy zamienie > na =
to pokazuje sie pusta strona.
co jest zle ze to nie dziala i nie zapisuje rekordu (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
thek
post
Post #11





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Sprawdź zmienne, które wrzucasz do list. Jeśli ścieżki masz nieprawidłowe, co już w poprzednim swoim poście ci sugeruję, to listowanie z NULL wywali Ci głupoty do zmiennych $width, $height, $type i $attr a jak chcesz potem te zmienne porównywać? Zobacz co w nich jest, bo możesz się zdziwić. I naprawdę sprawdź te ścieżki, bo moim zdaniem to one mogą powodować byki. Zresztą ścieżki często powodują problemy, bo wiele osób nie zwraca uwagi czy podaje tam / czy \ a to akurat też ma znaczenie.
Go to the top of the page
+Quote Post
nyggaz
post
Post #12





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 6.11.2009

Ostrzeżenie: (0%)
-----


Postanowiłem się bardziej przyłożyć do PHP i MYSQL.
Teraz zacznę budować na nowo cały skrypt dokładnie analizując jego zawartość.
Mam "ciężkiego" pomocnika mianowicie Biblię PHP5 i MySQL.
Wydaje mi się, że z jego wiedzą rozwiążą się moje problemy (IMG:style_emoticons/default/smile.gif) (IMG:style_emoticons/default/smile.gif)
Teraz czytam i analizuje wszystko ... (IMG:style_emoticons/default/smile.gif)

Temat do zamknięcia.
Dziękuję za poświęcony czas i nerwy.

Napewno jeszcze będę się pokazywał z innymi problemami (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 02:03