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

Pomoc oko redirekcije i login skripte

[es] :: PHP :: Pomoc oko redirekcije i login skripte

Strane: 1 2

[ Pregleda: 4757 | Odgovora: 30 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kebba
Igor Branković
SQL Server administrator & .NET
Developer
Open C Team doo
Pančevo

Član broj: 132129
Poruke: 27
80.93.248.*



Profil

icon Re: Pomoc oko redirekcije i login skripte22.02.2009. u 17:39 - pre 184 meseci
Pa naravno... Pocetnicka greska

Jel ima neko iskustva sa autosuggest-om i autocomlete-om? Ubacio sam kod za autosuggest ali mi za sad puni samo jedno polje i to ono u koje ukacavam tekst. Ja bih hteo da mi, kad pocnem da unosim tekst u polje 'naziv pesme', automatski u pozadini uradi upit nad bazom i ako kliknem na ponudjen unos, da mi popuni i ostala polja 'grupa', 'zanr'... Evo i delova koda:
upload.php
Code:

<?php session_start(); ?>
<html>
<head>
<title>Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<script src="jscripts/suggest.js"></script> 
<script>
function place(ele) 
    {        
    document.getElementById('title').value = ele.innerHTML;
    document.getElementById("livesearch").style.display = "none";
}
</script>


</head>
<body onload="document.getElementById('title').focus()">

<?php
.......
?>
</body>
</html>

suggest.php
Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Suggest</title>
</head>

<body>
<?php
include "connection.php";
$pomocna=$_GET["unos"];

$sql="SELECT * FROM songs WHERE title LIKE '$pomocna%' ORDER BY title";
$result = mysql_query($sql);
if (mysql_num_rows($result)==0)
{
echo "U bazi ne postoji pesma koja po&#269;inje na $pomocna ";

else {

while($row = mysql_fetch_array($result))
 {
 ?>
<a href="#" onclick="place(this)"><?php echo $row['title']?></a>
<br/>
 
 <?php
 }
 }
?>

</body>
</html>

suggest.js
Code:

var xmlHttp
function suggest(naziv)

if (naziv.length==0)
 { 
 document.getElementById("livesearch").innerHTML="";
 document.getElementById("livesearch").style.border="0px";
 return
 }
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser ne podrzava AJAX.")
 return
 }
 
var url="suggest.php"
url=url+"?unos="+naziv
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged() 


if (xmlHttp.readyState==4)
 { 
 document.getElementById("livesearch").innerHTML=xmlHttp.responseText;
 document.getElementById("livesearch").style.border="1px solid";
 document.getElementById("livesearch").style.display="block";

 } 
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}


Pretpostavljam da treba da se parametri proslede preko nekog niza ili sl. ali s obzirom da sam tanak sa JScriptom molim nekog da mi pomogne, makar da me uputi u pravom smeru

[Ovu poruku je menjao kebba dana 22.02.2009. u 19:59 GMT+1]

[Ovu poruku je menjao kebba dana 22.02.2009. u 20:55 GMT+1]
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-3.sezampro.yu.



+33 Profil

icon Re: Pomoc oko redirekcije i login skripte22.02.2009. u 18:52 - pre 184 meseci
Daj da vidimo taj javascript kod (suggest.js), dvaput si nam poslao isti kod. :)

Ali evo ovako napamet da ti kazhem koja je procedura... To polje u koje unosish tekst ce da ima dogadjaj onkeyup, na koji ce se pozivati neka f-ja kojoj se, po potrebi, prosledjuje this.value. Ta f-ja uz pomoc xmlhttp zahteva komunicira sa nekim PHP kodom, koji vraca sve nazive koji su "LIKE" uneti naziv. On bi recimo trebao da vrati ispis (echo) linkova (jedan ispod drugog) koji ce voditi na neku JavaScript (AJAX) f-ju, ovako: href = "javascript: imeFje(id);" pri chemu ce se taj id odnositi na taj link, odnosno, to treba da bude id te pesme, na osnovu chega cesh ti dobijati ostala polja (grupa, zanr). Ili chak mozhesh odma' toj f-ji da prosledish grupu, zanr, itd., koje bi prethodno "dovukao" tim PHP kodom i spojio u obliku nekog stringa (npr. grupa_zanr). AJAX prihvata taj zahtev i ispisuje te linkove u nekom div-u ispod tog tekstualnog polja. I klikom na neki od tih linkova, pozivala bi se f-ja, koji bi, u sluchaju prve varijante (sa id-em), radila slichno kao i ono malopre: komunikacija sa PHP kodom, koji ce recimo vratiti string u obliku: grupa_zanr. Stavio sam donju crtu kao razmak da bi posle u javascript-u mogao po nechemu da razdvojish te pojmove koje ce PHP da vrati, a kad ih razdvojish u posebne promenljive ili niz, svejedno, ispisacesh ih u tim poljima, document.getElemetById('grupa').value = grupa;, itd. A u sluchaju drugu varijante, ta f-ja bi odma' dobila taj string, koji bi samo trebao da obradish i ispishesh te delove u tekstualnim poljima.

[Ovu poruku je menjao Nikola Poša dana 22.02.2009. u 21:09 GMT+1]
 
Odgovor na temu

kebba
Igor Branković
SQL Server administrator & .NET
Developer
Open C Team doo
Pančevo

Član broj: 132129
Poruke: 27
80.93.248.*



Profil

icon Re: Pomoc oko redirekcije i login skripte22.02.2009. u 19:53 - pre 184 meseci
Evo, dodao sam JScript fajl koji je nedostajao...

Hvala Nikoli na iscrpnom objasnjenju. Otprilike sam skapirao o cemu se radi...
Problem mi pravi sledeci kod iz suggest.php fajla (koliko sam ja uspeo da zakljucim):
Code:

while($row = mysql_fetch_array($result))
    {
         $string=$row['title']."_".$row['artist']."_".$row['genre'];
         ?>
        <a href="#" onclick="place(this)"><?php echo $row['title']?></a>
        <br/>         
        <?php
    }

U stvari, ne znam kako da prosledim parametar $string f-ji place(this) tj place(ele)? Ako bih to uspeo, mogao bih da iz stringa iscitam potrebne vrednosti...
Mozda ce nekom ovo izgledati smesno, ali vec sam rekao da sam tanak sa JScriptom
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-3.sezampro.yu.



+33 Profil

icon Re: Pomoc oko redirekcije i login skripte22.02.2009. u 20:01 - pre 184 meseci
Mozhesh da ga prosledish, odnosno, ubacish ispisivanjem tog linka kroz PHP, ovako:
Code:

echo '<a href="#" onclick="place(\'' . $string . '\');">' . $row['title'] . '</a>';

Samo ne znam shta sad tachno zhelish da postignesh, i kako si ti uopshte to sve zamislio...

edit: U stvari mislim da znam...

[Ovu poruku je menjao Nikola Poša dana 22.02.2009. u 21:19 GMT+1]
 
Odgovor na temu

kebba
Igor Branković
SQL Server administrator & .NET
Developer
Open C Team doo
Pančevo

Član broj: 132129
Poruke: 27
80.93.248.*



Profil

icon Re: Pomoc oko redirekcije i login skripte22.02.2009. u 21:08 - pre 184 meseci
Hocu da iz tog stringa koji prosledim metodi place(ele) izvucem odgovarajuce vrednosti i njima napunim polja na stranici upload.php (npr: title_artist_genre...). Znam da mozda nema toliko smisla, ali ajde... Ovo parce koda sto si postovao izgleda nece da mi radi. Kao da ne moze da procita vrednost promenljive $string unutar html-a, cak je i ne boji drugacijom bojom, vec ostaje plava kao i f-ja place...

$string=$row['title']."_".$row['artist']."_".$row['genre'];
?>
<a href="#" onclick="place(\'' . $string . '\');"><?php echo $row['title']?></a>
<br/>
<?php
evo, pokusao sam graficki da docaram Cim unesem prvo slovo u text polje, u statusnoj liniji mi prijavi "Error on page"?

edit: Kad prosledim $string na sledeci nacin onda sve radi:
Code:

<a href="#" onclick="place(this);"><?php echo $string ?></a>

ali to mi je malo bezveze jer se vide sve informacije u listi suggest-a. Ja hocu da se u padajucoj listi vidi samo naziv pesme.


[Ovu poruku je menjao kebba dana 22.02.2009. u 22:22 GMT+1]
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-3.sezampro.yu.



+33 Profil

icon Re: Pomoc oko redirekcije i login skripte22.02.2009. u 21:12 - pre 184 meseci
Nisi me razumeo, ja sam hteo da direktno ispisujesh taj link kroz PHP (sa echo), a ne da zatvarash PHP (?>), pa da to isto radish HTML-om. Al' dobro, ako ti vishe odgovara da to ide kroz HTML, onda to treba ovako:
Code:
<a href="#" onclick="place('<?php echo $string; ?>');"><?php echo $row['title']?></a>
 
Odgovor na temu

kebba
Igor Branković
SQL Server administrator & .NET
Developer
Open C Team doo
Pančevo

Član broj: 132129
Poruke: 27
80.93.248.*



Profil

icon Re: Pomoc oko redirekcije i login skripte22.02.2009. u 21:42 - pre 184 meseci
U pravu si, nisam obratio paznju... Ali nece ni ovako
evo kako izgleda metoda za prihvat na upload.php strani:
Code:

