Kezdőoldal » Számítástechnika » Programozás » Nos, akkor hogy is lesz ez...

Nos, akkor hogy is lesz ez működőképes? Továbbá lehetséges-e a indexelésben a karakterek közt az alsó aláhúzás? Pl: $hun[1_0];

Figyelt kérdés

<?php

$input=$_GET['input']; // alapértelmezetten a textarea, azaz a beviteli szövegmező neve, ezen szövegmezőbe kerül a forrásnyelvi fordítandó szó

$output=$_GET['output']; //célnyelvi szöveg, ami kiirandó, mondjuk rejtett keretű táblázatba


$forrasnyelv=$_GET['forrasnyelv']; //amely nyelvről kell a fordítás!!

$celnyelv=$_GET['celsnyelv']; //Amely nyelvre kell a fordítás!!


$hun=$_GET['hun'];

$eng=$_GET['eng'];


$hun = array(); //nyelvi szókészlet, szókincs, amelyről vagy amely nyelvre fordítunk

$hun[0] = "magyar";

$hun[1] = "fiú";

$hun[2] = "lány";

// ...


$eng = array();

$eng[0] = "angol";

$eng[1] = "boy";

$hun[2] = "girl";

// ...


// fontos, hogy az indexek megegyezzenek!


$input = ""; // ezt az űrlapból, az űrlapon levő beviteli szövegmező, alapértelmezetten textfield, illetve input neevet kap, olvasstatjuk ki, például a fordítandó (magyar) szzó: "lány"

$index = array_search($input, $hun); // ez megkeresi a "lány" indexét a $hun tömbben; false-t ad vissza, ha nem találja!

if ($index !== false)

{

$output = $eng[$index];

}

else

{

$output = null; // A szótárban nem található a kért szó.

}

?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " [link]

<html xmlns=" [link]

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Untitled Document</title>

</head>


<body>


<form action="szotar_forditas.php" method="get">

<table width="200" border="1">

<tr>

<td>forrásnyelv

<select name="forrasnyelv">

<option value="Magyar">magyar</option>

<option value="angol">angol</option>

<option value="spanyol">spanyol</option>

--Válassz!--

</select>

célnyelv

<select name="celnyelv">

<option value="Magyar">magyar</option>

<option value="angol">angol</option>

<option value="spanyol">spanyol</option>


--Válassz!--


</select>


</tr>

<tr>

<td><textarea name="input">ide kerül a fordítandó szó, szöveg</textarea></td>

</tr>

<tr>

<td><input name="forditas" type="button" value="fordítás" /></td>

</tr>

</table>

</form>


</body>

</html>



#php #index #input #array #texfield #listmenu
2015. febr. 11. 07:08
 1/7 anonim ***** válasza:

Ismerős a kód egyes részei, mintha én írtam volna egy másik kérdés alá :)

Egyébként a $_GET['hun'] és a $_GET['eng'] értéke elveszik, mert a $hun és az $eng változót felülírod...


A kérdésedre válaszolva:

Tömb indexe vagy szám, vagy szöveg. Szövegben lehet természetesen aláhúzás karakter is. De az olyanokat, mint a példád (0_1) idézőjelek közé kell írni:

'0_1' vagy "0_1"

2015. febr. 11. 09:37
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:

És a magyarázat: számmal nem kezdődhet azonosító.

(Azonosító = változó neve, függvény neve, konstans neve, stb.)

2015. febr. 11. 09:39
Hasznos számodra ez a válasz?
 3/7 Drone007 ***** válasza:

Sőt ez is működik:

$valtozo["Ez a változó azonosítója, sőt még ez is"] = "Értéke";

2015. febr. 11. 11:16
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:

AIgen, a korábban kapott válaszból emeltem be és hoztam együtt vissza a html-es résszel együtt, mert többnyelvűségben gondolkodom, akár idegennyelvről idegennyelvre, ennek okán szükségét érzem, hogy a leendő felhasználó megjelölhesse mely nyelvű szótárt , szótárpárt , nyelvpárt használja, igy lesz forrásnyelvi és célnyelvi, mindkettőt be , meg kell jelölni, máskülönben honnan tudja a program, mely szótárban keresse az idegennyelvi megfelelőt ?

Ezért jelent számomra még nehézséget. Vannak ismereteim, csak a gyakorlatba átültetnem még mindig nagyon nem akar menni számomra, nem értem miért.

2015. febr. 11. 12:10
 5/7 anonim ***** válasza:

Szerintem kezd el magadtól írni az elejétől, és csak egy nyelvre koncentrálva. Mondjuk angol -> magyar vagy fordítva. Egyelőre még az oda - vissza sem lényeges, csak egy irány elég lesz egyelőre.


A hogyan persze mindig kérdés.


Először is, a GET és a POST közti különbséget kell megérteni. A GET a címsorban adja át az információt a POST meg úgymond a "háttérben".


Aztán, előbb inicializáld a változókat annak megfelelően, hogy mire lesz szükséged. Nyilván mindenképpen kell majd egy $kerSzo vagyis a keresett szó, aztán kell egy $engTomb (később egy file), amiből kikeresed a szót, ehhez kell egy for vagy while ciklus, ami addig keres, amíg meg nem találja a keresett szót. Bár ha ügyesen csinálod meg a tömböt, akkor nem feltétlenül kell.


Például:

$kerSzo = 'Kutya';


$engTomb = array(

"Alma" => "Apple",

"Auto" => "Car",

"Macska" => "Cat",

"Kutya" => "Dog"

);


$talSzo = $engTomb[$kerSzo];


echo $talSzo;


Nyilván itt lehet kötekedni, "mi van, ha KuTyA formában adja meg", de most szerintem a fő cél, hogy előbb a fordítás menjen.


Aztán ott a html is. Ha get formában akarod elküldeni, akkor érdemes utánanézned, hogy milyen formában szokták átadni az adatokat geten keresztül. Általában kellenek elválasztó karakterek, hogy azért a kód is tudja, hogy mi - mettől - meddig terjed.

2015. febr. 12. 21:19
Hasznos számodra ez a válasz?
 6/7 A kérdező kommentje:

Mondjuk én is gondoltam ilyenre alapból, indulásból, hogy keresett meg talált szó, csak én azokat

forrásnyelvi

és célnyelvi -nek neveztem el , azaz azzal probálkoztam, hogy

$forrasnyelvi

$celnyelvi

és ezért ezt a kettőt a listához gondoltam hogy kell tenni, amiben a forrásnyelv és célnyelv megnevezése található és megjelölhető, hogy tudja a program, mely két szótárt vegye elő.

Csak nekem ezzel a feltétel és ciklusírással vannak gondjaim, nehézségeim pont :(

illetve hasonlóképpen a megjelenítést is , hogy a beviteli mezhőben szerepel az űrlapon ugye a keresett szó forrásnyelvi megfelelője, azaz aminek keresem az idegennyelvű párját,

a talált szó, illetve célnyelvi szó pedig amit keresek, amit várok megjelenítenni.

Vagyis mind a lilst menük, mind a beviteli mező és az a felület, amiben a megjelenítendőnek kell megjelenni, együtt kell tudnia működni, érteni egymást

Na ez nehéz, ami nekem probléma.

Lehet, az sem mindegy, hova teszema tömböt a programon belül, mert van olyan probálkozásom, hogy már kiírja, hogy "null", vagyis a kivételes, hibás esetet, amikor nem találja a keresett szót, de nem értem, miért nem találja alig 3 szópárnál sem :D ez vicc. :D ha ki tudta írni, hogy "null", akkor miért nem találta a felette levő megfelelő szót???

2015. febr. 14. 08:37
 7/7 anonim ***** válasza:

1. Ha ennyire nem megy még a próbálkozás (te írtad, hogy a ciklussal meg a feltételekkel is gondjaid vannak), akkor előbb szerintem az alapoknak nézz utána.

Én nemrég végignyomkodtam itt a PHP-s leckéket:

[link]


És nem olyan rossz, nyugodt szívvel tudom ajánlani. Ha tudsz angolul, vagy veszed a fáradtságot, hogy kiszótárazd a magyarázatokat, akkor hasznos tud lenni.


2. Ha valami nem úgy működik, ahogy várod, akkor el kell kezdeni hibát keresni, azaz debugolni. Ehhez PHP-ban van egy jó kis függvény, amit én előszeretettel használok:

var_dump()

Ez mindent kiír a paraméterként kapott változókról, stb. (típus, érték)


Példa:

$x = 42;

var_dump($x); // ez kiírja, hogy ez egy int típusú változó, aminek 42 az értéke


A te esetedben a következőket ajánlott megvizsgálni:

- mit kap az űrlaptól a PHP

- az szerepel-e PONTOSAN ÚGY a tömbödben (kisbetű-nagybetű is számít!)

2015. febr. 14. 19:10
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!