Keresés
Hírlevél
 
Kiemelt témák
»Hogy viszonyul ehhez a család?
»Legjobb metodika emberi relációk tárolására
»A programozó hibája, hogy törik a programját?
»Jogosultság kezelés mezőszinten
Állás/munka
»Wordpress szakértőt keresünk
»Kamu álláshirdetők listája
»Front-end fejlesztő / Sitebuilder
»DataStore Developer
»PHP programozó, webfejlesztő munkát keres
» több téma
Tudástár
Oldalon keresés 8x írja ki az eredményt
?XML-ből sok szövegmező
?Input mezőből visszakapott adat probléma
TinyMCE és az ékezetek
?Rengeteg hasonló kép betöltése gyorsan (PHP)
Ékezetes kar. nem minden táblában jól
?Shelltreeview gond
Grafikon rajzolás probléma
?Onclick= php függvény
?Egyenes megrajzolása
?Access-ből adott xml fájl kinyerése
Listázás időpont szerint
Exportálás változó könyvtárba
*Link eredményének kiolvasása
Imagemapre képet
» több téma
Társalgó
»A programozásból jól meg lehet élni?
»MFC tanulás
»Könyvet adok-veszek
»Hogy viszonyul ehhez a család?
»Nintendo wii
»Letölthető az új Rad Studio XE és Delphi XE
»Weblap véleményezés
»Játékmotor elmélet
»Informatikai bulvárlap
»Delphi-ről C++-ra váltás
» több téma
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Tudástár

»

Link szövegének értékátadása fájlba

»

Link szövegének értékátadása fájlba

nyitotta: geodor, idő: 2010.03.11., moderátor: Árnyék
  Értesítés változás esetén Felvétel kedvencekhez Küldés emailben Nyomtatható verzió

Kategóriák:Web-programozás » HTML
Programozási nyelvek » JavaScript

Sorrend:
Időzóna:
Blokkméret:
Sziasztok!

A következőben akadtam el:

Az alábbi form segítségével, az inputmező értékét(ugyanaz mint a link szövege) küldöm át egy recept.php fájl $szoveg változójának, mikor valaki rákattint a linkre. Ennek hatására megjeleníti az oldalon azokat a recepteket, amelyekben megtalálható a link szövege.
Egy link létrehozásánál működik is, azonban ha több linket hozok létre(lásd lentebb), akkor mindegyik linknél ugyanazt az eredményt hozza ki, mint az elsőnél.
Pl: az 'alma' linknél jól működik, de a 'bab' 'bacon' linkeknél is azt az eredményt hozza ki, mint az 'alma' linknél.


<form name="formom" action="index.php" method="post">
<input type="hidden" value="recept" name="fo" />
<input type="text" name="szoveg" class="input" value="alma" style="width:0;border-style: solid; border-width: 0" size="0">
<a href="javascript:document.forms['formom'].submit()" class="keresesitipp1">alma</a>

<input type="text" name="szoveg" class="input" value="bab" style="width:0;border-style: solid; border-width: 0" size="0">
<a href="javascript:document.forms['formom'].submit()" class="keresesitipp1">bab</a>

<input type="text" name="szoveg" class="input" value="bacon" style="width:0;border-style: solid; border-width: 0" size="0">
<a href="javascript:document.forms['formom'].submit()" class="keresesitipp2">bacon</a>
</form>
Azért így viselkedik, mert bármelyikre is kattintasz, mindig mind a 3-at elküldi.

A php meg nem szereti az azonos nevű elemeket.

1 megoldás a sok küzül. Tegyél fel egy rejtett mezőt (pl. szoveg2" néven, és a 3 link annak állítsa ba a value-ját alma, bab vagy bacon értékre, és ezt dolgozd fel.

Tehát a lényeg, hogy el kell küldened az űrlapba amit választottál méghozzá olyan elemben, amivel egyező nevű nincs másik.

Megpróbáltam, de továbbra sem működik...
Tudnál benne segíteni?
/A lényeg, hogy bármelyik linkre kattintok, az adott link szövegét adja át a recept.php fájl 'szoveg' változójának./
<form name="formom" action="index.php" method="post">
<input type="hidden" name="EztAdom" id="EztAdom" value="">
<input type="hidden" value="recept" name="fo" />
<input type="text" name="szoveg" class="input" value="alma" style="width:0;border-style: solid; border-width: 0" size="0">
<a href="javascript:document.getElementById('EztAdom').value='alma';document.forms['formom'].submit()" class="keresesitipp1">alma</a>

<input type="text" name="szoveg" class="input" value="bab" style="width:0;border-style: solid; border-width: 0" size="0">
<a href="javascript:document.getElementById('EztAdom').value='bab';document.forms['formom'].submit()" class="keresesitipp1">bab</a>

$_POST['EztAdom'] vagy üres, ha nem a linkkel küldték ela formot, vagy benne van a "link" (alma, bab, a harmadikat rádbízom)
Kipróbáltam, de mindig az utolsó linkre kattintás találati eredményét adja.(Pl:itt az 'alma' linknél is a 'bab' link találati eredménye jelenik meg)
És minek az edeményét nézed.

Mert a "szoveg" az továbbra is azt tartalmazza, hoszen azt nem javítottam.

Az "EztAdom" értékét nézd!
Kipróbáltam, de így sem sikerült.
Megadom a megjelenítés (recept.php) forrását alább...
Egy kicsit zavaros nekem, még kezdő vagyok....
A szokeres.php fájlból kell az értéket(pl:alma...) átadni a recept.php fájl 'name' változójának.
Előre is köszi...

<table width="100%" cellpadding="0" cellspacing="0">

<tr><td height="5">&nbsp;</td></tr>
<tr><td align="center" class="cim">A talált receptek</td></tr>
<tr><td height="20">&nbsp;</td></tr>
<tr><td>
<table width="100%" cellpadding="0" cellspacing="1">
<?
$feltetel=$_GET[feltetel];
if (isset($szoveg)) {
if (strlen($szoveg) >= 2) {
$feltetel="cim LIKE '%$szoveg%'";
} else { $nem="w"; }
} else { $feltetel="azon=$kiv1"; }
if (!isset($nem)) {
$szam=1;
$parancs = "SELECT * FROM recept WHERE ( $feltetel ) ORDER BY cim";
$eredmeny = mysql_query($parancs) or die(mysql_error());
while ($sor = mysql_fetch_array($eredmeny)) {
$szam++;
if ($szam==2) { print "<tr><td width=\"4%\">"; $szam=0; }
$id=$sor['id'];
$cim=$sor['cim'];
$nev=$sor['nev'];
?>
<td width="48%" valign="top" bgcolor="#F2DECC">
<a href="index.php?fo=receptreszlet&rec=<? print $id ?>
<? if (isset($kiv) and isset($kiv1)) { print "&kiv=$kiv&kiv1=$kiv1"; }?>
">
<font class="recept"><? print $cim ?></font></a>
<? if ($nev=="" or $nev==" " or substr($nev,0,5)=="it-it") {} else { print "<font class=\"kicsi\">&nbsp;".$nev." receptje. </font>";}
$van=1;
}

if (!isset($van)) { ?><tr><td height="30"></td></tr><tr><td align="center" class="kicsi">A keresési feltételnek nincs megfelelő recept.</td></tr><? }
?>
</table>
</td></tr>
<tr><td height="30">&nbsp;</td></tr>
<tr><td align="center"><a href="javascript:history.go(-1);">--- Vissza ---</a>

</td></tr>
</table>
<? } else {
?><tr><td class="menuf" align="center">A kereséshez legalább két betűre van szükség.</td></tr>
<tr><td height="30">&nbsp;</td></tr>
<tr><td width="100%">
<? include("keres.php");
?>

</td></tr>
</table>
</td></tr>
</table>
<?
}?>
Ezért írta, hogy a
$_POST['EztAdom']
értékét nézd.

De akkor a kedvedért:
<form name="formom" action="index.php" method="post">
<input type="hidden" value="recept" name="fo" />
<input type="text" name="szoveg" id="szoveg" class="input" value="alma" style="width:0;border-style: solid; border-width: 0" size="0">
<a href="javascript:document.getElementById('szoveg').value='alma';document.forms['formom'].submit()" class="keresesitipp1">alma</a>

<a href="javascript:document.getElementById('szoveg').value='bab';document.forms['formom'].submit()" class="keresesitipp1">bab</a>

<a href="javascript:document.getElementById('szoveg').value='bacon';document.forms['formom'].submit()" class="keresesitipp1">bacon</a>


...
</form>
És ezzel a kóddal az $_POST['szoveg']-ben lesz.

---
A
$feltetel=$_GET[feltetel];
esetén honnan jön a get értéke?
A $feltetel=$_GET[feltetel]; esetén a 'szoveg'-ből jön az értéke.
lásdrecept.php fájlban:

<?
$feltetel=$_GET[feltetel];
if (isset($szoveg)) {
if (strlen($szoveg) >= 2) {
$feltetel="cim LIKE '%$szoveg%'";
} else { $nem="w"; }
} else { $feltetel="azon=$kiv1"; }
if (!isset($nem)) {
$szam=1;
$parancs = "SELECT * FROM recept WHERE ( $feltetel ) ORDER BY cim";
...

Beírtam a kódot(alább - szokeres.php-ba) ahogy írtad, és mindig a 'bab' találati eredményeket mutatja

<form name="formom" action="index.php" method="post">
<input type="hidden" value="recept" name="fo" />
<input type="text" name="szoveg" id="szoveg" class="input" value="alma" style="width:0;border-style: solid; border-width: 0" size="0">
<a href="javascript:document.getElementById('szoveg').value='alma';document.forms['formom'].submit()" class="keresesitipp1">alma</a>

<a href="javascript:document.getElementById('szoveg').value='bab';document.forms['formom'].submit()" class="keresesitipp1">bab</a>

<a href="javascript:document.getElementById('szoveg').value='bacon';document.forms['formom'].submit()" class="keresesitipp1">bacon</a>


...
</form>


if (isset($_POST['szoveg']))
   {
   if (strlen($_POST['szoveg']) >= 2)
       {
       $feltetel=" cim LIKE '%".mysql_real_escape_string($_POST['szoveg'])."%'";
       }
     else
       {
        $nem="w";
        }
   }
  else
   {
   $feltetel=" azon=$kiv1"; // Honan van $kiv1?
   }
if (!isset($nem))
   {
   $szam=1;
   $parancs = "SELECT * FROM recept WHERE $feltetel  ORDER BY cim";
   echo $parancs;
....

Mit ír ki?
Ezt írja ki:

SELECT * FROM recept WHERE cim like '%bab%' ORDER BY cim

Akármelyikre kattintok (alma, bab, bacon), mindig a bab találati eredményét hozza ki.
Mikor rákattintok Pl: az alma linkre, akkor beteszi a kereső mezőbe, majd mikor bejön újra az oldal, akkor a bab találatok jelennek meg. ugyanígy a többi linknél is..
Tegyél egy
print_r($_POST);
sort a fájl elejére.

Mit ír ki?
Mindhárom linknél kattintáskor('alma', 'bab', 'bacon')ugyanazt írja ki:

A talált receptek

Array ( [fo] => recept [szoveg] => bab ) SELECT * FROM recept WHERE cim LIKE '%bab%' ORDER BY cimTable 'evon.recept' doesn't exist

---------------------
mikor rákattintok Pl: az 'alma' linkre, beteszi a kereső szövegmezőjébe az alma szót, majd mikor a találati oldal automatikusan megnyílik, adja a fenti eredményt.
Mutasd, hogy néz ki most a formod:
<form ...

</form>

és a linkek.
A form (szokeres.php-ban):

<form name="formom" action="index.php" method="post">
<input type="hidden" value="recept" name="fo" />
<input type="text" name="szoveg" id="szoveg" class="input" value="alma" style="width:0;border-style: solid; border-width: 0" size="0">
<a href="javascript:document.getElementById('szoveg').value='alma';document.forms['formom'].submit()" class="keresesitipp1">alma</a>
<input type="text" name="szoveg" class="input" value="bab" style="width:0;border-style: solid; border-width: 0" size="0">
<a href="javascript:document.getElementById('szoveg').value='bab';document.forms['formom'].submit()" class="keresesitipp1">bab</a>
<a href="javascript:document.getElementById('szoveg').value='bacon';document.forms['formom'].submit()" class="keresesitipp1">bacon</a>

</form>
Mit írtam?

Azért így viselkedik, mert bármelyikre is kattintasz, mindig mind a 3-at elküldi.

A php meg nem szereti az azonos nevű elemeket.


Cseréld már ki az űrlapot a 2010.03.12. 17:54 formára:

<form name="formom" action="index.php" method="post">
<input type="hidden" value="recept" name="fo" />
<input type="text" name="szoveg" id="szoveg" class="input" value="alma" style="width:0;border-style: solid; border-width: 0" size="0">
<a href="javascript:document.getElementById('szoveg').value='alma';document.forms['formom'].submit()" class="keresesitipp1">alma</a>

<a href="javascript:document.getElementById('szoveg').value='bab';document.forms['formom'].submit()" class="keresesitipp1">bab</a>

<a href="javascript:document.getElementById('szoveg').value='bacon';document.forms['formom'].submit()" class="keresesitipp1">bacon</a>


...
</form>

Csak 1 "szoveg" nevű elem legyen.
Kicseréltem és mindhárom esetben az 'alma' találati értékét adja.

form name="formom" action="index.php" method="post">
<input type="hidden" value="recept" name="fo" />
<input type="text" name="szoveg" id="szoveg" class="input" value="alma" style="width:0;border-style: solid; border-width: 0" size="0">
<a href="javascript:document.getElementById('szoveg').value='alma';document.forms['formom'].submit()" class="keresesitipp1">alma</a>

<a href="javascript:document.getElementById('szoveg').value='bab';document.forms['formom'].submit()" class="keresesitipp1">bab</a>

<a href="javascript:document.getElementById('szoveg').value='bacon';document.forms['formom'].submit()" class="keresesitipp1">bacon</a>


...
</form>

Belépés
E-mail cím:
Jelszó:

RSS források
-Hírek
-Cikkek
-Fórumok
-Állás/munka
Top pontgyűjtők
»Micu1.030
»Interlock280
»mezofi150
»Pitta_100
»Frostech0100
»szbzs.2100
»Riha60
»Akhiles50
»mrchandra50
»Bakter50
Top wikieditorok
»Sting
»Doi
»FlamingClaw
»Argathron
»Csaboka2
»Vodka
»Joexy
»Ivn
»Balucinho
»Kelemzol
» ugrás a wikire
A nap kifejezései
»Algoritmus
»Hogyan kezdjem el
»Perl
» ugrás a wikire
Hírek
»Megérkezett a PostgreSQL 9.0 kiadásra jelölt változata
»Letölthető az új Rad Studio XE és Delphi XE
»Function-X digitális művészeti találkozó és demoscene party
»Webfejlesztőknek szóló közösségi oldalt indított a Microsoft
»Letölthető a hardvergyorsított Chrome 7 első fejlesztői kiadása
» több hír
PC Fórum hírek
»Itt az első kép az AMD nyolcmagos processzoráról
»"Szuperdizájnos" érintő-egeret mutatott be a Microsoft
»Szabadalmaztatta a számítógép kikapcsolását a Microsoft
»Vírusriadót váltott ki a webezőknél a Google
»Ingyen iWiW-ezhetnek mobiljaikról a T-Mobile-osok
»Automatikusan kiválogatja legfontosabb leveleink a Google
»OOo4Kids - ingyenes Office csomag gyerekeknek
»Új, gyorsabb Core i3 és Pentium processzorokat jelentett be az Intel
Tagi blogok
»PSP
»Első Programozó
»USB
»PHP, mint sablonmotor egyszerűen