Jump to content
GSForum - Segélyvonal

PHP kérdésem van


Recommended Posts

Posted
Ebben a kódban szerintetek mi a hiba?

 

1. nincs lezárva a form

2. ezek függvény hívások akarnak lenni a form-ban?

3. legyen 1 form ahol bekéred az adatokat, és legyen a print ahol kiírod a függvényhívás eredményeit

Posted
A kérdés igen egyszerű. PHP tud HTML-t is generálni, vagy csak XHTML-t?

A PHP önmagától nem generál semmit. Az a kód generál bármit is, amit te megírsz. Ha úgy írod meg, HTML-t generálsz, ha úgy írod meg, akkor XHTML-t De nem okvetlenül kell, hogy bármit is generáljon, ha mondjuk az oldalnak csak bizonyos részeit akarod PHP-val megjelentetni, akkor az egész oldalad lehet HTML vagy XHTML és benne az a pár rész PHP.

 

Ami meg a hivatkozott XHTML "problémát" illeti:

 

Ha XHTML-ben írjuk meg oldalainkat, akkor mindenképpen tudnunk kell arról, hogyan kell helyesen használni az XHTML-t application/xhtml+xml típusban, még akkor is, ha mindig text/html típusban küldjük vagy küldtük eddig XHTML oldalainkat!

Igaza is van az embernek, meg nem is. Simán csinálhatsz XHTML 1.0 Transitional vagy Strict oldalakat text/html módban, ez teljesen elfogadott, gyakorlatilag mindenki ezt csinálja, aki XHTML-t használ. Igen, tény, hogy az igazi XHTML-t application/xhtml+xml módban kéne használni. Úgy volna szép. Pláne kezdőként nem kell ezzel foglalkozni.

 

Egyébként meg teljesen tök mindegy mit használsz, a lényeg, hogy tartsd be a szabályait.

 

-----------------------

 

@wemen: ahogy így elnézem, sajnos az egésznek semmi értelme nincs. :(

 

Egyrészt a$_POST globális változó, nem kell paraméterként átadni egy függvénynek. Másrészt a függvény paramétere a függvény hívásakor kap értéket, ehhez képest te a $_POST-oknak akarsz így értéket adni, hogy HTML kódrészleteket küldesz beléjük? Esetleg fussunk neki onnan, hogy mit szerettél volna csinálni.

Posted

Egy kis számoló programot. PHP-val. És azzal amit mondtál, arra célzol hogy elég megadnom a $_POST-ot a function zárójelében?

Posted

Ez így nagyon össze-vissza van kódolva.

Alapvetõ dolg, hogy a globális változókat (ahogy Balázs is írta) nem kell paraméterként átadni.

Ha már mindenképpen paraméterátadást szeretnél csinálni, akkor legyen a függvény fej valami ilyesmi:

function plusz($a,$b)

aztán belül is a globális változók helyett $a és $b szerepeljen.

 

A form jelen állapotában nem csinál semmit, mivel nincs submit gombja, nincs amire elinduljon a POST.

 

További alapvetés, hogy a kód nem árt, ha áttekinthetõ. Ez most nem az és szerintem Te is ezért kavarodsz bele. Én személy szerint, ha php-t írok egy oldalba, akkor lehetõség szerint az egész oldalt, de legalább a php által elõállított részt a php printf utasításával küldöm ki, nem pedig zárom és nyitom a szkriptet. Persze lehet, hogy ez csak az én programozós agyam szüleménye, de nekem így jobban áttekinthetõ.

 

 

Posted

Köszi a segítséget. Akkor html és majd jön a PHP is. mert pl azt nem tudtam, hogy lehet csak bizonyos részeket is PHP-ben megírni. Iagzából azért lenne jó, mert ha új hírt adok hozzá, vagy új feltöltést akkor ne keljen a táblázatba, vagy szövegrészbe mindig egyenként kézzel beírni a forrást, hanem autómatice csapja hozzá ha feltöltöm

 

THX a segítségért.

Posted

Az arpsoft által elmondottakhoz annyit tennék hozzá, hogy szerintem látványosan nem tudod szétválasztani a feladat PHP-t és HTML-t igénylő részeit. A dolog teljesen értelemszerűen két részből áll: egy adatbeviteli részből és egy feldolgozó részből.

 

Az adatbeviteli rész ebben az esetben annyira egyszerű, hogy simán megoldható csak HTML-ből. Ez volna az első feladat, hogy bármiféle PHP használata nélkül rakjál össze egy szabályos HTML vagy XHTML oldalt benne egy űrlappal és annak mezőivel. (Ez egyébként a tanulásban is az első lépés. Amíg a HTML alapok nincsenek meg, teljesen felesleges programozással vesződni.)

 

Ha ezzel megvagy, és minden csodálatos, akkor írj egy teljesen különálló PHP programot ami tartalmaz egy összeadó, kivonó, stb. függvényt (lásd arpsoft javaslatát), de semmi köze nincs a korábban megcsinált HTML űrlaphoz, önmagában működjön. Teszteld le őket általad beírt számokkal.

 

Aztán ha ezzel is megvagy, akkor kapcsold össze a kettőt és írd meg azt a pár sort, ami a fórumból jövő adatokat átpasszolja paraméterként a függvényeidnek. (Majd ez lesz az a rész, ami a $_POST tömböt kezeli.)

 

Kész is vagy.

Posted (edited)

Már csak azt nem értem, hogy egy sima összeadáshoz vagy kivonáshoz minek külön függvényt csinálni.

<?php
$_POST['a'] = $a;
$_POST['b'] = $b;
$c = $a + $b;
print "A két szám összege: " . $c;
?>

Hát, nagyjából ennyi két szám összegének a kiíratása.

 

Én inkább így közelíteném meg:

1. Csinálok egy HTML űrlapot, ami 3 mezőt tartalmaz, két mező közül az egyik (a középső pl.!) egy legördülő lista, amiben a műveleti jelet ki lehet választani.

2. Csak azután agyalok azon, hogy a 3 mezőben lévő paramétert átadjam egy függvénynek, ami a műveleti jel alapján kiválasztja, hogy mit is csináljon...

 

Csak gondolatmenet szintjén: (>>Ajánlom elolvasni hozzá<<) ;)

 

