Pomoc kod programa u PHP-u

poruka: 2
|
čitano: 1.995
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Pomoc kod programa u PHP-u

Pozdrav svima

 

Imam problem oko popunjavanja jedne tabele. Znaci imam dvije tabele korisnici i modeli, sad trebam napraviti tabelu evidencija u koju ce se automatski spremati podaci o korisniku koji je prijavljen i koji je unio novi model automobila. Ta tabela evidencija sadrzi sljedece atribute(id_e, id_korisnika, ime, prezime, proizvodjac_automobila i model_automobila). 

 

ja sam napravio ovo, ali ne radi mi dobro(ovaj kod sam stavio u dio gdje se unose podaci za model, pa tako da kad kliknem da se podaci o modelu spreme u tabelu modeli, trebali bi se i ovi podaci za evidenciju spremiti u tabelu evidencija, ali ne radi mi ovo preuzimanje podataka od korisnika): 

 

<?php
include "db_konekcija.php";
session_start();

$res=mysql_query("SELECT * FROM korisnici WHERE id_k=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);

if(isset($_POST["btn"]))
{
$proizvodjac=$_POST["proizvodjac"];
$model=$_POST["model"];
$god_proizvodnje=$_POST["god_proizvodnje"];
$kilometraza=$_POST["kilometraza"];
$cijena=$_POST["cijena"];
$gorivo=$_POST["gorivo"];
$snaga=$_POST["snaga"];
$kubikaza=$_POST["kubikaza"];
$pogon=$_POST["pogon"];
$tip=$_POST["tip"];
$transmisija=$_POST["transmisija"];
$br_vrata=$_POST["br_vrata"];

$sql2="insert into modeli values (0,'$proizvodjac','$model','$god_proizvodnje','$kilometraza','$cijena','$gorivo',$snaga, '$kubikaza', '$pogon', '$tip', '$transmisija','$br_vrata')";
$query2=mysql_query($sql2);

if($query2)
echo "uspjesan unos";
else
echo "unos nije uspjesan";

$id_k="SELECT id_k FROM korisnici WHERE id_k=".$_SESSION['user'];
$ime="SELECT ime FROM korisnici WHERE id_k=".$_SESSION['user'];
$prezime="SELECT prezime FROM korisnici WHERE id_k=".$_SESSION['user'];

$sql3="insert into evidencija values (0,'$id_k','$ime','$prezime','$proizvodjac','$model')";
mysql_query($sql3);
}
include "header.php";
?>

Poruka je uređivana zadnji put čet 9.7.2015 16:58 (eagle05).
Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Pomoc kod programa u PHP-u

pretpostavimo da ti je forma ispravna i ispravno pointana ova provjera mi se cini dosta sumnjiva

if(isset($_POST["btn"]))

btn bi vjerojatno bio nekakav button(submit?), provjeravas jel forma kliknuta? ne znam sta bi postigao s tim i jel to funkcionira

to sto je forma poslana ne znaci da je popunjena podacima koji tebi trebaju. probaj prije provjere ispisat $_POST array da vidis ima li ista u njemu - print_r($_POST);

 

- obavezno provjeriti i sanirati podatke prije spremanja u bazu

- umjesto mysql koristi mysqli ili pdo

 

- ne znam sto ce ti ta tablica "evidencija", elegantnije i efikasnije je je pod "modeli" dodati atribut tipa "added_by" i zabiljeziti id korisnika koji je dodao. ovo sto ti radis je cisto prepisivanje i gomilanje nepotrebnih duplih podataka. dakle zabiljeziti samo id jer njegovo ime i prezime vec imas u tablici "korisnici", a sve ostalo u tablici "modeli".

 

p.s.

koliko vidim sql ti nije jaca strana

$id_k="SELECT id_k FROM korisnici WHERE id_k=".$_SESSION['user']; // ovo nema nikakvog smisla, imas id vec u sessionu i na osnovu njega iz baze povlacis opet taj isti id   - $id_k == $_SESSION['user'];
$ime="SELECT ime FROM korisnici WHERE id_k=".$_SESSION['user'];
$prezime="SELECT prezime FROM korisnici WHERE id_k=".$_SESSION['user'];

 

 otprilike bi query trebalo izgledati ovako: "SELECT ime, prezime FROM korisnici WHERE id_k =".$_SESSION['user'];

ako u obzir uzmes ono sto sam ti napisao u vezi tablice evidencija, cijeli ovaj dio je nepotreban.

Poruka je uređivana zadnji put čet 9.7.2015 23:18 (igor2007).
 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice