![]() |
![]() |
|
|||||||
| Serverske aplikacije i baze podataka PHP, Perl, ASP, ASP .NET, ColdFusion... MySQL, PostgreSQL, MSQL, Oracle... |
![]() |
|
|
Alatke vezane za temu | Vrste prikaza |
|
|
#1 |
|
Banned
|
Danas se ceo dan zezam sa ovim problemom i nikako da ga resim.Obrnuo net gledajuci tutorijale da vidim gde gresim ali nigde nisam pronasao gresku u kodu.Evo ga ceo kod:
PHP kod:
Problem je taj sto nikako nece da upise podatke u bazi.Znaci neam blage veze u cemu je problem.Pitao sam neke ljude sa MSN-a koji su strucniji u PHP-u od mene, ali ni oni ne znaju u cemu je problem. I jos nesto.Kada sam dao link jednom liku sa MSN-a koji se bavi PHP programiranjem on moze lepo da se registruje i ispise mu poruku "Uspesno ste se registrovali" ali nikako nece da upise u bazi podatke (kod mene).Dok kod njega sve se lepo upise, a kod je isti.Koristim XAMPP 1.6.5 verziju. Ne znam vise u cemu je problem |
|
|
|
|
|
#2 |
|
Ex Parrot
|
Pa ako je sa PHP kodom sve u redu, preostaje samo da nešto sa MySQL-m ne valja. Jel imaš u bazi wiw sve pomenute tabele? Jel konekcija sa bazom OK?
Nisam php programer, al' eto laički i logički rezon... |
|
|
|
|
|
#3 |
|
Banned
|
Ma sve je ok i sa bazom i sa tabelama i sa konekcijom
Evo exporta iz baze: Kod:
-- phpMyAdmin SQL Dump -- version 2.11.3 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: Jan 26, 2008 at 08:12 PM -- Server version: 5.0.51 -- PHP Version: 5.2.5 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Database: `wiw` -- -- -------------------------------------------------------- -- -- Table structure for table `podaci` -- CREATE TABLE `podaci` ( `id` int(10) unsigned NOT NULL auto_increment, `username` varchar(20) character set utf8 collate utf8_bin NOT NULL, `password` varchar(12) character set utf8 collate utf8_bin NOT NULL, `email` varchar(20) character set utf8 collate utf8_bin NOT NULL, `ime` varchar(50) character set utf8 collate utf8_bin NOT NULL, `prezime` varchar(50) character set utf8 collate utf8_bin NOT NULL, `nacija` varchar(50) character set utf8 collate utf8_bin NOT NULL, `imenacije` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; -- -- Dumping data for table `podaci` -- |
|
|
|
|
|
#4 |
|
ex Laki pingvin
Član od: 28.10.2005.
Lokacija: Kragujevac (Srbija)
Poruke: 2.559
Zahvalnice: 478
Zahvaljeno 879 puta na 487 poruka
|
Zameni ovo
Kod:
$connect = mysql_connect("localhost", "root","");
if(!$connect)
{
die (mysql_error());
}
$select_db = mysql_select_db("wiw", $connect);
if(!$select_db)
{
die(mysql_error());
}
Kod:
$connect = mysql_connect("localhost", "root","") or die("greska kod konekcije na bazu");
if(!$connect)
{
die (mysql_error());
}
$select_db = mysql_select_db("wiw", $connect) or die("greska kod selekcije baze");
if(!$select_db)
{
die(mysql_error());
}
|
|
|
|
|
|
#5 |
|
ex Laki pingvin
Član od: 28.10.2005.
Lokacija: Kragujevac (Srbija)
Poruke: 2.559
Zahvalnice: 478
Zahvaljeno 879 puta na 487 poruka
|
Pošto iz unknown razloga ne mogu da izmenim svoju poruku (počelo od juče tako), evo ti dodatak. Deo za pisanje formulara umesto sa echo ""; odradi sa:
Kod:
print <<<eof ovde ide tvoj HTML kôd kao da pišeš u običan HTML eof; |
|
|
|
|
|
#6 |
|
Banned
|
Nece ni ono prvo ni drugo.Za drugo mi izbaci silne erore, a za drugo opet izbrise sav text iz polja za unos i nece da upise u bazu
A probao sam i da form izbacim iz php koda i da ga stavim pre php koda i pogodite, nece. Probao sam i da izbrisem ono "?act=registracija", izbrisao i switch i nece opet...jel moze neko da proba na svom kompu ovaj kod.Predpostavljam da me PHP nesto zeza ali neam pojma gde i kako |
|
|
|
|
|
#7 |
|
Deo inventara foruma
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.892 puta na 1.077 poruka
|
Ostatak koda neću da komentarišem ali najverovatniji razlog zbog čega kod tebe navedeni kod ne radi a kod tvog "PHP eksperta" radi leži u switch petlji. Zašto? Zato što je kod "eksperta" najverovatnije u php.ini-ju uključena opcija register_globals pa je sasvim u redu act parametar koji se prosleđuje u URL-u tvoje forme očitati sa čistim $act. Međutim, po defaultu sve novije distribucije PHP-a (pa i sam XAMPP) dolaze sa ovim parametrom isključenim tako da se sve vrednosti polja koje se prosleđuju URL-om moraju eksplicitno očitavati $_GET superpromenljivom.
Da skratim priču... Podatke poslate POST formom moraš da očitavaš iz $_POST superpromenjljive, one koje prosleđuješ GET formom (preko URL-a) očitavaš $_GET superpromenjljivom. Da bi ovaj tvoj kod funkcionisao kako je predviđeno potrebno je da ovaj deo koda PHP kod:
PHP kod:
|
|
|
|
| Sledeći korisnik se zahvaljuje korisniku holodoc na korisnoj poruci: | ||
PeTkO (27.1.2008) | ||
|
|
#8 |
|
Banned
|
tnx holodoc
Uopste nisam predpostavljao da u tom delu koda gresim. edit: opet nece... @holodoc Jel mozes da svratis na MSN caskom?Pitao bi te preko PM/LP ali si odlucio da ne primas PM/LM
|
|
|
|
|
|
#9 |
|
Član
Član od: 14.7.2006.
Poruke: 84
Zahvalnice: 90
Zahvaljeno 17 puta na 15 poruka
|
Umesto da promenljivu "act" prosleđuješ kroz tag <form action='?act=registracija' ..., pošalji je kao polje tipa hidden, znači:
<input type='hidden' name='act' value='registracija'> i pokupi je pri proveri sa $_POST. |
|
|
|
|
|
#10 |
|
Deo inventara foruma
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.892 puta na 1.077 poruka
|
S obzirom da je kod sa mojom ispravkom vezanom za switch potpuno ispravan (uključujući i izgled tvoje baze) problem očigledno leži negde u podešavanju tvog sistema.
Napiši ovde koje greške dobijaš prilikom izvršavanja. |
|
|
|
|
|
#11 |
|
Banned
|
pa gresaka nema...Znaci, popunim sva polja i kliknem na Register.U tom momentu, sva polja se isprazne, i uopste ne napise "Uspesno ste se registrovali...bla,bla", nego samo isprazni polja.Onda ja proverim bazu da li je mozda izvrsio neki upis i naravno, od upisa nema nista.Videcu da instaliram neku stariju verziju XAMPP-a...izgleda da je do toga
|
|
|
|
|
|
#12 |
|
Član
Član od: 14.7.2006.
Poruke: 84
Zahvalnice: 90
Zahvaljeno 17 puta na 15 poruka
|
Ponovo sam pogledao tvoj kod i čitava zbrka nastaje zbog promenljive "act". Ovo što sam napisao iznad treba uraditi, a ja bih umesto ovog switch koristio stari dobri if. Nešto ovako:
Kod:
if ($_POST['act']=='registracija')
{
register();
}
else
{
register_form();
}
|
|
|
|
|
|
#13 |
|
Veteran
Član od: 11.7.2006.
Lokacija: /dev/random
Poruke: 1.011
Zahvalnice: 163
Zahvaljeno 182 puta na 147 poruka
|
Nisam neki stručnjak, aki ovaj deo koda mi je nejasan.
HTML kod:
<form action='?act=registracija' method='post'>
PHP kod:
|
|
|
|
|
|
#14 |
|
Banned
|
Ljudi, bilo je do xamp-a!
Malopre sam reinstalirao XAMPP i umesto moje switch petlje, upotrebio sam holodocovu swich petlju i zamislite radilo je, dok juce nije htelo ni da pisne. Radi i sa if petljom. Hvala svima koji su mi pomogli.Ali ocigledno da nije bilo do koda vec do samog PHP-a |
|
|
|
![]() |
| Bookmarks sajtovi |
| Alatke vezane za temu | |
| Vrste prikaza | |
|
|
Slične teme
|
||||
| tema | temu započeo | forum | Odgovora | Poslednja poruka |
| Sta je ovo???Virus ili nesto drugo... | Shlaymara | Kvarovi | 6 | 8.8.2006 19:10 |
| z-5500 il nesto drugo i koja kartica, pomoc | uplasenko | ŠDK - Zvuk na računaru | 20 | 22.6.2006 21:04 |
| ipod shuffle ili nesto drugo? | DaAli | ŠDK - Foto i audio/video | 8 | 11.5.2006 18:22 |
| Graficka ili nesto drugo ?! | Sharpshooter | Kvarovi | 9 | 14.3.2006 8:37 |
| nesto mi usporava otvaranje fajlova... | dzambo | Aplikativni softver | 18 | 25.12.2005 0:28 |