Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa slikama

[es] :: PHP :: Problem sa slikama

[ Pregleda: 3164 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

manix
IDD Lab
Arilje

Član broj: 9936
Poruke: 482
194.106.187.*

Sajt: www.lendovisanje.com


Profil

icon Problem sa slikama23.01.2007. u 21:39 - pre 209 meseci
pokusavam da napravim neku galeriju i bazu za nju...

povezivanje, recordset i insert record sama radio pomocu dw posto nisam bas neki strucnja a i lakse mi bio da to uradi dw umesto da ja kucam...

Problem je sedeci napravio sam formu u kojoj imam unosim 5 podataka(naziv, aparat, slika, datum, status), preko insert record,
u dw, sam povezao polja ali kada potvrdim unos dobijem poruku "Column 'slika' cannot be null "... ok to je uredu i ne treba da bude prazno

To je verovatno problem jer sam ja na kod koji je generisao dw

Code:
<form action="<?php echo $editFormAction; ?>" method="POST" enctype="multipart/form-data" name="form1" id="form1">

dodao
Code:
<form action="<?php  move_uploaded_file($_FILES["slikauneta"]["tmp_name"],"img/" . $_FILES["slikauneta"]['name']);echo $editFormAction; ?>" method="POST" enctype="multipart/form-data" name="form1" id="form1">

da bi upload-ovao sliku.

Takodje me zanima kako da ,umesto putanje sa hdd-a, za sliku stavim putanju na mesto uploada

evo i php-a koji generise dw. Kako da u njemu ispravim gore nevedene greske i da stavim ovu putanju za sliku ...
Code:
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO unos (naziv, aparat, datum, status) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['naziv'], "text"),
                       GetSQLValueString($_POST['aparat'], "text"),
                       GetSQLValueString($_POST['datum'], "date"),
                       GetSQLValueString(isset($_POST['radiobutton']) ? "true" : "", "defined","1","0"));

  mysql_select_db($database_foto, $foto);
  $Result1 = mysql_query($insertSQL, $foto) or die(mysql_error());
}

mysql_select_db($database_foto, $foto);
$query_Recordset1 = "SELECT * FROM unos";
$Recordset1 = mysql_query($query_Recordset1, $foto) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>

Mozda je bolje da radim skolskim putem???
Code:
<?php
$slika = $_FILES["slika"]["name"] 
$con = mysql_connect("localhost","foto","****");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }mysql_select_db("my_db", $con);$sql="INSERT INTO person (naziv, aparat, slika...)
VALUES
('$_POST[naziv]','$_POST[apatat]','$_POST[$slika]'........)";if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "Podatci su uneti u bazu";mysql_close($con)
?>
 
Odgovor na temu

flylord
Ilić Aleksandar
Simplicity d.o.o.
Nis/Uzice

Član broj: 2954
Poruke: 3859
*.dynamic.sbb.co.yu.

ICQ: 4849714


+68 Profil

icon Re: Problem sa slikama23.01.2007. u 22:14 - pre 209 meseci
bogati sta ti je ovo?

Code:
<form action="<?php  move_uploaded_file($_FILES["slikauneta"]["tmp_name"],"img/" . $_FILES["slikauneta"]['name']);echo $editFormAction; ?>" method="POST" enctype="multipart/form-data" name="form1" id="form1">


i sta ovo treba da radi? U action se stavlja URL ne php funkcija
 
Odgovor na temu

manix
IDD Lab
Arilje

Član broj: 9936
Poruke: 482
194.106.187.*

Sajt: www.lendovisanje.com


Profil

icon Re: Problem sa slikama24.01.2007. u 19:06 - pre 209 meseci
Citat:
flylord: bogati sta ti je ovo?

Code:
<form action="<?php  move_uploaded_file($_FILES["slikauneta"]["tmp_name"],"img/" . $_FILES["slikauneta"]['name']);echo $editFormAction; ?>" method="POST" enctype="multipart/form-data" name="form1" id="form1">


i sta ovo treba da radi? U action se stavlja URL ne php funkcija
to sam trenutno stavio da ne pravim upload.php koji bi inace dosao u action a on bi zapravo sadrzao ovo sto je trenutno u action
dakle
Code:
<?php  
move_uploaded_file($_FILES["slikauneta"]["tmp_name"],"img/" . $_FILES["slikauneta"]['name']);
?>
inace ovaj kod zapravo prebacuje izabranu sliku ,u formi, u IMG folder na serveru (upload slike)

