DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > PHP
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

PHP PHP aplikacije, Smarty, PEAR

Odgovori
 
Alati teme Način prikaza
Staro 06. 11. 2010.   #1
slavkan
profesionalac
Professional
 
Datum učlanjenja: 30.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
slavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished road
Default Gde je greska?

Znaci ubih se 2h da nadjem gresku. Sto je jos tuznije ovo u lokalu radi ali na serveru nece. Kopiram fajl iz lokala samo promenima parametre znaci naziv baze, korisnicko ime password i posle sabmitovanja forme ne dobijem nikakvu informaciju sa kraja forme. Znaci nema gresaka, forma kao prodje, ali nema tog obavestenja da sam uspesno registrovao diplomca i naravno nema zapisa u bazi. Znaci ne upise se nista Ako neko zna u cemu je fora bio bih mu zahvalan

Kôd:
<?php 
			//konekcija na bazu
			mysql_connect("localhost", "root", "") or die(mysql_error()); 
			mysql_select_db("fakultet") or die(mysql_error()); 
			$forma='<form action="'.$_SERVER['PHP_SELF'].'" method="post"> 
			<table border="0"> 
                        <div class="post">
			<h2>Osnovni podaci</h2>
			<p></p>
			</div>
			<tr><td>Ime diplomca:*</td><td> 
			<input type="text" name="ime" maxlength="35"> 
			</td></tr> 
			<tr><td>Prezime diplomca:*</td><td> 
			<input type="text" name="prezime" maxlength="35"> 
			</td></tr> 
			<tr><td>Korisnicko ime:*</td><td> 
			<input type="text" name="korime" maxlength="35"> 
			</td></tr> 
			<tr><td>Sifra:*</td><td> 
			<input type="password" name="password" maxlength="35"> 
			</td></tr> 
			<tr><td>Ponovi sifru:*</td><td> 
			<input type="password" name="password2" maxlength="35"> 
			</td></tr> 
			<tr><td>E-mail:*</td><td> 
			<input type="text" name="email" maxlength="35"> 
			</td></tr> 
			<tr><td>Adresa stanovanja:*</td><td> 
			<input type="text" name="adresa" maxlength="55"> 
			</td></tr> 
			<tr><td>Telefon:*</td><td> 
			<input type="text" name="telefon" maxlength="15"> 
			</td></tr>
                        <tr><td>Tip korisnika:*</td><td> 
			<select name="tip"> 
                        <option value="A">Administrator
                        <option value="K" selected>Korisnik
                        </select>
                        </td></tr>
                        <tr><td>Status zaposlenosti:*</td><td> 
                        <select name="status">
                        <option value="zaposlen">Zaposlen
                        <option value="nezaposlen" selected>Nezaposlen
                        </select>
	        	<tr><th colspan=2><input type="submit" name="submit" value="Registracija"></th></tr> 
			<tr><th colspan=2><input type="reset" name="reset" value="Resetovanje"></tr></td></table>                

			</form> ';
			//Proveravamo da li je korisnik pritisnuo submmit
			if (isset($_POST['submit'])) { 
				$error='';
				
			//Provera da li je korisnik popunio polja
			if (!$_POST['ime'] | !$_POST['prezime'] | !$_POST['korime'] | !$_POST['password'] | !$_POST['email'] | !$_POST['adresa'] | !$_POST['telefon']){
				$error .= '<li>Niste popunili sva polja</li>'; 
				}

			// Provera da li je username u upotrebi
			if (!get_magic_quotes_gpc()) { 
				$_POST['korime'] = addslashes($_POST['korime']); 
			} 
			$usercheck = $_POST['korime']; 
			$check = mysql_query("SELECT KOR_IME FROM DIPLOMCI WHERE kor_ime = '$usercheck'") 
			or die(mysql_error()); 
			$check2 = mysql_num_rows($check); 

			//Ako korisnicko ime postoji u bazi ispisujemo gresku 
			if ($check2 != 0) { 
				$error .= '<li>Greska, username koji ste unijeli '.$_POST['korime'].' je u upotrebi.</li>'; 
			} 

			// Ispitujemo da li su uneti passwordi isti
			//if ($_POST['password'] != $_POST['password2']){ 
			//	$error .= '<li>Niste unijeli iste passworde.</li>'; 
			//} 

			//Provera da li je unijeta e-mail adresa ispravna
			if (!eregi('^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]', $_POST['email'])){
				$error .= '<li>Uneta email adresa nije ispravna</li>';
			}

			if (!eregi('[0-9]', $_POST['telefon'])){
				$error.= '<li>Pogresno ste unijeli format telefona</li><ul>';
			}

			// Vrsimo kriptovanje sifre md5 algoritmom
			$_POST['password'] = md5($_POST['password']); 
			if (!get_magic_quotes_gpc()) { 
				$_POST['password'] = addslashes($_POST['password']); 
				$_POST['korime'] = addslashes($_POST['korime']); 
			} 
			if($error=='')
			{
				//Upisivanje u bazu
				$activactionkey=md5(rand()); 
				
				$datumreg=date("Y-m-d");
				$tip=$_POST['tip'];
				$ime=$_POST['ime'];
				$prezime=$_POST['prezime'];
				$korime=$_POST['korime'];
				$password=$_POST['password'];
				$adresa=$_POST['adresa'];
				$email=$_POST['email'];
				$status=$_POST['status'];
				$telefon=$_POST['telefon'];
				$korime=mysql_real_escape_string($korime);
				$insert = "INSERT INTO diplomci (TIP,IME,PREZIME,ADRESA,EMAIL,KOR_IME,SIFRA,STATUS,DATUM_REG,ACTIVACTIONKEY,AKTIVIRAN) 
				VALUES ('".$tip."','".$ime."','".$prezime."','".$adresa."','".$email."','".$korime."','".$password."', '".$status."','".$datumreg."','".$activactionkey."','1')"; 
				$add_member = mysql_query($insert); 
					if($add_member)
					{
						$forma = "<h2>Uspjesno ste registrovali diplomca</h2><p>Popunite i ostale podatke o diplomcu</a>.</p> ";
					}
				} else 
				{
					echo "Javile su se sljedeće greske <ul>".$error."</ul>";
				}
				
				
			}
			echo $forma;
			
			 $to = $_POST['email'];
                       $subject = "Potvrdite vasu registraciju";
                       $message = "Dobrodosli na nas sajt!\r\rVi ili neko drugi koristi ovu email adresu da se registruje. Mozete se registrovati klikom na sljedeci link:\r http://www.mojsajt.info/act.php?activactionkey=$activactionkey\r\rAko ste ovaj mail dobili greskom ignorisite ga i bicete automatski izbrisani sa liste.\r\r mojsajt.info";
					        $headers  = 'MIME-Version: 1.0' . "\r\n";
					        $headers .= 'Content-type: text; charset=iso-8859-1' . "\r\n";
                       $headers .= 'Aktivacija' . "\r\n";
                       $headers .= 'From: webmaster@example.com' . "\r\n" ;
	                   mail($to, $subject,$message,$headers);
			
			?>
slavkan je offline   Odgovorite uz citat
Staro 07. 11. 2010.   #2
vladapopster
novi član
Na probnom radu
 
Datum učlanjenja: 06.11.2010
Poruke: 12
Hvala: 1
1 "Hvala" u 1 poruci
vladapopster is on a distinguished road
Default Proveri log

Jel ti javlja neku gresku u PHP error logu?
vladapopster je offline   Odgovorite uz citat
Staro 07. 11. 2010.   #3
razno
Miljenko Rebernišak
Qualified
 
Avatar razno
 
Datum učlanjenja: 05.03.2009
Lokacija: Jagodina-Beograd
Poruke: 191
Hvala: 4
25 "Hvala" u 22 poruka
razno is on a distinguished road
Default

Mislim da ti ovo vraca FALSE i zato ti forma prolazi bez greske
Kôd:
$insert = "INSERT INTO diplomci (TIP,IME,PREZIME,ADRESA,EMAIL,KOR_IME,SIFRA,STATUS,DATUM_REG,ACTIVACTIONKEY,AKTIVIRAN) 
				VALUES ('".$tip."','".$ime."','".$prezime."','".$adresa."','".$email."','".$korime."','".$password."', '".$status."','".$datumreg."','".$activactionkey."','1')"; 
				$add_member = mysql_query($insert);
prepravi u
Kôd:
$insert = "INSERT INTO `diplomci` (`TIP`,`IME`,`PREZIME`,`ADRESA`,`EMAIL`,`KOR_IME,SIFRA`,`STATUS`,`DATUM_REG`,`ACTIVACTIONKEY`,`AKTIVIRAN`) 
				VALUES ('$tip','$ime','$prezime','$adresa','$email','$korime','$password', '$status','$datumreg','$activactionkey','1')"; 
				$add_member = mysql_query($insert);
- Koliko vidim oslanjas se na magic_quotes_gpc prilikom inserta sto je lose, koristi kastovanje(cast) kod int vrednosti i mysql_real_escape_string() za stringove
- Korisnicko ime eskejpujes dva puta
- Umesto md5 bolje koristi recimo sha1 za kriptovanje sifre
- Kada kriptujes sifru nemas vise razloga da je eskepujes jer je povratna vrednost sacinjena samo od slova i brojevi

ima jos neke sitnice ali mi je ovo upalo u oko
__________________
Me on twitter

Poslednja izmena od razno : 07. 11. 2010. u 00:16.
razno je offline   Odgovorite uz citat
Staro 07. 11. 2010.   #4
slavkan
profesionalac
Professional
 
Datum učlanjenja: 30.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
slavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished road
Default

Prepravio i opet isto, jasno je da nesto INSERT naredba ne stima ali nece da prodje ni sa ovim navodnicima. Sto se tice error loga nema nista, mislim nema obavestenja vezano za ovaj upit. Ovo ostalo cu da prepravim ali sta mi vredi kad ne moze da se upise u bazu
slavkan je offline   Odgovorite uz citat
Staro 07. 11. 2010.   #5
Milance
novi član
Na probnom radu
 
Datum učlanjenja: 30.04.2010
Poruke: 21
Hvala: 1
0 "Hvala" u 0 poruka
Milance is on a distinguished road
Default

Ne vidim gde printas $error ako greska postoji?!

Insert ti se izvrsava samo pod uslovom da nema greske a gresku ne stampas nigde pa ti se cini da je sve u redu, a ocigledno nije.
Milance je offline   Odgovorite uz citat
Staro 07. 11. 2010.   #6
vidak
Banned
Expert
 
Datum učlanjenja: 29.09.2007
Poruke: 458
Hvala: 131
71 "Hvala" u 44 poruka
vidak is on a distinguished road
Default

Kako uspevaš da se kao root pristupaš bazi na serveru. Imaš svoj VPS, VDS?

ubaci ovo
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_starup_errors', 1);

i jednostavno probaj da deo po deo puštaš npr prvo echo $forma, pa da vidiš koji ti deo ne prolazi. Pa kad nađeš deo koji ne prolazi, njega izdeliš na delove ili pregledaš ...
vidak je offline   Odgovorite uz citat
Staro 07. 11. 2010.   #7
slavkan
profesionalac
Professional
 
Datum učlanjenja: 30.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
slavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished road
Default

Greske valjda stampam ovde:

Kôd:
echo "Javile su se sljedeće greske <ul>".$error."</ul>";
A to za user i pass, to sam ja stavio tek onako, uredno ja postavim tu sve parametre, jer znas kad ne podesis to oko pass i usera izbaci ti odmah gresku, znaci ja vidim tu moju formu, provera gresaka radi tj recimo ako ne popunim neko polje koje sam gore naveo da mora da se popuni dobijem gresku da nije popunjeno, kad sve popunim kako treba i sabmitjem formu ne dobijem tu poruku da sam uspesno registrovao diplomca tj ne dobijem nista osim ponovo prazne forme da je popunim, kao da se nista ne desi.
slavkan je offline   Odgovorite uz citat
Staro 07. 11. 2010.   #8
LiquidBrain
Milan Cvejic
Wrote a book
 
Avatar LiquidBrain
 
Datum učlanjenja: 05.09.2006
Lokacija: Beograd
Poruke: 1.241
Hvala: 32
73 "Hvala" u 56 poruka
LiquidBrain će postati "faca" uskoro
Pošaljite poruku preko Yahoo za LiquidBrain
Default

dodaj:
Kôd:
echo mysql_error();
posle
Kôd:
$add_member = mysql_query($insert);
pa vidi sta ti vrati?
__________________
http://weevify.com
LiquidBrain je offline   Odgovorite uz citat
Staro 07. 11. 2010.   #9
pecili
član
Certified
 
Datum učlanjenja: 30.07.2010
Poruke: 61
Hvala: 3
4 "Hvala" u 3 poruka
pecili is on a distinguished road
Default

Kôd:
mysql_query("INSERT INTO diplomci (TIP,IME,PREZIME,ADRESA,EMAIL,KOR_IME,SIFRA,STATUS,DATUM_REG,ACTIVACTIONKEY,AKTIVIRAN)
VALUES ('$tip','$ime','$prezime','$adresa','$email','$korime','$password', '$status','$datumreg','$activactionkey','1')")
or die(mysql_error());
pecili je offline   Odgovorite uz citat
Staro 07. 11. 2010.   #10
slavkan
profesionalac
Professional
 
Datum učlanjenja: 30.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
slavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished road
Default

Pecili ako uradim ovako kao sto si ti rekao dobijam sledecu gresku:

Kôd:
Table 'slavkok_posao.diplomci' doesn't exist
sto je nemoguce (slavkok_posao tako mi se zove baza)

Ako stavim velika slova DIPLOMCI dobijam sljedecu gresku:

Kôd:
Unknown column 'STATUS' in 'field list'
sto je takodje nemoguce jer kolona STATUS postoji.

Ako stavim ovo 'diplomci' pod navodnike dobijam poruku da imam gresku blzu 'diplomci'

Ako vratim kao sto je bilo ono moje na pocetku dobijam sledecu gresku:

Kôd:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''diplomci' ('TIP','IME','PREZIME','ADRESA','EMAIL','KOR_IME','SIFRA','STATUS','D' at line 1
Eeeeeeee pa zivote gde je ta sintaksna greska vise??? Jasno je da je sintaksna greska u pitanju
slavkan je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
No input file specified greska sa php5 kao cgi na apache 2.2 (mod_rewrite) robi-bobi Web aplikacije, web servisi i software 2 18. 03. 2010. 16:34
Greska ja ili go-daddy bale Web Hosting, web serveri i operativni sistemi 6 25. 11. 2009. 15:48
Javlja mi se 406 greska kod otvaranja jednog fajla jovica888 Sva početnička pitanja 10 27. 03. 2009. 18:27
Greska kod kratkog URL-a sa nasim slovima robi-bobi Obaveštenja, predlozi i pitanja 4 06. 02. 2007. 14:43


Vreme je GMT +2. Trenutno vreme je 15:42.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.