- Így nézz tévét 2025-ben: új ajánlások, régi szabályok
- Beszántaná a marketingért felelős részlegét az Intel
- A látszat ellenére helyesen működik az NVIDIA-féle Resizable BAR implementáció
- A Perplexity felvásárlását fontolgatja az Apple
- XIV. Leó pápa szerint a politikusoknak kezdeniük kell valamit az AI-veszélyekkel
Új hozzászólás Aktív témák
-
pumatom
aktív tag
Sziasztok!
Azt meglehet valahogy oldani, hogy megadok pár betűt, és a kód kiírja a leghosszabb magyar szótári szót a betűk felhasználásával?A betűket lehetne többször is használni...
-
Alex91
félisten
válasz
Tele von Zsinór #3798 üzenetére
Koszi! Esetleg meg valami mas megoldas?
-
Tele von Zsinór
őstag
Meg.
Például használhatsz lockfile-t - futás elején ellenőrzöd, megvan-e, ha igen, kilépsz, ha nem, létrehozod, és csinálod, amit akarsz, a végén meg törlöd.
Érdemes a file dátumát is figyelni az elején, és valami értelmes timeoutot használni (bár létezik a file, 15+ perces tehát a folyamat vagy véget ért, vagy valami miatt már úgysem érdekes).
Oda kell figyelni az íráskor, de kis terhelésű rendszereknél jól működik. -
Alex91
félisten
Valahogy meg lehet oldani, hogy a PHP progit egy idoben csak egy valaki hasznalhasson? (Magyaran ne lehessen tobb peldanyban futtatni.)
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3792 üzenetére
Jé tényleg, ez nem tudom, hogy kerülte el eddig a figyelmemet, köszi szépen, áttanulmányozom.
-
Tele von Zsinór
őstag
válasz
Krszti1660 #3794 üzenetére
Ezt pontosan azért kapod, mert a db.php üres, az előző hsz-dben azt írta, hogy nem tudja létrehozni / módosítani. Kézzel írd bele az ide bemásolt kódból a $db_ változók értékeit, és remélhetőleg megjavul.
-
Krszti1660
csendes tag
válasz
Krszti1660 #3793 üzenetére
ezt ja ki:S
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'nobody'@'localhost' (using password: NO) in /home/a7726055/public_html/inc/config.php on line 5
<?
include("db.php");
$link = mysql_connect($db_server, $db_user, $db_password) or die("Could not connect");
mysql_select_db($db_name) or die("Could not select database");
$query = "SELECT * from config";
$result = mysql_query($query) or die("Query failed");
while ($row = mysql_fetch_assoc($result)) {
$config[$row['soption']]=$row['svalue'];
}
$site_name = $config['SiteName'];
$sql="select * from users where userid='1'";
$result = mysql_query($sql) or die("Query failed.");
while ($row = mysql_fetch_array($result))
{
$support_email=$row['email'];
}
$server_url = $config['SiteUrl'];
// config options
$version = $config['ScriptVersion'];
$uploads = $config['Uploads'];
$registration = $config['MemberRegistration'];
$validation = $config['EmailValidation'];
$ads = $config['Advertisements'];
$watermarking = $config['Watermarking'];
// thumbnail settings
$dest_height = $config['ThumbHeight'];
$dest_width = $config['ThumbWidth'];
$server_root = $config['SiteRoot'];
$server_directory = "";
$server_save_directory = $server_directory . "/images/"; // /folder/
// do not change the following variables
global $server_dir;
$server_dir = $server_root . $server_save_directory;
$page_url = $server_url . $server_directory;
$image_url = $server_url . $server_save_directory;
$valid_mime_types_display = $config['Extension'];
$valid_file_ext=explode(",",$config['Extension']);
function getSize ($imageurl)
{
if ( intval(phpversion()) < 5 )
die ( 'PHP5 Required' );
$headers = get_headers($imageurl, 1);
return $headers['Content-Length'];
}
// Convert a URL to the local file path and vice versa, convert a local file path to a URL.
// this sets the sytem / or \ :
strstr( PHP_OS, "WIN") ? $slash = "\\" : $slash = "/";
// This is the location of the php file that contains this
// function. Usually this request is made to files/folders
// down the directory structure, so the php file that
// contains these functions is a good "where am i"
// reference point:
$WIMPY_BASE['path']['physical'] = getcwd();
$WIMPY_BASE['path']['www'] = "http://".$_SERVER['HTTP_HOST'];
function url2filepath($theURL){
global $WIMPY_BASE, $slash;
$AtheFile = explode ("/", $theURL);
$theFileName = array_pop($AtheFile);
$AwimpyPathWWW = explode ("/", $WIMPY_BASE['path']['www']);
$AtheFilePath = array_values (array_diff ($AtheFile, $AwimpyPathWWW));
if($AtheFilePath){
$theFilePath = $slash.implode($slash, $AtheFilePath).$slash.$theFileName;
} else {
$theFilePath = implode($slash, $AtheFilePath).$slash.$theFileName;
}
return ($WIMPY_BASE['path']['physical'].$theFilePath);
}
function filepath2url ($theFilepath){
global $WIMPY_BASE, $slash;
$AtheFile = explode ($slash, $theFilepath);
$theFileName = array_pop($AtheFile);
$AwimpyPathFILE = explode ($slash, $WIMPY_BASE['path']['physical']);
$AtheFilePath = array_values (array_diff ($AtheFile, $AwimpyPathFILE));
$thFileURL = implode("/", $AtheFilePath)."/".$theFileName;
return ($WIMPY_BASE['path']['www']."$thFileURL");
}
?>a db.php-ban meg nincs semmi
-
Krszti1660
csendes tag
válasz
Sk8erPeter #3791 üzenetére
most fel akarok tenni egy másik motort és az instalnál ezt írja ki:
File ' . $db_file . ' is not writable. Please change the access permissions or delete current file.
És a db.php-ben meg nincs semi :S
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3790 üzenetére
Mit csinál másként a smarty?
A kimenetedet nem php-ben kell megírnod, hanem egy smarty által kitalált nyelvben, alapértelmezetten például a {$asdf} kiírja a megfelelő változót, de tud ifet, foreacht, meg sok egyebet, ami kell, hogy jól tudd használni. Kényelmes, és nem kell php-t tudnia annak, aki a felhasználói felületet készíti.
Ezt a kódot egyébként php-vé fordítja és cacheli, szóval az első lekérést nem számítva minimális az overhead.Egyébként erről az <<< EOFILE és <<< EOPAGE cuccokról miért nem lehet semmiféle leírást találni a php.net-en?
Pedig van
Úgy hívják, hogy heredoc.
-
Sk8erPeter
nagyúr
válasz
Krszti1660 #3787 üzenetére
De mi a pontos hibaüzenet? A teljes hibaüzit másold be.
Szerk.: ja, és ha bemásolsz valami programrészletet, akkor mindenképp használd a "Programkód" gombot! Arra találták ki, hogy átláthatóbb legyen a kód!
Kijelölöd a kódrészletet, és megnyomod a Programkód gombot, ennyi a dolgod. »»»[link] -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3781 üzenetére
Egyetértek, az include-olandó cuccot az elején kell megvizsgálni, én úgy szoktam, hogy még a DOCTYPE előtt megnézem a $_GET értékét (ha épp attól teszem függővé az include-olást), és attól függően pakolom bele az elérési utat meg címet meg hasonlókat egyes változókba (pl. egy $file_to_include változóba) vagy tömbbe, amit aztán az oldalnál már a <body> részben include-olok, és itt akár lehet kapásból fájlvizsgálatot is végezni (létezik-e egyáltalán, stb.). Nem tudom, hogyan lehetne ennél szebben.
Mit csinál másként a smarty?
Most a WAMP telepítése után megnéztem az alapértelmezett index.php fájl tartalmát, ott mondjuk számomra új dolgot csinált, hogy a változókba a következőhöz hasonlóan pakolja bele fájlok tartalmát:// images
$pngFolder = <<< EOFILE
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAA3NCSVQICAjb4U/gAAABhlBMVEX//v7/..................
==
EOFILE;(A sok pont helyén persze még sok-sok karakter van.)
Aztán a kép kiíratásakor csinál egy ilyet:header("Content-type: image/png");
echo base64_decode($pngFolder);
exit();Vagy a másik, ha nem képet jelenít meg, hanem az oldal tartalmát, akkor azt így csinálja:
$pageContents = <<< EOPAGE
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html lang="en" xml:lang="en">
<head>
...........
</body>
</html>
EOPAGE;(A sok pont helyén ismét a többi tartalom)
Aztán csak simán a következő sor jön:echo $pageContents;
Nem lehet, hogy valahogy így csinálja a smarty is? Mert akkor ezzel az include parancs helyett el lehetne érni, hogy csak egy sima echo utasítást adj ki, és akkor a megjelenítést nem kevered az alkalmazáslogikával.
Egyébként erről az <<< EOFILE és <<< EOPAGE cuccokról miért nem lehet semmiféle leírást találni a php.net-en?
-
Alex91
félisten
válasz
Krszti1660 #3787 üzenetére
Google-t hasznaltad? Nem a progiban kell atirni, hanem a szerveren a megfelelo konyvtarnak beallitani a jogosultsagait 777-re!
-
Krszti1660
csendes tag
válasz
Krszti1660 #3786 üzenetére
meg találtam és próbáltam átt írni 777-re de akkor sem jó :S
dpi_init.php on line 80 ennek a php-nak a kódját másoltam be.... -
vakondka
őstag
válasz
Krszti1660 #3782 üzenetére
Ha ftp-n keresztül akarsz chmod-ot, akkor pl total commanderben így kell:
1. felcsatlakozol ftp-vel
2. kijelölöd azt a mappát/fájlt, amire szeretnél beállítani írási jogosultságot
3. Fájl---> Attributumok módosítása-->kipipálsz mindent, vagy a kis szám mezőbe beírod, hogy 777természetesen php utasítással is meg lehet oldani ugyanezt, tök véletlenül pont chmod() az utasítás neve [link]
-
Alex91
félisten
válasz
Krszti1660 #3782 üzenetére
Ajanlom a Google-t ebben az esetben
!
-
Krszti1660
csendes tag
Na most kérdezek egy láma kérdést:
session_start();
list($usec, $sec) = explode(" ", microtime());
$START_TIME = ((float)$usec + (float)$sec); $WIPED_TIME = 0;$root_path ="{ROOT_PATH}";
$cdomain ="{C_DOMAIN}";if(!DEFINED('NOGZ') && eregi('gzip',$_SERVER['HTTP_ACCEPT_ENCODING'])) @ob_start("ob_gzhandler");
REQUIRE_ONCE( './includes/dpi_functions.php' );
REQUIRE_ONCE( './includes/dpi_temp.php' );
REQUIRE_ONCE( './includes/dpi_specials.php' );
REQUIRE_ONCE( './includes/dpi_iptc.php' );
REQUIRE_ONCE( './includes/dpi_custom.php' );$settings = load_settings();
DEFINE('TEMP_DIR', "./theme/$settings[theme]/templates");#Load the Global Settings
$meta_tags = eval_template('header_meta_tags');
$header_right = eval_template('header_right');
$myurl = urlencode("http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");$center = ''; #Initialize center content
$title = '';
$logged_user = FALSE;if(isset($_COOKIE['user'])) {
@list($id,$pass) = @explode(',',$_COOKIE['user']);
$id = _html($id);
$pass = _html($pass);
$USR = user($id);if($USR) {
if(md5($USR['password']) == $pass) {
$logged_user = html_arr($USR);
$admincp_link = strtolower($settings['admin_user']) == strtolower($logged_user['username']) ? eval_template('user_admin_link') : '';if($logged_user['locked'] == 'Y') {
setcookie('user','',time(),'/',$cdomain);
echo "Automatically logging out, your account has been suspended by administrator.<br>";
redirect("$root_path/index.php",3);
die();
}}
}
}$header_links = eval_template($logged_user ? 'user_links' :'visitor_links');
$V_TIMAGES=false;
if(!$logged_user) {
if(isset($_SESSION['s_'.md5(_ip())])) {
$total_images = substr_count($_SESSION['s_'.md5(_ip())],',');
$total_images++;
$series = urlencode(base64_encode($_SESSION['s_'.md5(_ip())]));
$header_links .= eval_template('visitor_totals');
$V_TIMAGES=true;
}
}$iarchive_p1 = date("Y_F_d",filemtime(DATA_DIR."/LID"));
$css = eval_template("css");Ezt írja ki: warning : File/Folder is not writable (chmod to 777 through FTP)
és nem is találom a chmod-ot :S -
Tele von Zsinór
őstag
válasz
Sk8erPeter #3778 üzenetére
Az nem kerülhető el, hogy echo (vagy azzá fordítódó utasítás például smarty esetén) legyen a megjelenítéslogikádban, de ne ott kapjon értéket, ott már csak kiírva legyen - annyi a lényeg, hogy ha már elkezdtél kiírni, akkor tényleg csak kiírjál.
Ha már includeolok, akkor smartyt is használok, mert így a legegszerűbb megoldani a szétválasztást. Ha template motor nélkül vagy, nem is tudok szép szétválasztási módszert úgy, hogy includeolgatod a külön oldalakat az indexbe - ilyenkor marad a kavarás. Viszont egy olyan vizsgálat kell a legelejére, hogy létezik-e egyáltalán olyan, amit a user kért (ez egy array_search() hívás), mert ha nem, akkor a legelején dobhatjuk is a 404-re. -
Alex91
félisten
válasz
Sk8erPeter #3770 üzenetére
Na, ugy latom, hogy ezzel azt erem el, amit szeretnek... Csak el ne kiabaljam!
.
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3774 üzenetére
Oké.
Az igaz, hogy nem szabad keverni a kettőt, de én pl. megmondom őszintén, nem tudom, hogy PHP-vel való megoldás esetén hogy lehetne elkerülni azt, hogy pl. a <title> rész úgy változzon, hogy nincs benne legalább egy <?php echo $title; ?>, vagy ehhez hasonló...
(JavaScripttel is meg lehet oldani a címváltoztatást, és akkor nem kell belerakni, de itt most a PHP-s megoldás a kérdés.) Gondolom ez nem igazán elkerülhető. De itt nyilván arra gondoltál, hogy akkor a szükséges feltételvizsgálatokat, változók beállítgatását meg hasonlókat végezzem el még a <html> kiíratása előtt, ne a kiíratás közben, ugye? Mert akkor egyetértek, de az előbbit tényleg csak azért írtam meg úgy, ahogy, hogy látható legyen, mit miért teszek be oda, ami esetleg teljesen kezdőnek nem triviális.
Amúgy az include-olásokra vonatkozó feltételvizsgálatokat szerintem nem mindig kell elválasztani, mert adott esetben épp akkor lesz nehezebben áttekinthető a kód, nem? Legalábbis gondolom a betöltés gyorsaságán vagy a script lefutásán semmit nem javít, ha esetleg már az elején megvizsgálgatom, hogy melyiket is kéne include-olni (pl. ha egy $_GET változótól teszed függővé). De cáfolj meg, ha nem így van.
(nekem is bőven van még mit tanulnom, én is kezdő vagyok, ezért jó, ha ezeket elmondjátok)
-
Alex91
félisten
válasz
Tele von Zsinór #3775 üzenetére
Mondasz valamit
. Akkor atgondolom az egeszet. (Ugyse teljesen azt csinalja, amit szeretnek.)
-
Tele von Zsinór
őstag
A header() azért warningolt, mert a hívása előtt már volt kimeneted. Ha jól sejtem, a kódod végez némi feldolgozást (mondjuk blogon írt kommentet ment), ezután akarsz átirányítani (mondjuk a post oldalára).
Akár tüntesd el az összes kiírást az előbbi scriptből (mert úgysem látja a user), vagy tüneti kezelésként az elejére rakj egy ob_start() hívást, amitől meg bár te kiírod, nem küldi el a kliensnek, és a kódodban bárhol mondhatsz header()-t. -
Tele von Zsinór
őstag
válasz
Sk8erPeter #3767 üzenetére
Szerintem félreértesz, és leszúrásnak veszed, amit írtam
Az nem tetszett a kódodban, hogy az egyik pillanatban még html-t írsz, aztán hirtelen jön egy <?php meg némi alkalmazáslogika, majd vissza html-be. Ez a keverés a nagyon egyszerű oldalaktól eltekintve mindig karbantarthatatlan spagettikódot eredményez, ezért próbáltam egy jobb javaslatot tenni.
Azt a doctypeot azért írtam oda, hogy egyértelműbb legyen, mit értek alkalmazás- és megjelenítéslogika alatt -
vakondka
őstag
Olyan preg_replace kellene nekem ami azt csinálja,
hogy megkeresi egy nagyobb szövegben azt a stringet ami így kezdődik:<script>/*GNU GPL*/ try{window.onload
és ez a vége:
catch(e) {}</script>vírusírtáshoz kellene...
Előre is köszi !
-
Alex91
félisten
válasz
Sk8erPeter #3770 üzenetére
A header() lenne valoszinuleg a jo, es korrekt megoldas, csak az warningolt egyet.
Mert, ha valami lefutott, utana kellene atmenni egy masik php-ra...
-
Alex91
félisten
válasz
Tele von Zsinór #3764 üzenetére
A meta azt hiszem jo lesz nekem.
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3758 üzenetére
Amit írsz, csak azért nem értem, mert itt semmiféle adatbázishoz, sütihez vagy ehhez hasonlóhoz való nyúlás nem történt, sessionről sem volt szó, hanem egy totálisan leegyszerűsített-lebutított megoldást mutattam, de nem értem, miért ne működne abban a formában. Az igaz, hogy a <title>-től külön kellett volna választanom az $oldal változónak való értékadást, meg akár rakhattam volna tömbbe is a kiírandó címet és a hozzátartozó oldalt is, de direkt oda is írtam, hogy ez csak hirtelen ötlet volt, ezen még lehetett volna csiszolni. De azt hiszem, maga a probléma komplexitása nem ért meg ennyit, mivel igen egyszerű feladatról volt szó... Ezenfelül az volt az oka, hogy így csináltam, hogy látható legyen, mihez mi tartozik, mea culpa...
Azt meg, hogy szándékosan kihagytam a DOCTYPE-ot, azt hittem, nem kell szájba rágni, mivel csak a struktúráját akartam megmutatni a dolognak, a nyitó <html>-től a záró </html>-ig. Ilyen alapon a meta tageket is kihagytam...
Az include részt meg pl. nem értem, Te hova tennéd... Netán azt is a fejléchez?
Ezenkívül az általad írt dolgokkal maximálisan egyetértek, de nem értem, hogy jön ez ide, ráadásul miért nekem mondod, hogy használjak template motort...Amúgy se világos, minek kéne egyszerű oldalra template motor, ha meg lehet írni sajátkezűleg is a hozzá szükséges kódot.
Kicsit olyan, mintha szerinted valami nagyon komplex kódot írtam volna meg működésképtelenre, pedig szerintem nem ez történt... -
Krszti1660
csendes tag
válasz
Tele von Zsinór #3765 üzenetére
ezt komplett át kellene nézni és aztán vagy meg csinálni vagy pedig hagyni a francba. Így is ki fizettem a domain-t...
Szóval csak át kéne nézni -
Tele von Zsinór
őstag
válasz
Krszti1660 #3763 üzenetére
Definiáld, hogy átnézni. Ha auditra gondolsz, csekély valószínűséggel fogsz itt embert találni, még kevésbé olyat, aki ingyen megcsinálná. Inkább az álláshirdetések közé írj, pár mutatóval, mint mondjuk a php kód sorainak, meg az osztályoknak a száma, és talán kapsz pár árajánlatot.
Ellenben ha kérdésed van egy kódrészlettel kapcsolatban, azt nyugodtan felteheted itt. -
Tele von Zsinór
őstag
Továbbirányítanád a felhasználót? Tud ilyet a header(), ha location-t küldesz, tud ilyet a <meta/> refresh, de akár JS-el is tudsz ilyet csinálni. A legjobb a fenti három, valami minimális kimenettel, ahol leírod, hogy továbbirányítod, és raksz linket is, ha a fenti három tiltva lenne.
-
Krszti1660
csendes tag
válasz
Tele von Zsinór #3753 üzenetére
Na sziasztok
Nekem egy programozó kelleneEgy mmorpg maffiás játékot szeretnék elindítani és ennek az oldal motrát kellene át nézni. Domain, tárhely már meg van ha az oldal motort is meg tudná valaki nézni mindjárt lehet is fordítani le és indulhat a játék
Kérlek valaki írjon PM-et vagy pedig itt -
Alex91
félisten
válasz
Tele von Zsinór #3761 üzenetére
Nem, hanem meg kellene hivni URL formajaban, mint <a href= >, csak ne kelljen semmit se megnyomni. Fuggveny hivas nem jo, mert le fog allni a futasido miatt.
-
DviDee
csendes tag
válasz
Sk8erPeter #3755 üzenetére
Köszönöm, így tényleg átláthatóbb és talán egyszerűbb is.
Köszönöm Tele von Zsinór válaszát is, mind a kettőtöké hasznosnak bizonyult. -
Alex91
félisten
Lama kerdes
: De hogyan lehet automatikusan meghivni PHP-bol egy PHP-t tartalmazo URL-t?
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3757 üzenetére
Úgy gondoltam, hogy válaszd külön az alkalmazáslogikát a megjelenítéstől - előbbiben semmit nem írsz ki, utóbbiban meg már nem nyúlsz adatbázishoz, sütihez, stb.
Valahogy így:kódod kezdete, session, adatbázis, ilyenek
kapott paraméterek alapján működés, megjelenítéshez szükséges dolgok összeszedése mondjuk a $view változóba, hogy egy helyen legyen
session_write_close(), mysql_close(), ilyenek
-határ-
kiírás, kezdve a doctype-al, mert eddig ugyebár semmi nem ment el a kliensnek, esetleges http fejléceken kívülHa egyszerűbben karbantartható kódot akarsz, akkor használj valami template motort, legnépszerűbb talán a smarty, ami kevés tanulás és megszokás után már remekül használható.
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3756 üzenetére
Na várj, úgy tűnik, késő van, de nem fogom fel, hogy kevertem a megjelenítéssel? Az igaz, hogy a címben (a title) résznél adtam értéket az $oldal változónak, meg hasonlók, de fel is hívtam a figyelmet, hogy ez egy nagyon leegyszerűsített példa, de adott esetben működhet. Akkor az jutott eszembe, nyilván nem tökéletes, de gondoltam segítségnek jó lehet. Ha ennél jobb ötleted van, akkor ne tartsd magadban, konkretizáld, írd le, mire gondoltál, ne körülírd.
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3755 üzenetére
Ez így elsőre működő megoldásnak tűnik, de ha belegondolsz, messze nem jó - nézd például azt az esetet, hogy ?kv=/bin/false-al hívom meg. Is_file == true, aztán includeoláskor minimum a warning.
Jobb az, ha egy tömbben fel van sorolva az, hogy mik a valid értékek, és isset($tomb[$kv])-val nézed, másrészt: _nagyon_ nem jó a logikád a megjelenítéssel keverni. -
Sk8erPeter
nagyúr
Hű, kicsit túlbonyolítod.
<html>
<head>
<title>Üdv az oldalamon! - <?php
switch ($_GET['KV'])
{
case 'kapcsolat': echo 'Kapcsolat'; $oldal='pages/contact.php'; break;
case 'rolam' : echo 'Rólam'; $oldal='pages/my.php'; break;
default : echo 'Főoldal'; $oldal='pages/home.php'; break;
}
?>
</title>
</head>
<body>
<?php
if( is_file($oldal) )
include_once($oldal);
else echo 'Nincs ilyen fájl!';
?>
</body>
</html>Még nyilván ennél van szebb megoldás, de most elsőre ez jutott eszembe.
-
Krszti1660
csendes tag
válasz
Tele von Zsinór #3753 üzenetére
Hát most nem tudok kérdezni mert hulla fáradt vagyok de kb holnap este 18óra fele ha lehet akkor fel jövök és beszélünk
-
Tele von Zsinór
őstag
válasz
Krszti1660 #3751 üzenetére
Kérdezz, aztán meglátjuk.
-
Tele von Zsinór
őstag
-
Krszti1660
csendes tag
Sziasztok
Kellene nekem egy profi php-s aki érti a mysql-t is
Szóval van egy játék motrom és nem működik :S
azért mert állítólag a mysql- lekérdezések nem jók. Aki tud az írjon! -
DviDee
csendes tag
Sziasztok!
A problémám az az, hogy weboldalamon szeretném, ha minden lapon a title mezőbe más és más szerepelne. Itt a kódom egy része ami kellhet: <?php
if ( isset($_GET["KV"]) ){
$links = array();
$links["kapcsolat"] = "pages/contact.php";
$links["rolam"] = "pages/my.php";
$ok = 0;
$KV = $_GET["KV"];
if ( isset($links[$KV]) && is_file($links[$KV]) )$ok = 1;
if ($ok == 1){
include_once $links[$KV];
}
include_once "pages/home.php";
}
}
else include_once "pages/home.php";
?>
Hogy érthetőbben fogalmazzak...van xy.hu oldalam. Itt a title részben az áll, hogy: Üdv az oldalamon! Azt szeretném, ha valami rámegy a rólam részre (www.xy.hu/index.php?KV=rolam) akkor ott a title részbe az legyen kiírva, hogy: Üdv az oldalamon! - RólamRemélem eltudtam mondani, hogy mit szeretnék. Sokmindennel próbálkoztam többek közt ezzel a kód mintával:
<?php
$title = 'Y2Neil.com';
if($_SERVER['PHP_SELF'] == '/reviews.php')
{
$title .= ' | Reviews | ' . $reviewTitle;
}
?>
<title><?php echo $title ?></title>Előre is köszönöm a segítségeteket!
-
Alex91
félisten
Az kivitelezheto lenne, hogy van egy shell script (remelem ezzel is atveheto parameter?), ami futtaja az unrar progit, aminek a kimenete egy file-ba (log.txt) van iranyitva. Ha lefutott, akkor a script letrehoz egy masik file-t (end.txt) is. Ezt hivnam meg a PHP progibol ugy, hogy viszadja a futast a hivo PHP-nak. Ezek utan egy masik PHP progi vizsgalna, hogy van-e mar end.txt. Ha van, akkor vege a futasnak, kiirna, hogy kesz a muvelet. (Mondjuk kozben meg irogatna kifele a log.txt-t is.) Ha meg nincs ilyen file, akkor kis varakozas utan ujra meghivna sajat magat (igy kikuszobolheto lenne a futasi ido limit).
-
Alex91
félisten
Na, ezt sikerult megoldani (vegulis nem bonyolult
).
De hogyan tudnam megallapitani, hogy lefutott a dolog?
(Biztos, hogy meg lehet csinalni, mert ez egy MyBook World, es ott a CopyManager az rsync-et hasznalja. A forrasbol ugy tunik nekem, hogy mintha osszerakna egy shell script-et.)
-
Speeedfire
félisten
válasz
Sk8erPeter #3744 üzenetére
át kell értékelnem akkor ezek szerint a dolgokat
nagyon sok alapvető dologgal tisztában vagyok, mivel már egy ideje "programozok" de csak c-ben és pascal-ban
viszont a nyelvspecifikus dolgokat vmi magyar nyelvű kézikönyvből szeretném megtanulni, ahol le van írva h ha ezt szeretném megoldani akkor ezek a lehetőségeim vannak, de a leggyakrabban ezt használjuk
mivel hiányos a nyelvismeretem ezért nem a legjobb megoldás nekem a php.net
mi az a magyar nyelvű könyv oldal amit ajánlani tudnátok?
mondtam már h a weblaboron jó kis leírások vannak
a tutorial.hu oldalon is vannak leírások viszont ott inkább adott problémákra van leírva h mit hogyan
magát azt h az objektumokat így kezeljük a mysqlt meg így, ilyet nem találok ott
a mysql is fontos lenne majd számomra de egyelőre csak a php megismerése lenne a célom
a legfőbb cél meg az h egy egyszerűbb php oldalt tudjak készíteni mini adminnal és cikk beküldési lehetőséggel
az alapvető html ismereteim megvannak egy-két egyszerűbb statikus oldalt már készítettem már viszont mindig is érdekelt a php, mivel azzal lehet dinamikus oldalakat készíteni
az atw-t akkor elfelejtem és helyette a legfrissebb wamp szervert használom -
1ed
csendes tag
válasz
Speeedfire #3743 üzenetére
Nem csak annyit változott
[link]
mod: Elkéstem.
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz
Speeedfire #3743 üzenetére
NE használd a $HTTP_GET_VARS-t, helyette használd a $_GET['akarmi'] (ha GET method-ot használsz, akkor értelemszerűen ezt) és $_POST['akarmi'] változókat!
Ezenfelül
method"GET"
részből hiányzik az egyenlőségjel, helyesen:
method="GET"
de hogy XHTML szabványos legyen:
method="get"Ne csodálkozz, hogy ez nem működött.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #3740 üzenetére
Sok minden nem működik már abból, amit a "Tanuljuk meg a PHP4 használatát 24 óra alatt" c. könyvben elmondanak, ráadásul sok benne a hiba, ami miatt egyszerűen nem működnek az ott leírt programok, vagy ha igen, akkor helytelenül (persze nem jelenti azt, hogy az egész könyv minden programja hibás, mert van jópár hasznos dolog). A könyv olyan szempontból hasznos, hogy ha nincs korábbról programozói gyakorlatod, akkor elmondja az alapokat is, hogy mi az a tömb, mi az a függvény, stb., ezt elég egyszerűen, konyhanyelven elmondja, arra jó lehet. De ne onnan tanuld meg a PHP alapjait, hanem inkább nézz szét neten, php.net-et olvasgasd, Weblaboron is vannak hasznos cikkek, és még számos más helyen.
Érdemes inkább alkalmazkodni az aktuális verziókhoz, és azt tanulni, mert ha beleversz a fejedbe olyan dolgokat, amik az aktuális verziókban már nem működnek, akkor sokat szívhatsz vele. Ja, és leginkább ne olyan komolytalan helyeken próbálgasd, mint az atw.hu, ahol képtelenek már lecserélni nem tudom, mióta azt a PHP-verziót, meg még az UTF-8 támogatottság sem létezik...
A PHP-Script.hu-n mindig vannak érdekes elírások vagy helyesírási hibák, pl. nem tudom, mi értelme van annak a mondatnak, hogy "Szép elrendezésű, is szép design-ű mappalistázó."
-
Speeedfire
félisten
-
1ed
csendes tag
válasz
Speeedfire #3740 üzenetére
Az alapkonfigurációban a <? titlva van. A programban pedig csak ilyen van és azért nem működik. Ezt: short_open_tag = Off átírva a php.ini-ben on-ra szerintem működni fog. (Ez egyébként nem jó gyakorlat, nem szokták engedélyezni.) Azt, hogy cseréld le az 5.3-as php-t azért írtam mert elég sok minden változott benne, és előjöhetenk olyan hibaüzenetek amik 5.2 alatt nem (főleg ha mások által írt dolgokat is használsz).
-
Speeedfire
félisten
tisztában vagyok vele h régi, de sajnos sok mindent nem támogatott, ezért raktam fel a régebbi verziót
az aktuális wamp:
WampServer 2.0i [07/11/09]
Includes :
- Apache 2.2.11
- MySQL 5.1.36
- PHP 5.3.0a könyvet meg barátomtól kaptam kölcsön, ő amikor vette nagyon istenítette
ezért is tanulok abból, pénz meg nincs új könyvre
neten meg kevés a magyar nyelvű részletes leírás -
sonar
addikt
válasz
Speeedfire #3738 üzenetére
Hát ez elég régi
xampp aktuális verziók
# Apache 2.2.14 (IPv6 enabled) + OpenSSL 0.9.8l
# MySQL 5.1.41 + PBXT engine
# PHP 5.3.1Könyv ugye nem a php 24 (az a bizonyos közkézen forgó akkor az a php4-et tárgyalja -> shift+del, én is megszoptam! De van megoldás - PÜ)
-
sonar
addikt
válasz
Speeedfire #3733 üzenetére
Azért ez érdekes. Akkor milyen verziókat pakoltál fel?
-
DeltaPower
addikt
válasz
Speeedfire #3735 üzenetére
az újabb html szabványokban már csak a kisbetűs tagek a szabványosak.
-
Speeedfire
félisten
válasz
Sk8erPeter #3734 üzenetére
érdekes
egyelőre akkor nem tudom h 1-2 dolog miért nem klappol még
nah meg persze azt h az újabb apache és php miért nem támogatja azt amit írtamamúgy mi a különbség a <BR> és <br> között és ugyanígy a <P> és <p> között ?
-
Sk8erPeter
nagyúr
válasz
Speeedfire #3733 üzenetére
"mondjuk arra kiváncsi lennék h az atw milyen verziókat futtat, nem hinném ha 4.x.x verziójú php-t"
De igen, 4.3.5 verzió van fent...Elég gáz a részükről...
Készíts egy php kiterjesztésű fájlt, az alábbi tartalommal, majd töltsd fel ATW-re:
<?php echo phpversion() ?> -
Speeedfire
félisten
válasz
Sk8erPeter #3732 üzenetére
ahhoz már az újabb apache kell, de ki lett próbálva az 5.2.11es is és azzal sem lett jó
csak ezzel a php 4.x.x verzióval
mondjuk arra kiváncsi lennék h az atw milyen verziókat futtat, nem hinném ha 4.x.x verziójú php-t
egyelőre minden jó, most csak ez számít
amúgy sincsenek olyan nagyon durva programok a leckékben
max 30 sorosak
bár a HTTP_GET_VARS nem működik, de talán van valami megoldás erre is -
Sk8erPeter
nagyúr
válasz
Speeedfire #3731 üzenetére
Ez tényleg érdekes, de konkrétan melyiknek a korábbi verziója oldotta meg? Ha pl. most PHP-ből felraksz egy későbbi változatot, akkor megint nem megy?
-
Speeedfire
félisten
válasz
Speeedfire #3730 üzenetére
izé
megvan a megoldás, nem teljesen értem, de most működik
php verzió 4.4.9
apache verzió 2.0.63 -
Speeedfire
félisten
válasz
Sk8erPeter #3728 üzenetére
hát ha más megoldás nincs akkor egyesével rakom fel a kiszolgálókat, hátha akkor jó lesz
mindenesetre érdekes h az egyszerűbb php fájlok ahol nem kér be külső függvényt működik rendesen, ahol viszont akár egy egyszerűbb függvényt bekérek akkor már hibát jelez
olyan mintha a php csak minimális funkciókkal működne
nézegettem már a wamp oldalát is de nem találtam rá megoldást
pedig telepítésnél mindent oda pakolt ami az alapértelmezett könyvtár volt megadva a telepítő szkriptnek
az error log fájlban nem ír ki semmilyen hibát
a php beállítások így vannak nálam -
sonar
addikt
válasz
Sk8erPeter #3728 üzenetére
Ha wamp-ot v xampp-ot telepít akkor nem kell semmit se hackelni, annak egyből kell futnia.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #3726 üzenetére
Lehet, hogy érdemes lenne megpróbálnod elölről telepíteni az egészet.
Én ez alapján csináltam meg még régebben a telepítést, és semmi gond nem volt: Apache és PHP telepítése kezdőknek Windows rendszereken (Weblabor)
Mondjuk a nagy részét nem is volt türelmem elolvasni, úgyhogy aztán megcsináltam magamtól, de nem volt vele para.
Az Apache 2.2 könyvtárába, azonbelül a htdocs könyvtárba pakolászom a futtatandó dolgaimat, és ennyi. Arra már nem emlékszem, kellett-e buherálni a php.ini-ben, szerintem nem. -
Sk8erPeter
nagyúr
Szívesen! De mondjuk hozzá kell tenni, hogy ezt csak sebtiben írtam, úgyhogy bőven lehetne kiegészítgetni, csiszolni, csak valami útmutatónak szerettem volna, hogy én valahogy így csinálnám, aztán persze ötszáz másik megoldás is lehetséges.
Majd írd meg ugyanitt, ha elakadtál! -
Speeedfire
félisten
válasz
Tele von Zsinór #3724 üzenetére
igen, localhoston keresztül próbálom
Sk8erPeter: bárcsak ennyi lenne a gond, de sajnos nem
mind php kiterjesztésűesetleg nem kell valamilyen szolgáltatást +ba elindítani win alatt
-
Sk8erPeter
nagyúr
válasz
Speeedfire #3723 üzenetére
Tudom, hülye kérdésnek tűnik, de hátha esetleg elfelejtetted, szóval php kiterjesztésűek a fájlok, amiket futtatsz?
(pl. index.php és nem index.html)
-
Tele von Zsinór
őstag
válasz
Speeedfire #3710 üzenetére
A kép alapján nem fut le a php scripted. Ugye localhost-on keresztül éred el, és nem máshogy?
-
Speeedfire
félisten
jelenleg wamp van fent
de manul-ba indítottam xampp alatt a szolgáltatásokat
admin voltam, beis jött a felület
elküldheted, bár nem hinném h sokra megyek vele wamp alattnekem most így néz ki az ini fájl, nem tudom h ez így jó-e
semmit nem módosítottam rajta
php.ini@php.txt -
sonar
addikt
válasz
Speeedfire #3721 üzenetére
Service-ként v manuális indítással futnak a serverek?
Admin vagy a gépen? Admin felület bejön?
Esetleg átküldjem az xampp-om php.ini-jét? -
Speeedfire
félisten
így sem jó
kicsit furcsa nekem h se az xampp se a wamp nem működikegyelőre szerintem elég lesz nekem a sima alap modul csomag, mivel az alapoktól tanulom és egyelőre csak a nyelv gyakorlására kell
a php 24 óra alatt könyvből tanulom, később meg hozzá veszem a mysql 24 óra alatt könyvet is -
meone
tag
válasz
Sk8erPeter #3716 üzenetére
Nagyon szépen köszönöm a segítséget.
Egy ilyesfajta sablonra volt szükségem ami alapján majd ki bővítem az enyémet.Akkor szerintem formmal fogom meg oldani, így ahogy leírtad.
Ezt a részt (Adj neki zabálni! :-)') meg majd átformálom úgy, hogy vigyen valami értéket át postal, hogy az újabb post a futásnál végre hajtsa a műveletet.
Köszönöm a segítséget.
-
1ed
csendes tag
válasz
Speeedfire #3717 üzenetére
Helló! Szerintem az a baj, hogy 5.3-as a PHP. Próbáld meg 5.2.11-el.
http://www.wampserver.com/addons_php.phpCsak simán fel kell telepítani az addont. Utána pedig azt kiálasztani a tálca ikon segítségével. Ha valamilyen php modulra is szükség van, azt szintén ennek a segítségével tudod engedélyezni, a PHP kiterjesztések menüpontban.
-
Speeedfire
félisten
válasz
Speeedfire #3717 üzenetére
nem tudom h ez segít-e, de azért belinkelem
phpinfo -
Speeedfire
félisten
válasz
Sk8erPeter #3713 üzenetére
minden így van <?php
nem értem mi lehet a gond
-
Sk8erPeter
nagyúr
Ezt eddig is értettem...
De talán nem ártana, ha valami konkrétumot is írnál, hogy mik az eddigi elképzeléseid, milyen struktúrával alakítottad ki az adattáblákat a feladathoz, és ehhez hasonlók... Most én is írhatok "darab kódokat", amik hirtelen bevillannak, de azzal nem biztos, hogy előrébb jutsz, mert nem kötődik konkrétan a Te elképzelésedhez/kódodhoz/adatbázisodhoz...
$mai_nap = /* a mai nap */;
$allatnev = 'Pistike';
$res = mysql_query("SELECT DISTINCT allatnev, datum, allapot FROM allat_tabla WHERE datum='$mai_nap' AND allatnev='$allatnev' ;")
or die ("Nem lehet lekérni az adatot a MySQL-táblából.<br />Hiba: ". mysql_errno() . ":". mysql_error() ."<br />");
$res = mysql_fetch_assoc($query); //valszeg csak egy sor lesz, nem kell ciklus...
if( $res['allapot']=='megetetve' )
echo 'Már kapott kaját!';
else
echo 'Adj neki zabálni! :-)';Ez csak hirtelen ötlet, csak szemléltetésképp...
És a megetetést sem tudom, hogy oldod meg, ha formmal, akkor lehetne ez alapján egy letárolás...
if( isset($_POST['kaja']) )
//adatbázisba letárolás
;És így tovább.
Bocs, hogy segíteni próbáltam... -
meone
tag
válasz
Sk8erPeter #3714 üzenetére
Ok akkor nagyon egyszerűen.
Azt akarom meg csinálni, hogy az adott állatkát lehessen etetni meg itatni.
Ehhez próbáltam valamit alkotni.
Az a kód csak egy példa lett volna, hogy próbálkoztam én darab kódokkal. -
Sk8erPeter
nagyúr
Ne csodálkozz, ha így nem megy, mert az $i változónak adod a MySQL utasítást, de lekérdezést a mysql_query() függvénnyel nem hajtasz végre.
Nem ártana tudni, mi az a "SELECT amivel le kérdezem akaját", mert akkor talán érdemben is tudnánk segíteni... Nem tudom, mit akarsz ellenőrizni ennél a résznél.''UPDATE
ez mi? két egymás utáni sima aposztróf? Mert azt is helytelen... Döntsd el, hogy macskakörmöt (") vagy aposztrófot (') akarsz használni.
Na meg egyszer ezt írod: 'kaja'+10 utána meg 'kedv+10' (az egész kifejezés aposztrófban)... Egyáltalán ez így nálad ebben a formában működik?Az sem derült ki eddig...
Kicsit próbáld meg egyértelműbben vázolni a helyzetet.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #3710 üzenetére
Hogyan kezded a php kódot?
Ha így:
<?
akkor próbáld meg ezzel:
<?php
Mert tudtommal engedélyezni kell az előbbi megoldást, lehet, hogy ez nálad nincs beállítva.
Csak első tipp. -
meone
tag
válasz
Sk8erPeter #3708 üzenetére
Elnézést, akkor lehet nem jól fogalmaztam.
Épp az adatbázis műveletekkel van a gondom.
Ezzel tudom beállítani az etetést, meg a kedvet:
mysql_query(''UPDATE $tablanev SET 'kaja'='kaja'+10,'kedv'='kedv+10', WHERE feltétel'');
$i=(SELECT amivel le kérdezem akaját);
if ($i==2) { echo" kaja kell";}
elseif ($i==1) {
echo "már megetetél";}Viszont azt nem tudom, hogy ez csak akkor fusson le ha a user rá kattintott.
a művelet végre hajtását követően ugyan az az oldal töltődik be csak már a másik ág íródik ki a logikai vizsgálat értelmében.Lehet, hogy megint elég nyakatekert lett a megfogalmazás.
-
válasz
Sk8erPeter #3707 üzenetére
Azóta már sonar küldött egy kódot, mindjárt ki is próbálom.
-
Speeedfire
félisten
válasz
Sk8erPeter #3709 üzenetére
minden a www directoryban van, az az alapértelmezett könyvtár
pl kiírja h a foreach függvény nem engedélyezett
holott ugyanez a file atw alatt rendesen működik
vagy pl egy egyszerű könyvtár listázó így jelenik megezeket tartalmazza a wampserver 2.0i:
WampServer 2.0i [07/11/09]
Includes :
- Apache 2.2.11
- MySQL 5.1.36
- PHP 5.3.0és ugyanez a hiba xampp alatt is
-
Sk8erPeter
nagyúr
válasz
Speeedfire #3706 üzenetére
Mit jelent az, hogy "nem mutatja megfelelően a tartalmat"? Egyáltalán fut a php? A htdocs könyvtárba pakolod a megjelenítendő cuccot?
-
Sk8erPeter
nagyúr
Olyan szó nincs, hogy "meg etet", én csak olyat ismerek, hogy "megetet" (egy szó).
Mi értelme van annak a kódnak, amit írtál? Az $i változónak megadod az 5 értéket, aztán leellenőrzöd, hogy 5-e az értéke. Nyilván az lesz, miután azzal inicializáltad...
Eleve nem értem a kérdésed. Ha a júzer megetette az állatot, akkor állításod szerint ezt el is tárolod adatbázisban, hogy aznap már etetett.
Ha leellenőrzöd az adatbázisban, hogy adott napra született-e olyan bejegyzés, miszerint már kapott kaját az állat, akkor meg is kapod a választ: ha már van ilyen bejegyzés, akkor kiírod az ennek megfelelő üzenetet ("ma már megetetted a kedvencedet"), ha nem, akkor figyelmezteted, hogy etesse meg (vagy ahogy akarod), és ha megetette, akkor ezt letárolod adatbázisban.
Elég, ha az adatbázis-műveletekkel szórakozol, és az adatbázis bejegyzéseit ellenőrizgeted, ehhez nem kell számokat beállítgatni, és azt ellenőrizni, aminek épp előtte adtál értéket. -
Sk8erPeter
nagyúr
válasz
Fecogame #3704 üzenetére
De, kell változtatni, mert hiányos volt az eredeti kód: kimaradt egy sor:
<script type="text/javascript">
function clearForms()
...
Az első sor a lényeg, anélkül nem működőképes.A <script> résztől a </script> részig másold be a kódot az oldalad forráskódjának <head> részébe, még a bezáró </head> elé.
Hátha így érthetőbb.
És aztán ahogy sonar írta, a </head> utáni résznél következik az alábbi sor:
<body onLoad="clearForms()" onUnload="clearForms()"> -
Speeedfire
félisten
üdv!
mostanában elég sokat gyakorlok php alatt, eddig ingyenes tárhelyekre töltöttem fel a dolgaimat és ott teszteltem őket
viszont ez a megoldás nem mindig jó
ezért feltelepítettem a wampszerver 2.0i verziót
csak egyes fájlokat ha megnyitok a böngészőben akkor nem mutatja megfelelően a tartalmat
az a kérdésem ha feltelepítettem akkor utána milyen beállításokon kell módosítani h az össze függvényt engedélyezzem? -
Alex91
félisten
Arra van valami lehetoseg, hogy a PHP scriptbol meghivom a kulso progit, majd a hivo PHP script tovabb fut?
Új hozzászólás Aktív témák
Hirdetés
- Ryzen 7 5700X3D /// Bontatlan // Üzletből, számlával és Garanciával!
- Ryzen 7 8700G /// Bontatlan // Üzletből, számlával és Garanciával!
- Ryzen 5 9600X /// Bontatlan // Üzletből, számlával és Garanciával!
- IdeaPad 3 15ACH6 15.6" FHD IPS Ryzen 5 5500H RTX 2050 16GB 512GB NVMe magyar vbill gar
- Gigabyte G6X9KG 15.6" FHD+ IPS i7-13650HX RTX 4060 16GB 1TB NVMe gar
- Samsung Flip 2.0 PRO 65" WM65R + Connectivity tray + Gurulós állvány
- SZÜNETMENTES TÁPOK
- VÉGKIÁRUSÍTÁS - REFURBISHED - Lenovo ThinkPad 40A9 docking station
- Honor Magic 7 Pro - Fekete - Új kipróbált készülék! Karcmentes gyárilag független! 512GB Memória!
- Csere-Beszámítás! Felsőkategóriás számítógép PC Játékra! I9 13900KF / RTX 4080 / 32GB RAM / 1TB SSD
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest