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

Zasto podaci nece da mi se upisuju u bazu :(

[es] :: PHP :: Zasto podaci nece da mi se upisuju u bazu :(

[ Pregleda: 2360 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Psyche
Beograd

Član broj: 43591
Poruke: 112
*.absolutok.net.



Profil

icon Zasto podaci nece da mi se upisuju u bazu :(06.03.2006. u 20:44 - pre 220 meseci
Imam podatke koji se sa forme prosledjuju u bazu pri cemu se vrsi simultani upis u dve tabele, jer deo odlazi u jednu deo u drugu.

Forma izgleda ovako:
Code:

Na vrhu dokumenta:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
?>



<form method=POST action="podaci.php">

Godina studija:
<select name="godina">
        <option></option>
    <option value="1">prva</option>
        <option value="2">druga</option>
        <option value="3">treca</option>
        <option value="4">cetvrta</option>
</select>

Prosecna ocena tokom dosadasnjeg studiranja:
<input name="ocena" type="text" size="4" maxlength="5">

Pol:
<input name="pol" type="radio" value="1"> zenski 
<input name="pol" type="radio" value="2"> muski


      1. Kako procenjujete svoju umesnost rada na racunaru:
        <input name="p1" type="radio" value="1"> gotovo nikakva
        <input name="p1" type="radio" value="2"> slaba
        <input name="p1" type="radio" value="3"> zadovoljavajuća
        <input name="p1" type="radio" value="4"> solidna
        <input name="p1" type="radio" value="5"> izuzetna

itd... (jos 30-ak pitanja)
na kraju (nije obavezno za popunjavanje):

<textarea name="komenatar" cols="75" rows="10" wrap="PHYSICAL" id="komenatar"></textarea>


Onda imam ovo:
Code:

mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to connect to database");

@mysql_select_db("$DBName") or die("Unable to select database $DBName");

$sql1 = "INSERT INTO anketa1 (rb, odeljenje, godina, ocena, pol, p1, p2, p3, p4, p5a, p5b, p5c, p5d, p5e, p6, p7, p8, p9, p10, 
p11a, p11b, p11c, p11d, p11e, p12, p13, p14, p15, p16a, 
p16b, p16c, p16d, p16e, p16f, p16g, p16h, p16i, p16j, p16k) VALUES('', '$godina', '$ocena', '$pol', '$p1', '$p2', '$p3', '$p4', '$p5a', '$p5b', '$p5c', 
'$p5d', '$p5e', '$p6', '$p7', '$p8', '$p9', '$p10', '$p11a', '$p11b', '$p11c', '$p11d', '$p11e', '$p12', '$p13', '$p14', '$p15', '$p16a', '$p16b', '
$p16c', '$p16d', '$p16e', '$p16f', '$p16g', '$p16h',''$p16i', '$p16j', '$p16k')";
$rezultat1 = mysql_query($sql1);

$sql2 = "INSERT INTO anketa2 (rb, vreme, ip, komentar) VALUES('', NOW(), '$ip', '$komentar')";
$results2 = mysql_query($sql2);

mysql_close();

print "<html>


Spajanje sa bazom je OK, a i sve ostalo. Medjutim, od podataka se upise samo vreme funkcijom NOW. IP i komentar ostanu prazni, a u prvu tabelu - anketa1 uopste ne doda slog.

Gde gresim?

Takodje, sta se desava u sluajevima da neko ne odgovori na sva pitanja. npr postoji blok pitanja na koji se daje odgovor samo ako se na prethodno pitanje odgovorilo sa DA, dok u suprotnom nista se ne cekira.

Pitanja su sva po principu radio buttons.

Struktura je takva iz razloga sto ce se podaci iz tabele anketa1 kasnije eksportovati u SPSS, pa za svakog ispitanika (red tabele) moram da imam odgovore na pitanjima-varijablama (kolone)

[Ovu poruku je menjao Psyche dana 06.03.2006. u 21:50 GMT+1]
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.speed.planet.nl.



+3 Profil

icon Re: Zasto podaci nece da mi se upisuju u bazu :(06.03.2006. u 23:29 - pre 220 meseci
Just a wild guess, u php.ini stoji:

register_globals = Off

U tom slucaju moras da koristis:

$_GET['varijabla'] a ne $varijabla.

Testiraj sa:

echo "without get: ".$varijabla;
echo "<br>";
echo "with get: ".$_GET['varijabla'];

Poz,
Sale

ps. naravno, echo $sql; uvek pomaze :)
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

Psyche
Beograd

Član broj: 43591
Poruke: 112
*.absolutok.net.



Profil

icon Re: Zasto podaci nece da mi se upisuju u bazu :(07.03.2006. u 09:04 - pre 220 meseci
Nije, dobijam:
without get: 5
with get:

Nesto drugo je u pitanju, ali nemam ni najmanju ideju sta. Da li mi je dobar query?
Tabele izgledaju ovako:

Code:

anketa1
(
  `rb` int(11) NOT NULL auto_increment,
  `odeljenje` tinyint(4) NOT NULL default '0',
  `godina` tinyint(4) NOT NULL default '0',
  `ocena` varchar(5) character set utf8 NOT NULL default '',
  `pol` tinyint(4) NOT NULL default '0',
  `p1` tinyint(4) NOT NULL default '0',
  `p2` tinyint(4) NOT NULL default '0',
  `p3` tinyint(4) NOT NULL default '0',
  `p4` tinyint(4) NOT NULL default '0',
  `p5a` tinyint(4) NOT NULL default '0',
  `p5b` tinyint(4) NOT NULL default '0',
  `p5c` tinyint(4) NOT NULL default '0',
  `p5d` tinyint(4) NOT NULL default '0',
  `p5e` tinyint(4) NOT NULL default '0',
  `p6` tinyint(4) NOT NULL default '0',
  `p7` tinyint(4) default '0',
  `p8` tinyint(4) default '0',
  `p9` tinyint(4) NOT NULL default '0',
  `p10` tinyint(4) default '0',
  `p11a` tinyint(4) default '0',
  `p11b` tinyint(4) default '0',
  `p11c` tinyint(4) default '0',
  `p11d` tinyint(4) default '0',
  `p11e` tinyint(4) default '0',
  `p12` tinyint(4) default '0',
  `p13` tinyint(4) NOT NULL default '0',
  `p14` tinyint(4) NOT NULL default '0',
  `p15` tinyint(4) NOT NULL default '0',
  `p16a` tinyint(4) NOT NULL default '0',
  `p16b` tinyint(4) NOT NULL default '0',
  `p16c` tinyint(4) NOT NULL default '0',
  `p16d` tinyint(4) NOT NULL default '0',
  `p16e` tinyint(4) NOT NULL default '0',
  `p16f` tinyint(4) NOT NULL default '0',
  `p16g` tinyint(4) NOT NULL default '0',
  `p16h` tinyint(4) NOT NULL default '0',
  `p16i` tinyint(4) NOT NULL default '0',
  `p16j` tinyint(4) NOT NULL default '0',
  `p16k` tinyint(4) NOT NULL default '0',
  PRIMARY KEY  (`rb`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

anketa2

(
  `rb` int(11) NOT NULL auto_increment,
  `ip` varchar(50) character set utf8 NOT NULL default '',
  `vreme` datetime NOT NULL default '0000-00-00 00:00:00',
  `komentar` text character set utf8 NOT NULL,
  PRIMARY KEY  (`rb`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;




Mozda nisam dobro definisala polja. Sem ocene, sva ostala imaju predefinisane vrednosti. Sta vi predlazete?
odeljenje 1-9 (sifre), godina (1-4), p1 itd vrednosti tipa 1-pa nadalje itd.

Na pitanja 7, 8, 10, 11, 12 odgovaraju samo neki studenti, dok na ostala svi daju odgovor.

[Ovu poruku je menjao Psyche dana 07.03.2006. u 10:24 GMT+1]
 
Odgovor na temu

stefaneg
Stefan Rakonjac
Kragujevac

Član broj: 38922
Poruke: 130
*.pat-pool.kg.sbb.co.yu.

ICQ: 279404274
Sajt: www.prvatehskola.org


Profil

icon Re: Zasto podaci nece da mi se upisuju u bazu :(07.03.2006. u 09:23 - pre 220 meseci
Jedna stvar mi nije baš najjasnija: Pričaš o GET promenljivama a prosleđuješ ih preko method="POST". Možda si samo pogrešno prekucala (prekopirala) kod u prvoj poruci, pošto posle kažeš da ti URL izgleda tako kako izgleda... Nisam siguran da li ovo ima veze, ali ja ovek pri unosu u bazu, ako ne proveravam ispravnost sadržaja, radim: (tvoj primer)

Code:

$podaci = "INSERT INTO anketa2 (rb, vreme, ip, komentar) VALUES('', NOW(), '{$_GET[ip]}', '{$_GET[komentar]}')";
mysql_query($podaci);


Znači sa vitičastim zagradama

[Ovu poruku je menjao stefaneg dana 07.03.2006. u 10:48 GMT+1]
 
Odgovor na temu

Psyche
Beograd

Član broj: 43591
Poruke: 112
*.absolutok.net.



Profil

icon Re: Zasto podaci nece da mi se upisuju u bazu :(07.03.2006. u 09:27 - pre 220 meseci
Probala sam sve moguce kombinacije i GET i POST i u okviru forme i querija itd. Sa viticastim jos nisam ali svejedno mi sa get nista ne stampa.

I vidim da mi ne kupi IP uopste? Sta sam tu zabrljala. Komentar je OK, pogresila sam u imenu polja, ali u prvu tabelu se nista ne upise i dalje. Jel moze onako da ide upis kako sam ja stavila:
Code:

$anketa = "INSERT INTO anketa1 (rb, odeljenje, godina, ocena, pol, p1, p2, p3, p4, p5a, p5 ,...) VALUES('', ....)";
mysql_query($anketa);

$podaci = "INSERT INTO anketa2 (rb, vreme, ip, komentar) VALUES('', NOW(), '$ip', '$komentar')";
mysql_query($podaci);


u ovakvoj formi?

[Ovu poruku je menjao Psyche dana 07.03.2006. u 10:40 GMT+1]
 
Odgovor na temu

stefaneg
Stefan Rakonjac
Kragujevac

Član broj: 38922
Poruke: 130
*.pat-pool.kg.sbb.co.yu.

ICQ: 279404274
Sajt: www.prvatehskola.org


Profil

icon Re: Zasto podaci nece da mi se upisuju u bazu :(07.03.2006. u 09:40 - pre 220 meseci
Hajde prosledi celu skriptu... I proveri koja je verzija PHP.a. Ispod 4.1 ne radi sa skraćenim verzijama ($_GET['varijabla']) već sa produženim ($HTTP_GET_VARS['varijabla']) a iznad 4.2 ne radi sa $varijabla. Ukoliko su setovanja tipična
 
Odgovor na temu

Psyche
Beograd

Član broj: 43591
Poruke: 112
*.absolutok.net.



Profil

icon Re: Zasto podaci nece da mi se upisuju u bazu :(07.03.2006. u 10:00 - pre 220 meseci
PHP version 4.3.11
MySQL version 4.1.13-standard-log

$podaci = "INSERT INTO anketa2 (rb, vreme, ip, komentar) VALUES('', NOW(), '$ip', '$komentar')";

Ovo umetne redni broj, vreme i komentar. Ip mi se uopste ne pokupi, tako da ne moze ni da ga upise. A belezim ga u index.php (stranica sa formom za anketu) pomocu:

<?
$ip = $_SERVER['REMOTE_ADDR'];
?>

Vrednosti koje bi trebalo da se upisuju u tabelu prvu se takodje odstampaju naredbom echo "without get: ".$varijabla;

ali se ne unose u tabelu, nista se ne desava!
 
Odgovor na temu

stefaneg
Stefan Rakonjac
Kragujevac

Član broj: 38922
Poruke: 130
*.pat-pool.kg.sbb.co.yu.

ICQ: 279404274
Sajt: www.prvatehskola.org


Profil

icon Re: Zasto podaci nece da mi se upisuju u bazu :(07.03.2006. u 10:13 - pre 220 meseci
<?
$ip = $_SERVER['REMOTE_ADDR'];
?>

Ako ovo stavljaš u prvoj skripti, i ne prosleđuješ vrednost promenljive $id preko nekog hidden polja u formi onda je logično da ti ne upisuje vrednost ove promenljive, pošto se ona gubi pošto se skripta završi. Staviš ovo na početku druge stranice i efekat će biti isti (mislim, ista će biti ip adresa), ali ćeš u odgovarajućoj skripti definisati $ip.

A tražio sam ti da proslediš celu skriptu kao attachment zato što je (sad već gldeam u pasulj) vrlo moguće da samo imaš neku grešku u sql sintaksi, a podešavanja su možda takva da ne prijavljuje greške, ukoliko postoje

Ovo mi je rekla kugla :)
 
Odgovor na temu

sale83
Australia
Sydney

Član broj: 41625
Poruke: 729
*.inabox.net.



+30 Profil

icon Re: Zasto podaci nece da mi se upisuju u bazu :(07.03.2006. u 10:34 - pre 220 meseci
Vidi ovo:

Code:

''$p16i', // Viska je ' tako da INSERT nece ni da radi ako imas jedan ' viska -          //nije ispravan query
'$p16j', 
'$p16k'
)";
$rezultat1 = mysql_query($sql1);


Drugo:

Onda posle $sql1 = "INSERT INTO anketa1 (

imas 39 vrednosti

Dok posle VALUES(

imas 37 varijabli + ' ' -> koja predstavlja rb - primarni kljuc !
Znaci ovde posle VALUES fali jedna varijabla !!!!




[Ovu poruku je menjao sale83 dana 07.03.2006. u 11:38 GMT+1]
Sto mozes danas ne ostavljaj za sutra!
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.infonova.at.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Zasto podaci nece da mi se upisuju u bazu :(07.03.2006. u 10:35 - pre 220 meseci
Citat:
$podaci = "INSERT INTO anketa2 (rb, vreme, ip, komentar) VALUES('', NOW(), '$ip', '$komentar')";
Cini mi se da ovdje imas gresku...

Trebalo bi da bude:
Code:
$podaci = "INSERT INTO anketa2 (rb, vreme, ip, komentar) VALUES('', NOW(), '". $ip ."', '". $komentar ."')";

Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

Psyche
Beograd

Član broj: 43591
Poruke: 112
*.f.bg.ac.yu.



Profil

icon Re: Zasto podaci nece da mi se upisuju u bazu :(07.03.2006. u 17:03 - pre 220 meseci
Eh, glupe greske i moji previdi, grrrrrrr. Sada sve radi bas kako treba. Hvala svima mnogo, jutros sam bila u zurbi.

Samo jos jedno pitanje.
Ovako, anketu ce da popunjava dvadesetak ljudi odjednom iz racunarske ucionice na faxu. Mreza je napravljena po princpu terminala. Moze li to da bude neki problem?

Inace, ja sam testirala i radi ok, ali da li moze da teoretski nastane neki problem ako vise ljudi odjednom salje svoje podatke :)


[Ovu poruku je menjao Psyche dana 07.03.2006. u 18:29 GMT+1]
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
195.3.113.*

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Zasto podaci nece da mi se upisuju u bazu :(07.03.2006. u 20:48 - pre 220 meseci
@Psyche: Teoretski je moguce, a prakticno su male sanse...

Da bi smanjila i tu teoretsku mogucnost konflikta sa podacima, moras koristiti tzv. connection handlere u svojim MySQL komandama.

Dakle, umjesto mysql_connect($dbhost, $dbuser, $dbpass) or die ..., koristi ovako:

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ...

Zatim, umjesto mysql_query($podaci), koristi:
$result = mysql_query($podaci, $conn);

i onda checkirash $result...

Btw. ovo su ti sve osnovne stvari...

[Ovu poruku je menjao Dejan Topalovic dana 07.03.2006. u 21:48 GMT+1]
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

zrnoo
Vukašin
dizajn, programiranje
Beograd

Član broj: 73204
Poruke: 312
195.252.89.*

ICQ: 56375637
Sajt: www.Tjuner.com


Profil

icon Re: Zasto podaci nece da mi se upisuju u bazu :(08.03.2006. u 00:06 - pre 220 meseci
jedno bezvezno (za one koji znaju ) pitanje...
NA pocetku forme kada je onda postavila php kod ...
<?
$ip = $_SERVER['REMOTE_ADDR'];
?>
Da li to znaci da je sada do kraja cele forme to $ip vidljivo ako ga pozovemo nekim drugim putem!....npr kako bi vi sada napisali u formi , da to $ip prosledite, i da li je ovo dobar primer:

<input type="hidden" name="ip" value="<?php echo $_POST['ip']; ?>">

poz

 
Odgovor na temu

inzenjer2005
Beograd

Član broj: 68840
Poruke: 222
..shall-bg.customer.sbb.co.yu.

Sajt: fotografisanje.com


Profil

icon Re: Zasto podaci nece da mi se upisuju u bazu :(08.03.2006. u 09:34 - pre 220 meseci
Ovako bih ja slao IP preko neke forme sa POST:
<input name="ip" type="hidden" value="<?php echo"$ip";?>">
A ovako bih ga prihvatao na sledecoj strani:
$ip=$HTTP_POST_VARS['ip'];


[Ovu poruku je menjao Tanaskovic Vojislav dana 08.03.2006. u 10:35 GMT+1]
 
Odgovor na temu

Psyche
Beograd

Član broj: 43591
Poruke: 112
*.f.bg.ac.yu.



Profil

icon Re: Zasto podaci nece da mi se upisuju u bazu :(08.03.2006. u 16:39 - pre 220 meseci
Kada je nas fax u pitanju, verujem u Marfijev zakon...

Znam da su osnovne stvari i da ne baratam najbolje materijom (tj. nikako) ali otprilike da se kod nas sve radi pomocu stapa i kanapa. Mnogi programi su sa novom mrezom prestali da funkcionisu.

Izvini, ali sta znaci to cekiras $rezultat.

I kako da sprecim da mi se sa refresovanjem strane podaci.php ili direktnim odlaskom na nju upise slog koji se sastoji samo od nula.

Eto, obecavam da necu vise da pitam nista na ovu temu :)
 
Odgovor na temu

[es] :: PHP :: Zasto podaci nece da mi se upisuju u bazu :(

[ Pregleda: 2360 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

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