Takodje, nisam neki strucnjak, zapravo sam pocetnik, ali mislim da apsolutno nisi upravu. U action ne mora staviti samo url moze i funkcija...
Ima ovde ljudi koji nam mogu pojasniti, siguran sam. A uz sve ovo taj isti kod za upload savrseno radi bez obzira sto je u action.
deo "echo $editFormAction", zapravo, sam dw postavlja u action zbog upisavanja podataka u bazu (Insert Record).

Jos uve nisam resio problem.
Pomozite.
 
Odgovor na temu

flylord
Ilić Aleksandar
Simplicity d.o.o.
Nis/Uzice

Član broj: 2954
Poruke: 3859
*.dynamic.sbb.co.yu.

ICQ: 4849714


+68 Profil

icon Re: Problem sa slikama24.01.2007. u 19:28 - pre 209 meseci
Obozavam kad me pocetnici uce necemu.

Bilo gde da si stavio ovaj kod:
Code:
move_uploaded_file($_FILES["slikauneta"]["tmp_name"],"img/" . $_FILES["slikauneta"]['name']);


on bi prebacio tu sliku u taj dir. A ti si ga stavio na najgluplje moguce mesto.


mogao si ovo da uradis i radilo bi:
Code:
<<?php  move_uploaded_file($_FILES["slikauneta"]["tmp_name"],"img/" . $_FILES["slikauneta"]['name']);form action="<?php  echo $editFormAction; ?>" method="POST" enctype="multipart/form-data" name="form1" id="form1">



ako ne verujes, probaj. Ali to i dalje ne znaci da treba to da radis. HTML i php nemaju veze jedno sa drugim, sem sto mogu zajedno da se koriste, i sto se dopunjuju. U action za formu ide URI ne neka php funkcija.

Moras da naucis neke principe kako se radi, ako mislis da ikad ista napravis.

Stavi ovo na pocetku tvoje skripte:

Code:

<?php error_reporting(0); ?>


i videces kakve greske prijavljuje tvoj kod. Pre nego sto bilo sta uploadujes, moras da proveris da li uopste postoji nesto da se uploaduje.

itd itd itd
 
Odgovor na temu

manix
IDD Lab
Arilje

Član broj: 9936
Poruke: 482
194.106.187.*

Sajt: www.lendovisanje.com


Profil

icon Re: Problem sa slikama24.01.2007. u 20:32 - pre 209 meseci
Ok...
Samo polako. Nisam hteo da te ucim... video sam da to radi i pomislo sam da je to ok... i da ce jos neko reci da li je to tako ili ne. Naravno ja nemam pojma koliko ti dobro poznaje PHP a na forumima ima ljudi koji pisu i ono sto neznaju....

Izvini, nisam mislio nista lose :o) E sada, uzeo sam neki tut. i krenuo ovako (skolski)...

konekcija ide u konekcija.php i to radi - necu ubacivati kod...
unos podataka ide u unos.php i u jednoj formi mi je svih 5 polja
upisivanje u bazu ide u upisi.php

Code:
<?PHP 
$con = mysql_connect("localhost","baza","*****");
if (!$con)
  {
  die('Greska u konekciji: ' . mysql_error());
  }
  
  mysql_select_db("foto", $con);
  $sql="INSERT INTO unos (naziv, aparat, slika, datum, status)
VALUES
('$_POST[naziv]','$_POST[aparat]','$_POST[slika]','$_POST[datum]','$_POST[status]')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }

include("unos.php");
?>

ali jedini moj problem je sto u bazi u polju slika dobijam putanju odakle sam uzeo sliku. Meni treba putanja na mesto gde sam prebacio sliku.
Kako da upisem tu putanju u bazu? Verovato da moram da u unos.php definisem neku promenljivu, recimo $novaputanja, pa da nju upisem u bazu ?

Kako to da uradim???
 
Odgovor na temu

manix
IDD Lab
Arilje

Član broj: 9936
Poruke: 482
194.106.187.*

Sajt: www.lendovisanje.com


Profil

icon Re: Problem sa slikama24.01.2007. u 20:41 - pre 209 meseci
flylord
Tek sada sam skontao da si jedan od moderatora foruma... jasno mi je koliko dobro poznajes PHP. A ja tu mlatim nesto... izvini.

Pozdrav
 
Odgovor na temu

flylord
Ilić Aleksandar
Simplicity d.o.o.
Nis/Uzice

Član broj: 2954
Poruke: 3859
*.dynamic.sbb.co.yu.

ICQ: 4849714


+68 Profil

icon Re: Problem sa slikama24.01.2007. u 21:52 - pre 209 meseci
Citat:
manix:
ali jedini moj problem je sto u bazi u polju slika dobijam putanju odakle sam uzeo sliku. Meni treba putanja na mesto gde sam prebacio sliku.
Kako da upisem tu putanju u bazu? Verovato da moram da u unos.php definisem neku promenljivu, recimo $novaputanja, pa da nju upisem u bazu ?

Kako to da uradim???


to je jedan od nacina. A ako je ta putanja uvek ista, mozes da definises putanju kao konstantu, i da, posle kad citas te slike, samo im dodas na pocetak, tu konstantu.
A ime slike imas iz $_FILES niza.
 
Odgovor na temu

manix
IDD Lab
Arilje

Član broj: 9936
Poruke: 482
194.106.187.*

Sajt: www.lendovisanje.com


Profil

icon RE: Problem sa slikama25.01.2007. u 20:52 - pre 209 meseci
hvala na pomoci. ovo radni... zanima me mogu li pre upisa podataka da dobijem vrednost id koji je auto_increment da bi ime upload-ovane slike bilo isto kao i id.
ustvari kako da dobijem id predhodnog upisa pre novog upisa? To je iz razloga da nebi doslo do problema ako upload-ujem 2 razlicite slike sa istim imenom...

I jose jedno pitanje. Koliko je dobro upload-ovati slike u bazu a ne u neki folder na serveru ???

ako moze kod :o)
 
Odgovor na temu

centaur
Beograd

Član broj: 65691
Poruke: 407
80.93.253.*

ICQ: 249678363
Sajt: www.pavko.net


+24 Profil

icon Re: Problem sa slikama25.01.2007. u 21:04 - pre 209 meseci
Za MySQL:http://www.php.net/manual/en/function.mysql-insert-id.php

Ja lično mislim da je bolje u folder,ali bih voleo da čujem i Flylord-ovo mišljenje : )
Powered by Slackware 13
 
Odgovor na temu

flylord
Ilić Aleksandar
Simplicity d.o.o.
Nis/Uzice

Član broj: 2954
Poruke: 3859
*.dynamic.sbb.co.yu.

ICQ: 4849714


+68 Profil

icon Re: Problem sa slikama26.01.2007. u 17:40 - pre 209 meseci
Bila je jedno davno velika diskusija gde je bolje. Neki tvrde da je bolje u bazu, a neki na fajl sistem.
Ono sto je cinjenica, ako radite sa fajl sistemom, php kod za to je jednostavniji. Ali, morate da imate direktorijume sa write privilegijama za web server. Sto nekad moze da bude malo opasno. I u tom slucaju morate malo vise da pazite na sigurnost.

Ako je u bazi, bekap je jednostavniji Treba samo da dump-ujete bazu


Licno mislim da je bolje na fajl sistem. Najvise zbog jednostavnijeg rada. Mada, to nije nesto mnogo jednostavnije...

A inace, nikad nisam merio niti citao rezultate o merenju performansi jednog i drugog resenja. Tako da... pojma nemam koje je bolje
 
Odgovor na temu

manix
IDD Lab
Arilje

Član broj: 9936
Poruke: 482
194.106.187.*

Sajt: www.lendovisanje.com


Profil

icon Re: Problem sa slikama27.01.2007. u 19:53 - pre 209 meseci
E ljudi hvala vam!!! sve do sada sam, uz vasu pomoc, uspeo da resim osim...

imam radio button aktivno/neaktivno , zapravo su dva, ali nije bitno treba mi vrednost samo jednog jer ako je on cekiran ovaj drugi nije i obrnuto.

1.kako da posle posta dobijem,ako je cekirano vrednost je 1 ili necekirano 0 ?

posle unosa u bazu stavio sam da se ponovo vratim na formu za unos ali ako uradim back onda mi se nakon refres-a ponovo upisu podatci od predhodnog unosa