function place(ele) 
{    
    var string = ele.innerHTML;
    var a = 0;
    var b = string.indexOf("_",a);
    var title = string.substring(a,b);
    var a = b+1;
    var b = string.indexOf("_",a);
    var artist = string.substring(a,b);
    var a = b+1;
    var b = string.length;
    var genre = string.substring(a,b);    
    
    document.getElementById('title').value = title;
    document.getElementById('artist').value = artist;
    document.getElementById('genre').value = genre;
    document.getElementById("livesearch").style.display = "none";
}

Mozda je tu negde greska, mada ne verujem...
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
147.91.216.*



+33 Profil

icon Re: Pomoc oko redirekcije i login skripte23.02.2009. u 08:44 - pre 184 meseci
Citat:
kebba: ali to mi je malo bezveze jer se vide sve informacije u listi suggest-a. Ja hocu da se u padajucoj listi vidi samo naziv pesme.

Ne razumem, kako se vide, gde?

Nego, mene samo u toj tvojoj f-ji place() buni to var string = ele.innerHTML;... Zashto tako? Ti toj f-ji prosledjujesh vec gotov string, jel tako? Ili sam mozhda u medjuvremenu neshto propustio...

btw U JavaScript-u postoji funkcija split(), koja je ekvivalent PHP-ovoj f-ji explode(), tako da ne morash to razdvajanje da radish sa kombinacijama indexOf i substring...
 
Odgovor na temu

kebba
Igor Branković
SQL Server administrator & .NET
Developer
Open C Team doo
Pančevo

Član broj: 132129
Poruke: 27
80.93.248.*



Profil

icon Re: Pomoc oko redirekcije i login skripte24.02.2009. u 12:22 - pre 184 meseci
Verovatno me je tesko skapirati jer sam pocetnik u ovome pa se nejasno izrazavam...
Elem, za sad mi autosuggest radi tako sto, kad ukucam neku frazu u text polje, izbaci mi padajacu listu sa predlozima iz baze tipa 'Runaway_Bon Jovi_Rock', taj string prosledim metodi place(ele), razdvojim ga i smestim delove u ogovarajuca polja na formi. Moje pitanje je bilo: kako da postignem isti efekat (da popunim polja na formi izborom iz padajuce liste) a da mi se u toj listi ne vide svi parametri (tj kolone iz tabele) vec samo jedna (npr 'Runaway')?
(btw, tnx za f-ju split(), bas sam se pitao da li postoji nesto elegantnije, ali nisam mogao da pronadjem... Sad cu da pogledam kako radi..)

U pravu si, f-ji place(ele) prosledjujem gotov string. Ali ne razumem na sta ciljas?
 
Odgovor na temu

stevs986
Nikolic Sladjan
Senior Software Developer
Alterset d.o.o
Beograd

Član broj: 121154
Poruke: 140
195.252.99.*



+4 Profil

icon Re: Pomoc oko redirekcije i login skripte24.02.2009. u 12:53 - pre 184 meseci
Jedno ne bas elegantno resenje, ali zavrsava posao je da u vrednost select box -a stavis sve kolone tabele sa nekim separatorom, a prikazujes samo ono sto zelis... Na onchange razdvajas vrednost select box - a po separatoru i popunjavas polja na formi koja zelis...
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
147.91.216.*



+33 Profil

icon Re: Pomoc oko redirekcije i login skripte24.02.2009. u 12:54 - pre 184 meseci
Gledaj, ti kad se prvi put obracash AJAX-u, na onaj dogadjaj onkeyup, taj PHP kod sa kojim AJAX komunicira treba da vrati url-ove oblika, odnosno, source tih url-ova bi trebao da izgleda ovako:
Code:

<a href = "javascript: place('Bon Jovi_Rock');">Runaway</a>

Ili ovako, ako idesh sa onclick:
Code:

<a href = onclick = "place('Bon Jovi_Rock');">Runaway</a>

Ja mislim da si to ti i uradio, al' ne znam kako ti u vidljivom delu url-a ispisuje i ostale podatke, jer ti si stavio da se url ispisuje ovako:
Code:

<a href="#" onclick="place('<?php echo $string; ?>');"><?php echo $row['title']?></a>

Dakle u vidljivom delu ispisujesh samo $row['title'], jel tako?

Citat:
kebba: U pravu si, f-ji place(ele) prosledjujem gotov string. Ali ne razumem na sta ciljas?

Pa ciljam na to da to ele (<?php echo $string; ?>), ti odma' mozhesh da koristish u toj f-ji place(), odnosno, to je string, i ti njega mozhesh da split-ujesh i "chupash" iz njega ostale informacije (autor, zhanr).
 
Odgovor na temu

[es] :: PHP :: Pomoc oko redirekcije i login skripte

Strane: 1 2

[ Pregleda: 4757 | Odgovora: 30 ] > FB > Twit

Postavi temu Odgovori

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