arpsoft Posted February 28, 2010 Posted February 28, 2010 Pontosan mi a hiba? Megnézted, hogy nem azzal van a gond, hogy a $_POST tömb nemlétezõ elemére akarsz hivatkozni? Pl ha egy form-ban egy checkboxot nem kattintasz be, akkor az a vezérlõ egyáltalán nem fog szerepelni a $_POST tömbben!
[OP]Destroy-man Posted February 28, 2010 Posted February 28, 2010 TextBoxokbol és Textareakbol áll a form. Nekem az is jó, hogyha valahogy be tudnám állítani azt, hogyha nincs értéke a változónak, akkor kapja meg a NULL értéket.
KGigi Posted February 28, 2010 Posted February 28, 2010 Az a baj, amit arpsoft mond. A kitöltetlen mezõk nem fognak szerepelni a $_POST-ban. Meg kéne csinálni JS-ben, hogy a kitöltetlen mezõk kapnak valami egyedi tartalmat, mondjuk § jelet, vagy ilyesmit. Aztán a feldolgozás során lekéred, és ha ez, akkor az adatbázisba NULL-t írsz.
Pjotr Posted February 28, 2010 Posted February 28, 2010 Nem értek a PHP-hoz, de mi van akkor, ha egy if-fel megvizsgálja, létezik-e az adott indexû elem? Este van!
sandor81 Posted March 1, 2010 Posted March 1, 2010 Sziasztok! Spányik Balázs leírása alapján már egy párszor felpakoltam az Apache+PhP+MySQL kombinációt a munkahelyi és a saját gépemre is. Tegnap megint újra kellett húzzam az otthoni gépet, és neki láttam újra felrakni a fentebb említett kombót. A baj csak az, hogy mikor aPhP csatlakozni akar a MySQL adatbázishoz, akkor ezt kapom: Fatal error: Call to undefined funciton mysql_connect() Ami érdekes, mert ezen a gépen meg megy.... Megjegyezném, hogy a beállítások és a könyvtár struktúra a két gépen teljesen azonos. Na a lényeg, hogy 5-6-szor újra raktam az egészet, mikor is meguntam és csináltam egy php infó állományt. <?php phpinfo(); exit(); ?> Nos ekkor azt látom az otthoni gépen, hogy nincs betöltve konfigurációs fájl, míg az irodai (mûködõ) gépen van. A környezeti változóknál megvan a PHPRC változó és a D:\php könyvtárra mutat, ahol a php.ini van. A d:\php a path-ban is benne van mégse akarja az igazságot. Mit tegyek?
arpsoft Posted March 1, 2010 Posted March 1, 2010 Elsõre is a d:\php könyvtárba telepítetted a php-t?
sandor81 Posted March 1, 2010 Posted March 1, 2010 Szia! Elsõre nem, de már nem tudom, hogy hova .... Már ott tartok, hogy mindjárt megint újra húzom a Windowst is ....
payskin Posted March 1, 2010 Posted March 1, 2010 Azt kéne megnézni, hogy az extension könyvtár jól van-e beállítva és a MySQL extensionök be vannak-e kapcsolva.
[OP]Destroy-man Posted March 2, 2010 Posted March 2, 2010 Nem lenne egyszerübb EasyPHP-t telepíteni? Abban benne van mind a 3, és magátol konfigurálja is õket, hogy bárhova is telepítsed, mûködjön.
KGigi Posted March 4, 2010 Posted March 4, 2010 Nem értek a PHP-hoz, de mi van akkor, ha egy if-fel megvizsgálja, létezik-e az adott indexû elem? Este van! Asszociatív tömbként kapja, de mûködõképes.
Pjotr Posted March 4, 2010 Posted March 4, 2010 Tegnap kipróbáltam (most hegesztettem először űrlapot+php-t), megy, nekem elég is.
robb20202 Posted March 10, 2010 Posted March 10, 2010 (edited) Tisztelt Spányik Balázs! Az Ön cikkjét olvastam el és vittem végig lépésről lépésre. Ami végülis sikerült is. Nagyon nagy kár, hogy a PHPmyadminal nem fejelte meg a cikket. Hatalmas segítség lett volna. A problémám a következő. Minden fent van ahogy kell. Írom a verziószámokat: Apache 2.2.15 PHP: 5.3.2 VC9 x86 Thread Safe Mysql: mysql-essential-5.1.44-winx64 Win 7 64bites verziót használom. A probléma: Elvileg kellene lennie a Mysql-nél egy olyan kis ikonnak mint az apache2-nél, a neve: WinMySQLadmin de a bin-ben ilyen nincs csak mysqladmin ami nem ugyanaz. Mit rontottam el? Rossz verziót töltöttem le? A másik probléma, hogy a PHPmyadmin mikor beteszem a web/phpmyadmin könyvtárba (bemásolom a zip állomány tartalmát) akkor egy ilyen hibaüzenetet dob vissza: Nem tölthető be a mysql kiterjesztés. Ellenőrizze a PHP beállításait. - Dokumentáció A PHP.ini-ben az extensionnál engedélyezve van mind a három dll. Mysql.dll Mysqli meg még egy harmadik. A Path-ban minden ott van aminek lennie kell. Mi lehet a probléma? Ön a végső segítségem, mivel senki máshoz nem tudok fordulni. Tudom, hogy régi a cikk de kérem segítsen nekem. Edited March 10, 2010 by robb20202
Pjotr Posted March 10, 2010 Posted March 10, 2010 Nekem is van egy olyan környezetem, amit Balázs útmutatása alapján építettem, phpmyadmin is élesítve van. Annyit csináltam, hogy készítettem neki egy phpmyadmin mappát az apache webkönyvtárban, beleraktam a fájljait, majd be is léptem. Az elsõ oldalon kiabált egy plusz opcióért, amit bekapcsoltam, utána ment minden. Egyébként: virtuális gépen linuxhoz mit szólsz? Azon talán egy kicsivel egyszerûbb.
robb20202 Posted March 10, 2010 Posted March 10, 2010 sokan mondták már, hogy Linux alatt jobb gyorsabb etc... Az is sorra fog kerülni. De mivel én megrögzött vagyok és igazából szeretném végig vinni amit elkezdtem ezért a win64 alatt való beállításokat feltétlen végig szeretném vinni. Kitartó vagyok de most kelleni fog egy kis segítség. Elképzelhetõ hogy nem a megfelelõ verziókat töltöttem le? A fent említett egyik hiba szerintem ebbõl is adódhat, lásd: WinMySQLadmin hiánya? A másik hibát nem tudom mire vélni kezdõ mivoltom miatt. Nem tudom hol keressem a hibát. Apache látja a PHP-t, legalábbis mikor a php teszt filet lefuttatom akkor az összegzõ tábla simán megvan. De a PHP myadmin valamiért nem Mûködik.
payskin Posted March 11, 2010 Posted March 11, 2010 A helyzet nagyon egyszerű: ha a phpinfo()-ban látszódnak a bekapcsolt mysql extensionök, akkor valóban telepítve vannak és a phpMyAdminnal van zűr. Ha a phpinfo()-ban nem látszódnak, akkor a php telepítésével van zűr. phpinfo(): <?php phpinfo(); ?> A MySQL-es problémára nem tudom a megoldást, lévén én 64 bites verziót eddig nem telepítettem semmiből, és a 32-esben sem használtam soha a fent emlegetett WinMySQLadmin dolgot, úgyhogy ezt passzolom...
kléni Posted March 12, 2010 Posted March 12, 2010 Lekérek egy cellába korábban beírt dátumot. Ezt hogy tudnám "ma" "tegnap"-ra állítani, ha az ma vagy tegnap volt? A ma még oké is, összehasonlítom a mai dátummal, de a tegnaphoz el kéne venni a napból 1-et, amit már nem tudok hogy kell.
KGigi Posted March 12, 2010 Posted March 12, 2010 mktime A tegnap például: $tegnap = mktime(0, 0, 0, date("m") , date("d")-1, date("Y"));
kissgy1028 Posted March 13, 2010 Posted March 13, 2010 Szasztok! Segítségre lenne szükségem, mivel elég kezdõ vagyok a PHP-ben. Van egy adatbázisom, amiben felhasználók adatai vannak. A felhasználóknak készítettem egy bejelentkezõ oldalt a weblapomra, de vmiért nem mûködik. Ezt a hibeüzenetet kapom: Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\xampp\htdocs\Honlap\includes\adatbazis.inc:1) in C:\xampp\xampp\htdocs\Honlap\belepes_feldolgozas.php on line 16 Itt vannak a php kódok is: belepes.php: <html> <head> <title>Belépés</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-UTF-8"> </head> <body> <p>Bejelentkezés</p> <form name="belepes" method="post" action="belepes_feldolgozas.php"> <table width="400" border="0" cellspacing="0" cellpadding="10"> <tr> <td width="200"><div align="right">Felhasználó név</div></td> <td width="200"> <div align="left"> <input name="nev" type="text" maxlength="30"> </div></td> </tr> <tr> <td><div align="right">Jelszó</div></td> <td> <div align="left"> <input name="jelszo1" type="password" id="jelszo" maxlength="15"> </div></td> </tr> <tr> <td colspan="2"><div align="center"> <input type="submit" name="Submit" value="Belépés"> </div></td> </tr> <tr> <td colspan="2"> <div align="center">Regisztráció</div></td> </tr> </table> </form> </body> </html> belepes_feldolgozas.php: <?php session_start(); $nev = $_POST['nev']; $jelszo = $_POST['jelszo1']; if (!empty($nev) && !empty($jelszo)) { include('includes/adatbazis.inc'); $_SESSION['nev'] = ""; is_user($nev,$jelszo,$van_e); if (!$van_e) { header("Location:belepes.php"); } else { $_SESSION['nev'] = $nev; header("Location:belepes2.php"); } } else { header("Location:belepes.php"); } ?> adatbazis.inc: <?php $kapcsolat = mysql_connect('localhost','root',''); if (!$kapcsolat) die ("Nem sikerült kapcsolatot létesíteni a szerverrel!"); mysql_select_db ('regisztracio',$kapcsolat) or die ("Nem sikerült kapcsolódni az adatbázishoz!" .mysql_error() ); function is_user($nev,$jelszo,&$van_e) { global $kapcsolat; $eredmeny = mysql_query("SELECT * FROM felhasznalo WHERE nev='$nev' and jelszo='$jelszo'",$kapcsolat); $sorok_szama = mysql_num_rows($eredmeny); if ($sorok_szama==1) { $van_e=true; } else { $van_e=false; } } mysql_close(); ?> belepes2.php: <?php session_start(); ?> <html> <head> <title>Belépés2</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php $nev=$_SESSION['nev']; if (!empty($nev)) { include('includes/adatbazis.inc'); print "<p>Üdvözöllek $nev</p>"; print "<a href=kielepes.php>"; print "Kilépés"; } else print "Nem sikerült belépni!"; ?> </body> </html> kilepes.php: <?php session_start(); $_SESSION['nev']=""; header("Location: belepes.php"); ?> Elõre is köszönöm a segítséget! Üdv.!
kléni Posted March 13, 2010 Posted March 13, 2010 az adatbázis.inc nem php, vagyis (ha jól tudom) nem fut le benne a php rész. mentsd el adatbazis.inc.php néven mondjuk, és azt include-old, akkor is ugyan úgy fog menni. a mysql_close-ba bele kell írni azt, hogy mibõl lép ki, vagyis amire kapcsolódtál (bár én sose használtam ezt, nélküle is megy) Ja, és kilépés.php. usent($_SESSION['nev']);
arpsoft Posted March 13, 2010 Posted March 13, 2010 Az adatbazis.inc elsõ if utasításához tegyed ki a kapcsos zárójeleket. A gond az, hogy megcsinálja a die()-t az adatbazis.inc-ben, ez elküldi az össze header információt és lezárja a html-t, majd ezután akarsz header függvénnyel oldalt váltani.
kléni Posted March 13, 2010 Posted March 13, 2010 Ezek szerint az inc-ben lefut a php kód? Még nem használtam, csak egyszer olvastam róla.
payskin Posted March 14, 2010 Posted March 14, 2010 Hadd kérdezzem már meg, hogy miért használsz külön -eket az igazításhoz? A -nek éppen úgy van align attribútuma, mint a -nek, amit teljesen feleslegesen beleraksz. Jó, tudom, nem HTML témában vagyunk... ...de ha már táblával csinálsz oldalakat, legalább azt csináld jól, hm?
arpsoft Posted March 14, 2010 Posted March 14, 2010 @kléni: Nem, nem az inc-ben fut le a kód, hanem az azt beillesztő php-ban. Az include olyan, mintha beszúrnád a fájl forrását abba fájlba, ahonnan hívod.
Pjotr Posted March 15, 2010 Posted March 15, 2010 Van egy ilyen nevem: />HaN</ Adatbázisban 1:1-ben így van benne, kereséskor meg is találom, de mikor ki szeretném íratni, akkor csak ennyit pakol ki: />HaN Mi lehet ennek az oka? Beírásnál addslashes(), kiírásnál stripslashes() mûködik, de ezzel nem is kezdenek ezek a függvények semmit se.
payskin Posted March 15, 2010 Posted March 15, 2010 http://docs.php.net/manual/en/function.htmlentities.php A html-ben a zárótagek kezdődnek (hehe, elromlott az altgr gombom)...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now