2 kako da posle upisivanja u bazu pobrisem sve vrednosti koje sam procitao preko $_POST['nesto']
 
Odgovor na temu

manix
IDD Lab
Arilje

Član broj: 9936
Poruke: 482
194.106.187.*

Sajt: www.lendovisanje.com


Profil

icon Re: Problem sa slikama27.01.2007. u 20:10 - pre 209 meseci
Mozda sam dosadan ali... :o(

u ovom kodu sam napravio insert i prover podataka iz forme
Code:
<?PHP 
$sli = $_POST['slika'];
// provera da li je slika uneta ili ce biti nofoto.jpg
if ($sli=="")
    {
    $ime= "nofoto.jpg";
    $slika = "img/". $ime;
    }
    else
    {
    // pronalazenje broja novog unosa Auto_increment
    $SQL = "SHOW TABLE STATUS FROM foto LIKE 'unos'";
    $result = mysql_query($SQL);
    $row = mysql_fetch_assoc($result);
    $nextInsertId = $row['Auto_increment'];
    //ime uploadovane slike
    $slika = "img/". $nextInsertId.".jpg";
    // uploadovanje slike
    move_uploaded_file($_FILES["slika"]["tmp_name"], $slika);
    }
      
  // provera da li postoje prazna polja
  $naz = $_POST['naziv'];
  $apa = $_POST['aparat'];
  $dat = $_POST['datum'];
      if ($naz == "" ){
        $greska="Polje za naziv je prazno";
        include ("greska.php");
        }
        else if ($apa == "" )
        {
        $greska="Polje za aparat je prazno";
        include ("greska.php");
        } 
        else if ($dat == "" )
        {
        $greska="Polje za datum je prazno";
        include ("greska.php"); 
        }
  else
  {
      // prepravka  datuma za unos
      $unetidatum = $_POST['datum'];
      $deo = explode (".",$unetidatum);
      $dan = $deo[0];
      $mesec = $deo[1];
      $godina = $deo[2];
       // kreiranje datuma za upis u bazu
      $datum = $godina."-".$mesec."-".$dan;
      //echo ($datum);
      // konekcija na server
      require_once("konekcija/konekcija.php");
      // predhodni red poziva gotovu konekciju
          //insertovanje podataka
          $sql="INSERT INTO unos (naziv, aparat, slika, datum, status)
          VALUES('$_POST[naziv]','$_POST[aparat]','$slika','$datum','$status')";
                if (!mysql_query($sql,$con))
                {
                die('Greska: ' . mysql_error());
                }  
      include("unos.php");
  }
?>
e zanima me postoji li mogucnost formatiranog unosa datuma, mislim na neko prostije resenje od ovog mog u nastavku

recimo greskom se unese 21.1.20007 gore u skriptu bi dobo 20007-21-1 - to je neispravan datum, u bazi bi bilo 0000-00-00.

ja bi to resio na sledeci nacin:
Code:
 if ($dan < 1 || $dan>31){include("greska.php")}
i tako dalje za sve tri vrednosti...

 
Odgovor na temu

JovanT
Jovan Turanjanin
Niš

Član broj: 35633
Poruke: 473
*.exe-net.net.

Jabber: Zeus@elitesecurity.org
ICQ: 263033789
Sajt: www.turanjanin.net


+17 Profil

icon Re: Problem sa slikama28.01.2007. u 00:59 - pre 208 meseci
Da, na taj način možeš da proveriš da li su ti vrednosti ispravne.

Ja bih ti preporučio da promeniš način na koji se unosi datum. Umesto jednog, bolje stavi tri polja (po jedan za dan, mesec i godinu) jer će tada šanse za grešku biti manje a i možeš da ograničiš korisnike na određen broj znakova (tipa, 4 brojeva za godinu).

Uzgred, za manipulaciju sa datumima u PHP-u, misliš da je lakše da koristiš Unix timestamp nego sadašnje rešenje. Pogledaj funkcije time(), date(), strtotime().
Nije znanje samo znati, već je znanje - znanje dati.

Piši ćirilicom! | Surfujte brže, sigurnije i lakše | Najveća niška online zajednica

 
Odgovor na temu

[es] :: PHP :: Problem sa slikama

[ Pregleda: 3164 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.