h.arpad Posted June 3, 2007 Posted June 3, 2007 Ha megvannak a tábláid, akkor az előző kód jónak tűnik. Ugyanúgy cseréld fel a globális tömböket "mezei" változókra. Ha MySQL hiba van, akkor meg azt úgyis kiírja. Könyv kezdőknek. A PHP-dokumentációval kiegészítve jó.
Gozo Posted June 3, 2007 Posted June 3, 2007 Ott is kijavitottam és tényleg bekerülnek az adatok a mysql táblába! Nagyon köszönöm!
Gozo Posted June 4, 2007 Posted June 4, 2007 Sziasztok! Valami még mindig nem OK. Ha a következõ kódot futtatom, továbbra sem jelenik meg semmi az IE7-ben: <?php print ("Ki ir valamit?"); ?> Beállítási probléma? --- Közben egy újraindítás segitett... De a soremelés még mindig nem megy. Mit írok rosszul? <?php print ("Soremelés\n"); print ("Új sor?"); ?>
payskin Posted June 4, 2007 Posted June 4, 2007 Egyrészt, szeretnék bemutatni neked valakit: Ő itt a Szerkeszt gomb. Ha még nem kaptál választ az utolsó kérdésedre, de szeretnéd valamivel kiegészíteni, csak megnyomod a hozzászólásod alatt, és lám, bele tudsz írni! Nem kell újat és még egy újat, és még egy újat írnod! Bámulatos, hol tart ma a tudomány! Visszatérve a problémára: vedd elő a Jegyzettömböt! Írd be az első sorba, hogy Soremelés. A másodikba azt, hogy Új sor? Soremelés Új sor? Mentsd el akarmi.html-ként. És nyisd meg bármelyik böngészőben. Nahát, nincs új sor. Persze, hogy nincs, hiszen a HTML-ben a -rel csinálunk új sort. Ugyanakkor az akarmi.html szövegállományban (!) van új sor, mert ott van az első sor végén láthatatlanul a \r\n. Érted a különbséget? HTML állomány megjelenítve a böngészőben, HTML állomány, mint szövegállomány.
Gozo Posted June 4, 2007 Posted June 4, 2007 Ok majd próbálkozom. De én php-ban akarom kiiratni a szöveget. Ha elõveszem a Tanuljuk meg a PHP hazsnálatát 24 óra alatt címû könyvet abban ez a legelsõ példaprogram <?php print ("Hello web!"); ?> Ez ki is írja, hogy "Hello web!" No én ide a php kódrészbe akarok sortörést berakni. A <br> használatával kitudom váltani, de a \n használatával nem! Pedig van a könyvben több program ami használja a \n-t de nálam ez nem megy. Akkor most lehet használni a \n-t a php kódrészen belül soremelésre vagy sem? Ezt most a szerkeszt gomb megnyomásval írom Jó akkor <br/>-t használok soremeléshez. És a php-n belül hogy tudom a betûtípust, a betûszint beállitani? <?php print "szöveg"; ?> Ezt szeretném fehérben látni vastagitottan és monotype corsiva betû típussal az oldalon. Tényleg, stilus lap (css) használata esetén az adott oldalba beszurt php kódban lévõ printtel vagy echoval kiratott szövegre is hatással van a stiluslap?
payskin Posted June 4, 2007 Posted June 4, 2007 Ok, látom PHP-HTML téren van a probléma. Azt kell megértened, hogy bármilyen programot írsz PHP-ben, annak eredménye, ami megjelenik a képernyőn, az HTML-ben van. A <?php print ("Hello web!"); ?> program eredménye egy olyan HTML oldal, amelyben ugyan nincs , csak ez az egy mondat. Mintha beírnád a Jegyzettömbbe, hogy Hello web!, elmentenéd, akármi.html-nek és betöltenéd a böngészőbe. Kihagytam valamit az előző hozzászólásomból, amiből, remélem, rögtön megérted a és a \r\n közötti különbséget! Maradjunk az előző példádnál: <?php print ("Soremelés\n"); print ("Új sor?"); ?> Futtasd le! Nem látsz új sort, igaz? NÉZD MEG AZ OLDAL FORRÁSÁT! (Firefoxban: Ctrl+U.) Írd át így: <?php print ("Soremelés<br />"); print ("Új sor?"); ?> Futtasd le! Van új sor, igaz? Nézd meg az oldal forrását! Kezded érteni?
h.arpad Posted June 4, 2007 Posted June 4, 2007 Á, a könyvben minden mondatnak jelentõsége van, úgy látszik nem olvasta el figyelmesen: Látható, hogy HTML kód beépítése a PHP oldalakba egyszerûen a HTML tartalom begépelésébõl áll. Ez azt is jelenti, hogy, ha PHP-ban print-tel kiiratsz valamit, azt a böngészõ úgy értelmezi, mint egy HTML-t. Vagyis tökmindegy, hogy így írsz valamit egy bekezdésbe (<p> tag-ek közé): <?php $eredmeny = 1+1; print "<p>$eredmeny</p>"; ?> vagy így: <p><?php $eredmeny = 1+1; print $eredmeny; ?></p> Ha megtekinted az oldal forását, ugyanaz lesz az eredmény. Ezek után logikus, hogy, ha a script-ben sortörést alkalmazol (\n vagy \r\n -attól függõen, hogy Linuxos vagy Windows-os sorvége), de a HTML-ben nem (a <br> kimarad), akkor a böngészõ figyelemen kívül hagyja.
Gozo Posted June 6, 2007 Posted June 6, 2007 Sziasztok! Még mindig küzdök ezzel a html-be beágyazott php kóddal, amiben szöveget kéne kiiratnom Ha ezt a php kódot szurom be egy html kiterjesztésű fájlba akkor mindig <?php print "Szöveg<br/>"; print "következő sor"; ?> Erre a kimenet a böngészőben: "; print ""következő sor";?> Az a bajom, hogy a sortörésre használt </br> után mindent kiir.
h.arpad Posted June 6, 2007 Posted June 6, 2007 A kód, amit beidéztél jó, és a kimenete is. Nyiss meg egy jegyzettömböt, másold be ezt. Akárhogy próbálkozom, nekem nem sikerül elõidézni a hibádat ezzel a kóddal.
Gozo Posted June 6, 2007 Posted June 6, 2007 Html-be beágyazva próbáltad? Így? <html> <head> <title>valami html php-val</title> </head> <body> <p>Ez itt a html-ben van</p> <?php print "Ez meg a php-ban az első sor<br/>"; print "A php-ban a második sor"; ?> </body> </html> Azt szeretném ha a php-n belüli szöveget szépen két sorban irná ki a html kiterjesztésű fájl, ha futtatom. Ha ezt a kódot valami.html-ként elmentem és futtatom, ezt látom a böngészőben: Ez itt html-ben van "; print"A php-ban a második sor"; ?>
Mezofi Posted June 6, 2007 Posted June 6, 2007 Egy html kiterjesztü lap futtatásakor hiába raksz bele php script jelet, mert az értelmezõ nagy ívben le sza..a!
Gozo Posted June 6, 2007 Posted June 6, 2007 Egy html kiterjesztü lap futtatásakor hiába raksz bele php script jelet, mert az értelmező nagy ívben le sza..a! OK köszi, értem. Akkor ezek szerint jobban járok, ha php-t tartalmazó oldalt .php kiterjesztéssel mentem el. Azt nem tudod véletlenül, hogy az IE7-es miért csinálja azt, hogyha egy html-ből egy php kiterjesztésű fájlt hivok meg, akkor nem az oldalt tölti be, hanem notepaddel megnyitja az állományt?
h.arpad Posted June 6, 2007 Posted June 6, 2007 Balázs írt egy jó tutorialt ezen a fórumon többek között azzal kapcsolatban is, hogy hogyan kell beállítani a PHP-parancsértelmezõt egy otthoni szerveren, hogy a php-oldalak valóban rajta fussanak keresztül. Ezt olvasd el, mert ezek szerint nálad a szerver beállításoknál hiányzik valami, amire abban választ kapsz, ha Apache szervert használsz. Az IE7 azért szeretné letölteni, mert nem adtad meg a szervernek, hogy a .php kiterjesztésû fájlokkal mit tegyen. Ilyenkor bármelyik böngészõben nézed, ez történik. (Mellesleg: Akkor is történhet ilyesmi, ha megszakítod az oldal betöltését, de akkor valójában nem a PHP fájl fog lejönni, hanem a kód által generált kimenet egy része.)
Gozo Posted June 6, 2007 Posted June 6, 2007 Köszi de azzal kezdtem a pályafutásom. Tényleg remek leírás! Nem szerver gond volt, egyébként, mert közben rájöttem, hogy biztonsági szint volt alapból az IE7-ben, amiben tiltva volt a szkriptek futtatása. De fenn van az Opera, a Netscape és a Firefox is és azokon rendesen futottak a php-s oldalak...
h.arpad Posted June 6, 2007 Posted June 6, 2007 [...] IE7-ben, amiben tiltva volt a szkriptek futtatása Hát, még mindig nem érted. A PHP-scriptek futtatását nem lehet letiltani egy böngészőben sem. A PHP script szerver oldali script, a böngésző már csak a kimenetét látja. Ha egyszer megnéznéd bármelyik böngészőben az oldal forrását, -- amit Balázs is javasolt korábban -- látnád, hogy nyoma sincs benne a script-ednek, hanem csak annak, amit kiirattál. Egészen biztos, hogy más volt a gond.
Gozo Posted June 7, 2007 Posted June 7, 2007 OK. Már néztem a forrást, és láttam én is, hogy php-s részt kihagyja. Ezt viszont az IE 7 furcsán jeleniti meg: <html> <head> <title>Adat lekérdezés</title> <LINK href="stilus.css" type=text/css rel=stylesheet title=ind> </head> <body class="index"> <table class="menu" align="center" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#FFFFFF" width="80%" id="AutoNumber1" valign="top"> <caption class="focim" align="center">Adatok</class></caption> <?php $kapcsolat = mysql_connect("localhost", "root", "pass") or die(mysql_error()); mysql_select_db("adatbazis",$kapcsolat) or die(mysql_error()); $sql="select * from szemely where admin='igen'"; $eredmeny = mysql_query($sql) or die(mysql_error()); if(mysql_num_rows($eredmeny)>0){ print "<tr><td>Név</td><td>Email</td><td>Jelszó</td><td>Lakcím</td><td>Dátum</td></tr><br/>"; while($tomb=mysql_fetch_array($eredmeny)){ $nev=$tomb['nev']; $email=$tomb['email']; $jelszo=$tomb['jelszo']; $lakcim=$tomb['lakcim']; $datum=$tomb['datum']; print "<tr><td>$nev</td><td>$email</td><td>$jelszo</td><td>$lakcim</td><td>$datum</td></class></tr><br/>"; } } else{ header("Location:admin.html"); } ?> </class> </table></class> <div align="center"><br> <form action="admin.html"> <input type="submit" name="sgomb1" value="VISSZA"> </form></div> </body> </html> A kimenet: Adatok 0){print " "; while($tomb=mysql_fetch_array($eredmeny)){$nev=$tomb['nev'];$email=$tomb['email'];$jelszo=$tomb['jelszo'];$lakcim=$tomb['lakcim'];$datum=$tomb['datum'];print " ";}}else{header("Location:admin.html");} ?> Majd a táblázat fejléce de az adatok helyén a cellákban már $nev, $email,$jelszo,$lakcim,$datum felirat jelenik meg Az Opera a Netscape és a Firefox viszont tökéletesen! Mit nem szerethet ebből az IE7?
payskin Posted June 7, 2007 Posted June 7, 2007 Azt nem tudom, és ez ugyan PHP-s téma, de ahogy elnézem, megújítod a HTML nyelvet: mi az a ?!?!?!?
Gozo Posted June 7, 2007 Posted June 7, 2007 Kérlek nézd ezt el nekem! Autodidakta módon próbálok ismerkedni a területtel. Egyébként a </class>-ok kivétele után fut rendesen! Köszi!
payskin Posted June 7, 2007 Posted June 7, 2007 Én elnézem neked, de ezek szerint az IE7 nem. Lényeg, hogy működik.
Atys Posted June 8, 2007 Posted June 8, 2007 Sziasztok! Akadt egy problémám. Van egy oldalam. Be akartam illeszteni a megrendelt idõjárásjelentést. Az otthon beállított EasyPHP-vel rendesen jelenik meg az oldal, ha feltöltöm a freewebre, akkor nem. Most van hozzá folyamatban a normális tárhely megrendelése, de addig is a freeweben tesztelem. Lehet, hogy a freeweb a ludas? Mi lehet a hiba, mert nem tudok rájönni? A hiba a baloldali menü alatt jelenik meg, ott lenne az idõjárásjelentés. a tesztoldal
h.arpad Posted June 8, 2007 Posted June 8, 2007 A kép valóban megjelenik (Firefox). Ha esetleg másban nem, annak az lehet az oka, hogy frame-ben van. Warning: main(): URL file-access is disabled in the server configuration in /disk/raid4/a/t/atysteszt/bal.php on line 37 Warning: main(http://www.icicom.hu/onkorm/idojaras.htm): failed to open stream: no suitable wrapper could be found in /disk/raid4/a/t/atysteszt/bal.php on line 37 Warning: main(): Failed opening 'http://www.icicom.hu/onkorm/idojaras.htm' for inclusion (include_path='') in /disk/raid4/a/t/atysteszt/bal.php on line 37 Ez azt jelenti, hogy valószínûleg fsockopen()-nel vagy fopen()-nel más oldalról akarsz tartalmat lekérni, de a szerver PHP beállításai ezt nem támogatják. Ingyenes tárhely, ennyit enged.
Atys Posted June 8, 2007 Posted June 8, 2007 @kiskalóz, @h.arpad: Köszönöm a segítséget. Akkor valószínûleg a fizetõs tárhelyen jó lesz majd. Amúgy a kérdéses részen egy egyszerû include parancs van, amit az idõjárásszolgáltató adott meg. Az nem akar mûködni.
Master_of_Puppets Posted June 9, 2007 Posted June 9, 2007 Az mitől van hogy ha ezt: <?php header ("Content-type: image/png"); $kep = imagecreate ( 200, 200 ); $piros = imagecolorallocate($kep, 255, 0, 0); $kek = imagecolorallocate($kep, 0, 0, 255); imageline( $kep, 0, 0, 199, 199, $kek ); imagepng($kep); ?> Akkor nem megnyitja az oldalt hanem megkérdezi hogy le akarom-e tölteni?!
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