Jump to content
GSForum - Segélyvonal

PHP kérdésem van


Recommended Posts

Posted

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ó. ;)

Posted

Ott is kijavitottam és tényleg bekerülnek az adatok a mysql táblába!

Nagyon köszönöm! :)

Posted

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?");
?>

Posted

Egyrészt, szeretnék bemutatni neked valakit:

 

IPB kép

 

Ő 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! :igen:;)

 

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.

Posted

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?

Posted

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? :)

Posted

Á, 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.

 

Posted

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.

Posted

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.

Posted

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"; ?>

Posted

Egy html kiterjesztü lap futtatásakor hiába raksz bele php script jelet, mert az értelmezõ nagy ívben le sza..a!

 

Posted
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?

Posted

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.)

Posted

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. :D De fenn van az Opera, a Netscape és a Firefox is és azokon rendesen futottak a php-s oldalak...

Posted
[...] IE7-ben, amiben tiltva volt a szkriptek futtatása

Hát, még mindig nem érted. :nemnem: 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.

Posted

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?

Posted

Azt nem tudom, és ez ugyan PHP-s téma, de ahogy elnézem, megújítod a HTML nyelvet: mi az a ?!?!?!? :pislog:

Posted

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!

Posted

Én elnézem neked, de ezek szerint az IE7 nem. :) Lényeg, hogy működik.

Posted

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

Posted

Nálam megjelenik!

 

Posted

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.

Posted

@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

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?!

Posted

php-nak van elmentve?

Szerveren fut php?

 

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...