fuggveny szamol ($elsoszam, $muvelet, $masodikszam) {

kapcsolo ($muvelet) {

eset1 "-":

$eredmeny = $elsoszam - $masodikszam;

visszaad $eredmeny;

megszakit;

... stb.

}

}

Edited by h.arpad
Posted

Alapvetően igazad van, de egy másik probléma/feladat megoldása az eredeti helyett, nem biztos, hogy segít. Mint ahogy az sem, ha megoldod a problémád a kezdő helyett. ;)

 

Saját függvény írásának tanulásakor általában az a típusfeladat, hogy készítsünk függvényt valami rém egyszer dologra, mint például két szám összeadása. Nyilván senki nem a jókedvében ír erre programot. Még ha az illető addig mindent értett is a témából, a saját függvény írása egy olyan új paradigma, amit nem egyszerű egyből megérteni, elsajátítani, pláne alkalmazni (paraméterek, lokális, globális változók, visszatérési érték stb.)

 

Ráadásul a kódod még "hibás" is! :hááát:

Posted

Én a gyorstalpalás híve vagyok PHP-ból, mert annyi minden van, amit még érdemes megtanulni benne (pl a switch használata... ;) ) Másrészt wemen problémája úgy néz ki nem a kigondolásban, hanem a kivitelezésben van. :)

 

Általánosságban igen, azt kellett volna mondanom, hogy ne elégedjen meg ezzel, készítsen olyan függvényt, ami kiszámolja az eredményt akkor ha 3 tetszõleges paramétert ad. (Némi korlátok között, persze.)

Posted

Persze hogy a kivitelezésben van. Minden kezdőnek a kivitelezéssel van problémája: fogalma nincs hogyan kell megoldani a feladatot. A gyorstalpalás működhet, ha már tudsz programozni és csak a nyelvjárást kell megtanulnod. Ha az alapok még nincsenek meg, akkor nincs hova, mivel gyorstalpalni.

 

$_POST['a'] = a$;

??? ;) Ja és most látom, hogy a dollárok mindenhol rossz oldalon "ülnek". Akkor nemcsak "hibás", de hibás is.

Posted

Lehet alap a kérdésem, de nem találtam rá választ ( a google most nem volt a barátom...)

Mit jelent egy hivatkozásban a % jel?

 

Nem tudom, hogy PHP kérdés-e ez?

 

 

Posted

Azt jelenti, hogy a következõ két jegy egy speciális karakter kódja lesz. Paraméterekben például a %20 jelenti a space karaktert.

Posted

Hadgyjuk, a PHP nekem nem megy. Nem tudok még egy ilyen kis semmiséget sem megcsinálni. Ehhez is béna vagyok. Na mindegy. Azért köszi mindenki.

Posted

Én mondtam, hogy alapok nélkül nem fog menni. De egy biztos: feladni a legegyszerûbb. :hááát:

Posted

@arpsoft: Köszi a gyors választ! :D És ennek van valamilyen kódtáblája?

 

@wemen: Balázsnak igaza van! Feladni a legegyszerûbb! Én is csak natúr HTML-t tanultam még annak idején, de nem adtam fel, hogy mást is megtanuljak. Így már kapisgálom a PHP-t is! Csak kitartás! :fogatlan:

Posted

Persze, általában a % utáni két karakter az ASCII tábla karakterkódja 16-os számrendszerben. Lásd az elõbbi példát: %20 -> 32 -> space

 

De vannak bonyolultabb kódok is, mint például:

%26%23337%3B = õ

%26%23336%3B = Õ

%26%23369%3B = û

%26%23368%3B = Û

 

Posted
Ja és most látom, hogy a dollárok mindenhol rossz oldalon "ülnek". Akkor nemcsak "hibás", de hibás is.

Javítva. :pislog:

Posted
Javítva. :pislog:

Akkor már csak "hibás".

Posted
:pislog: Ja, én azt hittem, hogy a $_POST-ban érkezõ adatokat akarod összeadni, de ezek szerint a $_POST-ot csak adattárolásra használod. Meglehetõsen szokatlan, de végül is mûködik. ;)
Posted

Teljesen más hibára gondoltam. Mindegy, azért kijavítottam. :lol:

Posted

Akadt egy olyan problémám, hogy a php kódom nem olvassa ki az adatokat az adatbázisból. Íme a kódrészlet:

include("connect_db.php");
  $sel_db_lang = @mysql_query("SELECT * FROM contact2 WHERE id='1'");
  $sel_db_lang_array = @mysql_fetch_array($sel_db_lang, MYSQL_ASSOC);
  $contact1 = $sel_db_lang_array["$lang"];

A php semmilyen hibaüzenetet nem küld, tehát valami mysql probléma van. Csak éppen azt nem értem, hogy miért, hiszen ugyanezt a kódot használom a többi aloldalon is és mindenhol máshol mûködik. Külön phpMyAdminban is lefuttattam a kérést és ott is minden rendben volt.

Posted

Én úgy emlékszem a mysql_query-nek kell egy kapcsolat azonosító is. Vagy ez egy saját függvény?

Posted

Úgy tudom, az a kapcsolat azonosító nem kötelezõ paraméter, de most kipróbáltam azzal együtt is. Sajnos továbbra sem mûködik a dolog.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...