Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]problem z baza i php
homer1981
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 15.07.2008

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


sciana.gif

W katalogu zdjecia mam pliki w formacie jpg które dodawane za pomocą formularza.
Dodawane są 3 pliki jednocześnie.
Każdy plik mam unikatową nazwe.
Problem polega na tym że chciałbym scieżki do tych obrazków zapisać do bazy mysql.

Chciałbym zrobić to tak ,że do bazy wysłane zostaną dane tylko wtedy gdy wypełnione zostanę wszystkie 3 pola.

Mój skrypt sprawdzający wygląda tak
  1. <?php
  2. $plika=$data.'0'.'jpg';
  3. $plikb=$data.'1'.'jpg';
  4. $plikc=$data.'2'.'jpg';
  5.  
  6. $testa = file_exists('zdjecia/'.'$plika'); //sprawdzenie czy plik istnieje
  7. $testb = file_exists('zdjecia/'.'$plikb'); //sprawdzenie czy plik istnieje
  8. $testc = file_exists('zdjecia/'.'$plikc'); //sprawdzenie czy plik istnieje
  9.  
  10. // if ($testa)
  11. // zawsze zapisuje do bazy - nawet jak plik nie istnieje
  12.  
  13. if (($testa)and($testa)and($testa))
  14. {
  15. $sql="INSERT INTO testy2 (`obrazek1`, `obrazek2`, `obrazek3`) VALUES ('$plika','$plikb','$plikc')";
  16. echo "powiodło sie";
  17. }
  18. else
  19. {
  20. echo "nie powiodło sie";
  21. }
  22. ?>


Ten post edytował batman 1.10.2008, 20:59:17
Powód edycji: poprawiłem bbcode
Go to the top of the page
+Quote Post
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Ale czy ten skrypt działa, czy nie ? Zakładając, że w if() masz && zamiast słowa and ?

Bo jeśli działa, to nie rozumiem pytania. A jeśli nie, wklej jakiś błąd czy coś.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
batman
post
Post #3





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




  1. <?php
  2. file_exists('zdjecia/'.$plika);
  3. ?>


Przenoszę na przedszkole.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
homer1981
post
Post #4





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 15.07.2008

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


  1. <?php
  2. $plika='zdjecia/020081017200.jpg'; /// przy takim warunku działa
  3. $plika='zdjecia/'.$data.'0'.'.jpg'; // przy takim nie działa
  4. $sprawdzam = file_exists('$plika');
  5. if ($spradzam)
  6. {echo "nie ma pliku";}
  7. else
  8. {echo "ok";}
  9. ?>
Powód edycji: Nie szłyszałeś o bbcode? Poprawiłem. /webdice
Go to the top of the page
+Quote Post
Cienki1980
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


A czy na 100% pod zmienną $data jest to co powinno ?
Sprawdź co jest pod zmienną $plika , może wygląda to inaczej niż byś chciał.

EDIT:down akurat kropkę ma ... tutaj ją pogrubiłem $plika='zdjecia/'.$data.'0'.'.jpg'; // przy takim nie działa

Ten post edytował Cienki1980 2.10.2008, 09:40:38


--------------------
404
Go to the top of the page
+Quote Post
tomm
post
Post #6





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

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


 
zrób sobie echo $plika


nie masz kropki rozdzielającej nazwę pliku od rozszerzenia

Ten post edytował tomm 2.10.2008, 09:38:40
Go to the top of the page
+Quote Post
guilty82
post
Post #7





Grupa: Zarejestrowani
Postów: 176
Pomógł: 31
Dołączył: 26.03.2007

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


  1. <?php
  2. ...
  3. if (($testa)and($testa)and($testa))
  4. ...
  5. ?>


Potrójne sprawdzenie $testa? smile.gif
Go to the top of the page
+Quote Post
tomm
post
Post #8





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

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


Cytat(homer1981 @ 2.10.2008, 10:33:33 ) *
$plika='zdjecia/020081017200.jpg'; /// przy takim warunku działa
$plika='zdjecia/'.$data.'0'.'.jpg'; // przy takim nie działa
$sprawdzam = file_exists('$plika');
if ($spradzam)
{echo "nie ma pliku";}
else
{echo "ok";}


wpisujesz $plika w apostrofach i traktowany jest jako string


pózniej sprawdzasz if(TRUE) echo 'nie ma pliku';

powinno być chyba na odwrót
Go to the top of the page
+Quote Post
homer1981
post
Post #9





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 15.07.2008

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


0200810021103280.jpg | plik wgrany!
0200810021103281.jpg | nie można było wgrać pliku!
0200810021103282.jpg | nie można było wgrać pliku!

Na serwerze nie ma pliku
0200810021103280.jpg
Błąd: Zapytanie by?o puste

Plik data to : 0200810021103280

wiec nie wiem czemu dalej to nie działa :/
Go to the top of the page
+Quote Post
Cienki1980
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


A pokaż trochę więcej kodu. Najlepiej cały mechanizm dodawania zdjęć ( uploadu - czyli miejsce gdzie masz move_uploaded_files() ) jak i konkretne zapytania do bazy itp itd. Im więcej kodu pokażesz tym lepiej będzie myśleć.


--------------------
404
Go to the top of the page
+Quote Post
homer1981
post
Post #11





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 15.07.2008

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


istnieje gdzieś jescze jeden błąd:

mianowicie :
Cytat
$plika=$data.'0'.'.jpg'; // juz poprawione
$testa = file_exists('zdjecia/'.$plika); // ... to też
if ($testa)

{
$sql="INSERT INTO testy2 (`obrazek1`, `obrazek2`, `obrazek3`) VALUES ('$nowa_nazwa1','$nowa_nazwa2','$nowa_nazwa3')";
}
else
{
echo '<br>'."Na serwerze nie ma pliku" //informacja o braku pliku na serwerze
}



Cytat
a takie cos nie działa :
$plika=$data.'0'.'.jpg'; - z tym już opanowane
$plikb=$data.'1'.'.jpg'; - z tym już opanowane
$plikc=$data.'2'.'.jpg'; - z tym już opanowane
$testa = file_exists('zdjecia/'.$plika);
$testb = file_exists('zdjecia/'.$plikb);
$testc = file_exists('zdjecia/'.$plikc);
if (($testa)and ($testb) and ($testc))
{
echo "Plik istnieje".'<br>'; //informacja, że istnieje plik o nazwie $plik na serwerze
echo "$plika";
$sql="INSERT INTO testy2 (`obrazek1`, `obrazek2`, `obrazek3`) VALUES ('$nowa_nazwa1','$nowa_nazwa2','$nowa_nazwa3')";
}
else
{
echo '<br>'."Na serwerze nie ma pliku".'<br>'.$plika; //informacja o braku pliku na serwerze
}


Ten post edytował homer1981 2.10.2008, 10:27:36
Go to the top of the page
+Quote Post
tomm
post
Post #12





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

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


w tym drugim nie masz zdefiniowanych $testa, $testb, $testc

w tym pierwszym przy spełnionym warunku po przygotowaniu zapytania nie chciałes go wykonac?
wynika z tego że któraś zmienna ($testa,..) ma wartość FALSE, wypisz je sobie i sprawdź

Ten post edytował tomm 2.10.2008, 10:35:19
Go to the top of the page
+Quote Post
homer1981
post
Post #13





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 15.07.2008

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


JUŻ DZIAŁA exclamation.gif czarodziej.gif

Kod


$plika=$data.'0'.'.jpg';
$plikb=$data.'1'.'.jpg';
$plikc=$data.'2'.'.jpg';

$testa = file_exists('zdjecia/'.$plika);
$testb = file_exists('zdjecia/'.$plikb);
$testc = file_exists('zdjecia/'.$plikc);

if (($testa)and($testb)and($testc))

    {
    echo "Plik istnieje".'<br>'; //informacja, że istnieje plik o nazwie $plik na serwerze
    echo "$plika";
    $sql="INSERT INTO testy2 (`obrazek1`, `obrazek2`, `obrazek3`) VALUES ('$nowa_nazwa1','$nowa_nazwa2','$nowa_nazwa3')";
    }
    else
    {
    echo '<br>'."Na serwerze nie ma pliku".'<br>'.$plika; //informacja o braku pliku na serwerze
    }


Ten post edytował homer1981 2.10.2008, 10:35:36
Go to the top of the page
+Quote Post
Cienki1980
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Pokazałeś to co wcześniej ( z złym BBCode ) i nic to nie wniosło do problemu. Ja szczerze mówiąc teraz już nie wiem w którym miejscu działania występuje problem i co dokładnie nie działa.

Pokazujesz w kodzie zapytanie SQL ale nie widać nigdzie czy gdzieś je wywołujesz. Nie pokazujesz jak tworzysz zmienne podczas pobierania ich z formularza, nie pokazujesz jak zapisujesz zdjęcia do folderu /zdjecia z nazwami takimi jak chcesz żeby było zapisane.

Jeżeli nie chcesz pokazać prawdziwego kodu ( boisz się że ktoś go wykorzysta questionmark.gif ) to nie licz że ktoś Ci pomoże w logiczny sposób a tylko wszyscy będziemy zgadywać co może być nie tak.


--------------------
404
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 20:53