Archívum - 2008 - Fórum téma
február 15
php5 is_dir() néha téved
Sziasztok!
Nagyjából egy hete akadtam bele abba a problémába, hogyha nem azt a mappát listázom, amiben a szkriptem is van, akkor nem "ismeri fel" az abban lévő mappákat (fájlnak nézi).
Már feltúrtam a fél internetet, de nem találtam semmit amivel előrébb juthattam volna.
A kód:
■ Nagyjából egy hete akadtam bele abba a problémába, hogyha nem azt a mappát listázom, amiben a szkriptem is van, akkor nem "ismeri fel" az abban lévő mappákat (fájlnak nézi).
Már feltúrtam a fél internetet, de nem találtam semmit amivel előrébb juthattam volna.
A kód:
<?php
header("Content-type: text/plain; charset=utf8");
$af = "./".$_GET['dir'];
$dir = opendir($af);
$cv = 0;
while(($file = readdir($dir)) !== false)
{
if($file != "." && $file != "..")
{
if(is_dir($file))
{
$nevek[$cv]['name'] = $file;
$nevek[$cv]['type'] = "DIR ";
$nevek[$cv]['size'] = "----";
$cv++;
}
else
{
$nevek[$cv]['name'] = $file;
$nevek[$cv]['type'] = "FILE";
$nevek[$cv]['size'] = filesize($af.$file);
$cv++;
}
}
}
closedir($dir);
print_r($nevek);
?>
Dátum szerinti összegzés, "üres" adatok esetén is
Van egy grafikon rajzoló program. Azt szeretném, hogy jelenítse meg mondjuk összegezve az adatokat az utolsó hét napra lebontva. Összegzésnél mondjuk a DATE() MySQL fv-t használom. A problémám az, hogy ha egy naphoz nincs bejegyzés, akkor az meg sem fog jelenni az eredmény listában.
Ilyet szeretnék:Ilyet kapok:Az egyik lehetséges megoldás az lenne, hogy erre a célra létrehozok egy "dates" táblát, amiben minden nap benne van és LEFT JOIN-nal kapcsolom ehhez a táblát, amit összegezni szeretnék. De ténylegesen létre is kell hoznom ilyen táblát vagy van vmilyen más lehetőség is?
■ Ilyet szeretnék:
+------------+--------+
| DATE() | SUM() |
+------------+--------+
| 2008-01-04 | 10 |
| 2008-01-05 | 20 |
| 2008-01-06 | 0 |
| 2008-01-07 | 0 |
| 2008-01-08 | 10 |
| 2008-01-09 | 15 |
| 2008-01-10 | 0 |
+------------+--------+
+------------+--------+
| DATE() | SUM() |
+------------+--------+
| 2008-01-04 | 10 |
| 2008-01-05 | 20 |
| 2008-01-08 | 10 |
| 2008-01-09 | 15 |
+------------+--------+
Görgetősáv gondok
Sziasztok!
Nagy problémám van, ami a következő:
Készítettem egy olyan Joomla alapú weboldalt, amibe fix méretű divek vannak. A scrollozás javascripttel lett megoldva, hogy képre cserélhessem a scrolbart. Ez teljesen jól működik tartalmi elemeknél, azonban ha dinamikus elemeket jelenít meg az oldal (mambot, komponens), akkor a görgetés megszünik létezni. Azt gyanítom a javascript miatt van, de biztos nem vagyok ebben.
Az oldal és a probléma ITT tekinthető meg.
A segítő választ köszönöm előrre is!
■ Nagy problémám van, ami a következő:
Készítettem egy olyan Joomla alapú weboldalt, amibe fix méretű divek vannak. A scrollozás javascripttel lett megoldva, hogy képre cserélhessem a scrolbart. Ez teljesen jól működik tartalmi elemeknél, azonban ha dinamikus elemeket jelenít meg az oldal (mambot, komponens), akkor a görgetés megszünik létezni. Azt gyanítom a javascript miatt van, de biztos nem vagyok ebben.
Az oldal és a probléma ITT tekinthető meg.
A segítő választ köszönöm előrre is!
február 14
DOM objektumhoz esemény csatolása dinamikusan.
Sziasztok!
Hogyan tudok egy DOM objektuhoz eseményt csatolni betöltődés után? Mondjuk az oldalon bekövetkező fejlemények határozzák meg, hogy kell-e majd a body-nak onunload.
s_volenszki
■ Hogyan tudok egy DOM objektuhoz eseményt csatolni betöltődés után? Mondjuk az oldalon bekövetkező fejlemények határozzák meg, hogy kell-e majd a body-nak onunload.
s_volenszki
Nagyon bonyolult MySQL lekérdezés
A gondom az lenne, hogy három táblából kéne lekérdezni egyszerre.
A táblák:
tagok:
azonosito (tinyint, elsődleges kulcs)
nev (varchar(40))
...
csoportok:(kapcsolótábla)
azonosito (tinyint, elsődleges kulcs)
vezetoId (tinyint, idegen kulcs(tagok.azonosito))
tagId (tinyint, idegen kulcs(tagok.azonosito))
csoportAdatok:
azonosito (tinyint, elsődleges kulcs)
vezetoId (tinyint, idegen kulcs(tagok.azonosito))
csoportNev (varchar(250))
...
Szükségem lenne a tagok táblából az 'azonosito'-ra és a 'nev'-re és a csoportAdatok táblából a 'vezetoId'-re és a 'csoportNev'-re. Ha lehet, akkor a 'vezetoId' helyett jobb lenne a tagok táblából hozzá tartozó 'nev' érték.
Nem tudom, hogy sikerült-e körvönalazni a problémát. Itt van az, amivel én próbáltam:Szinte biztos vagyok benne, hogy gyökereiben hülyeség, ami ide van írva.
Remélem tudtok segíteni.
Előre is köszi minden segítséget!
■ A táblák:
tagok:
azonosito (tinyint, elsődleges kulcs)
nev (varchar(40))
...
csoportok:(kapcsolótábla)
azonosito (tinyint, elsődleges kulcs)
vezetoId (tinyint, idegen kulcs(tagok.azonosito))
tagId (tinyint, idegen kulcs(tagok.azonosito))
csoportAdatok:
azonosito (tinyint, elsődleges kulcs)
vezetoId (tinyint, idegen kulcs(tagok.azonosito))
csoportNev (varchar(250))
...
Szükségem lenne a tagok táblából az 'azonosito'-ra és a 'nev'-re és a csoportAdatok táblából a 'vezetoId'-re és a 'csoportNev'-re. Ha lehet, akkor a 'vezetoId' helyett jobb lenne a tagok táblából hozzá tartozó 'nev' érték.
Nem tudom, hogy sikerült-e körvönalazni a problémát. Itt van az, amivel én próbáltam:
$MySQLparancs = "SELECT azonosito, nev, vezetoId, csoportNev FROM
tagok, csoportok WHERE ((" . /* ide vannak felsorolva az azonositok
pl így: */"tagok.azonosito = '2' OR tagok.azonosito = '3' ..." . ")
AND csoportok.tagId = tagok.azonosito AND csoportok.vezetoId =
csoportAdatok.vezetoId)";
Remélem tudtok segíteni.
Előre is köszi minden segítséget!
WAMP - DOM XML hiba
Sziasztok!
Kaptam egy weboldalt, amit installálni kell. A PHP és MySQL beállításokat rendben találta, viszont Dom Xml hibaüzenettel megszakadt az oldalak kicsomagolása. Wamp szervert használok. A következő hibaüzenetet kapom:
Lehetséges a WAMP szerver beállításain változtatni vagy letölthető hozzá ilyen modul? Próbáltam keresni, de nem találtam.
Köszönöm!
■ Kaptam egy weboldalt, amit installálni kell. A PHP és MySQL beállításokat rendben találta, viszont Dom Xml hibaüzenettel megszakadt az oldalak kicsomagolása. Wamp szervert használok. A következő hibaüzenetet kapom:
Your server configuration does not support system requirements of [...]. Your installation will not be continue. It must be to install some modules.
Lehetséges a WAMP szerver beállításain változtatni vagy letölthető hozzá ilyen modul? Próbáltam keresni, de nem találtam.
Köszönöm!
Bejelentkezés - setcookie probléma
Sziasztok!
Eléggé új vagyok a programozás terén, szóval előre is elnézést kérek mindenkitől, ha számotokra triviális dolgokra kérdezek rá.
Egy beléptető rendszert szeretnék létrehozni, ahol eljutottam addig, hogy leelenőrzi a felhasználót és a jelszavát és belépteti ha sikeres, ellenkező esetben nem.
A továbbiakban azt szeretném, ha sikeres bejelentkezés után létrehozna egy cookie-t, ami eltárolja a felhasználó nevét.
A kód:Amikor sikeresen bejelentkezik, azaz el kellene készülnie a cookienak, a következő hibát dobja ki:
Ami erre a sorra utal:Firefoxot használok és a cookie-k engedélyezve vannak.
Tudna valaki segíteni, hogy hol, miben lehet a hiba? Esetleg tudna valaki ajánlani valamilyen másik (számotokra logikusabb) bejelentkezés rendszert, ami nem cookie-val van megoldva?
- Előre is köszönet! -
■ Eléggé új vagyok a programozás terén, szóval előre is elnézést kérek mindenkitől, ha számotokra triviális dolgokra kérdezek rá.
Egy beléptető rendszert szeretnék létrehozni, ahol eljutottam addig, hogy leelenőrzi a felhasználót és a jelszavát és belépteti ha sikeres, ellenkező esetben nem.
A továbbiakban azt szeretném, ha sikeres bejelentkezés után létrehozna egy cookie-t, ami eltárolja a felhasználó nevét.
A kód:
include('connect.php');
$nick = $_REQUEST['nick'];
$jelszo = $_REQUEST['jelszo'];
$submit = $_REQUEST['submit'];
$hibas = $_REQUEST['hibas'];
$eredmeny = mysql_query("SELECT * FROM MyDB WHERE Nick like ('$nick') AND Jelszo like ('$jelszo')");
$login = mysql_num_rows($eredmeny);
if((isset($submit)) or (isset($hibas)))
{
if($login==1){
setcookie("MyCookie", $nick); //ez történik ha sikerül belépni
include('sikeres.php');
}else{
include('sikertelen.php'); //ez történik ha nem sikertül belépni
}
}else{
if(isset($hibas))
{
include('sikertelen.php');
}else{
include('form_bej.php');
}
}
Warning: Cannot modify header information - headers already sent by (output started at ...index.php:9) in ...index.php on line 55.
Ami erre a sorra utal:
setcookie("MyCookie", $nick); //ez történik ha sikerül belépni
Tudna valaki segíteni, hogy hol, miben lehet a hiba? Esetleg tudna valaki ajánlani valamilyen másik (számotokra logikusabb) bejelentkezés rendszert, ami nem cookie-val van megoldva?
- Előre is köszönet! -
nuSOAP hibakezelés
A nuSOAP segítségével kommunikálok egy ASP.NET-es webservice-zel. A kommunikáció működik rendesen, viszont azt nemtudom, hogy hogyan lehet normálisan hibakezelést megvalósíani.
Addig már eljutottam, hogy létrehozok egy proxy-t, ezen keresztül pedig egyszerű metódushívásokkal érem el a webservice funkcióit.
Beállítottam a kapcsolódási timeout-ot. Ha lejárt a megadott idő és nem sikerül kapcsolódni, akkor a getProxy metódus objektum helyett null-t ad vissza. Tehát ha nem jön létre a kapcsolat a megadott időn belül, akkor ilyen módon ezt le tudom kezelni.
De mi van a kérés visszaolvasása közben bekövetkezett időtúllépés esetén? Ezt hogyan tudnám lekezelni?
Sajnos sehol sem találtam doksit a nuSOAP-ról. Ami a sourceforge-ról le lehet tölteni az egy sima API doksi, de hát azzal sokra nem megyek. Az előnye, hogy nem a forrást kell böngésznem kezdésnek, de a végén úgyis azt kell megnéznem, mert semmi infó nincsen az API doksiban (azt is a forrásból sikerült kibogarászni, hogy hiba esetén null-lal tér vissza a getProxy).
A nuSOAP működését idő hiányában és úgy egyébként sem szeretném kód szinten megismeri, használni szeretném, de hát hivatalos doksi nélkül ...
Szóval van, valakinek gyakorlati tapasztalata a nuSOAP hibakezelésével kapcsolatban?
■ Addig már eljutottam, hogy létrehozok egy proxy-t, ezen keresztül pedig egyszerű metódushívásokkal érem el a webservice funkcióit.
Beállítottam a kapcsolódási timeout-ot. Ha lejárt a megadott idő és nem sikerül kapcsolódni, akkor a getProxy metódus objektum helyett null-t ad vissza. Tehát ha nem jön létre a kapcsolat a megadott időn belül, akkor ilyen módon ezt le tudom kezelni.
De mi van a kérés visszaolvasása közben bekövetkezett időtúllépés esetén? Ezt hogyan tudnám lekezelni?
Sajnos sehol sem találtam doksit a nuSOAP-ról. Ami a sourceforge-ról le lehet tölteni az egy sima API doksi, de hát azzal sokra nem megyek. Az előnye, hogy nem a forrást kell böngésznem kezdésnek, de a végén úgyis azt kell megnéznem, mert semmi infó nincsen az API doksiban (azt is a forrásból sikerült kibogarászni, hogy hiba esetén null-lal tér vissza a getProxy).
A nuSOAP működését idő hiányában és úgy egyébként sem szeretném kód szinten megismeri, használni szeretném, de hát hivatalos doksi nélkül ...
Szóval van, valakinek gyakorlati tapasztalata a nuSOAP hibakezelésével kapcsolatban?
február 13
kép és szöveg tárolása adatbázisban
üdv mindenki..
kis segítségre szorulok.. van 1 képfeltötőm és 1 listázó php scriptem. az a problémám, h az adatbázisban NEM tárolja el nekem a szöveget,csak a kép linkjét.. olyan oldalt szeretnék készíteni, h feltöltök 1 képet, és vele 1 megjegyzést is, és ezt adatbázisban tárolja.. nagyából kész.. csak a szöveget nem tárolja.. segítsetek..
képfeltötő kódja:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
if (isset($_POST['kepek'])){
$maxfilesize = 120000000; // A maximum file méret => 204800 = 200kb
$filedir = 'upload'; //Itt megadhatjuk a mappa elérését, ahova mentjük a képet. 777 legyen a mappa attribútuma
$size = $_FILES['userfile']['size'];
$type = $_FILES['userfile']['type'];
//Engedélyezett kép formátumok
if (($type == "image/jpg") or ($type == "image/gif") or ($type == "image/jpeg") or ($type == "image/png")){
if($_FILES['userfile']['size'] < $maxfilesize) {
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
if(!file_exists($filedir . '/' . basename($_FILES['userfile']['name']))){
if(move_uploaded_file($_FILES['userfile']['tmp_name'],$filedir . '/'.basename($_FILES['userfile']['name']))){
$kapcsolat = mysql_connect("localhost", "root",""); //kapcsolódás
$tabla="cdcol";
mysql_select_db($tabla); //adatbézis kiválasztás
mysql_query("INSERT INTO kepek (link,szoveg) VALUES ('http://localhost/lac_proba/proba/upload/".$_FILES['userfile']['name']."','".$_GET['szoveg']."')"); // a kepek táblába felvesszük a kép linkjét és a leíró szöveget
mysql_close($kapcsolat);
print "<div style='color:#006600;'>A file feltöltése sikerült!</div>";
echo '<br/><img src="upload/'.$_FILES['userfile']['name'].'" alt="" border="1" /><br/>';
echo'A kép elérési útvonala: http://localhost/lac_proba/proba/upload/'.$_FILES['userfile']['name'];
echo'<br/>a felvitt szöveg: '.$szoveg;
}
}else{
echo '<div style="color:#FF0000;">Ezen a néven már van kép tárolva!</div>';
}
}//is_uploaded
}else{
echo '<div style="color:#FF0000;">A kép mérete meghaladja a megengedett méretet!</div>';
}
}else{
echo '<div style="color:#FF0000;">A kép formátum nem megfelelo!</div>';
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Kép feltöltés</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<form enctype="multipart/form-data" action="kepfel_j.php" method="post">
<br>
<br>
<div align="center">
<p> </p>
kis segítségre szorulok.. van 1 képfeltötőm és 1 listázó php scriptem. az a problémám, h az adatbázisban NEM tárolja el nekem a szöveget,csak a kép linkjét.. olyan oldalt szeretnék készíteni, h feltöltök 1 képet, és vele 1 megjegyzést is, és ezt adatbázisban tárolja.. nagyából kész.. csak a szöveget nem tárolja.. segítsetek..
képfeltötő kódja:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
if (isset($_POST['kepek'])){
$maxfilesize = 120000000; // A maximum file méret => 204800 = 200kb
$filedir = 'upload'; //Itt megadhatjuk a mappa elérését, ahova mentjük a képet. 777 legyen a mappa attribútuma
$size = $_FILES['userfile']['size'];
$type = $_FILES['userfile']['type'];
//Engedélyezett kép formátumok
if (($type == "image/jpg") or ($type == "image/gif") or ($type == "image/jpeg") or ($type == "image/png")){
if($_FILES['userfile']['size'] < $maxfilesize) {
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
if(!file_exists($filedir . '/' . basename($_FILES['userfile']['name']))){
if(move_uploaded_file($_FILES['userfile']['tmp_name'],$filedir . '/'.basename($_FILES['userfile']['name']))){
$kapcsolat = mysql_connect("localhost", "root",""); //kapcsolódás
$tabla="cdcol";
mysql_select_db($tabla); //adatbézis kiválasztás
mysql_query("INSERT INTO kepek (link,szoveg) VALUES ('http://localhost/lac_proba/proba/upload/".$_FILES['userfile']['name']."','".$_GET['szoveg']."')"); // a kepek táblába felvesszük a kép linkjét és a leíró szöveget
mysql_close($kapcsolat);
print "<div style='color:#006600;'>A file feltöltése sikerült!</div>";
echo '<br/><img src="upload/'.$_FILES['userfile']['name'].'" alt="" border="1" /><br/>';
echo'A kép elérési útvonala: http://localhost/lac_proba/proba/upload/'.$_FILES['userfile']['name'];
echo'<br/>a felvitt szöveg: '.$szoveg;
}
}else{
echo '<div style="color:#FF0000;">Ezen a néven már van kép tárolva!</div>';
}
}//is_uploaded
}else{
echo '<div style="color:#FF0000;">A kép mérete meghaladja a megengedett méretet!</div>';
}
}else{
echo '<div style="color:#FF0000;">A kép formátum nem megfelelo!</div>';
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Kép feltöltés</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<form enctype="multipart/form-data" action="kepfel_j.php" method="post">
<br>
<br>
<div align="center">
<p> </p>
IP cím rögzítése MSQL adatbázisba
Valaki nem tudja hogy ez így miért nem jó?Azt szeretném hogy:
A látogató ip címét a "users" táblában a felhasználóhoz tartozó mondjuk "ip" mezőbe beleíratni?
■ <?
$ip = getenv('REMOTE_ADDR');
$username = $_SESSION['username'];
include 'constants.php';
$mysql = mysql_connect(DBHOST,DBUSER,DBPASS);
mysql_select_db(DBNAME,$mysql);
$connection = mysql_pconnect(DBHOST,DBUSER,DBPASS)
or die ("Couldn't connect to server.");
$db = mysql_connect(DBHOST,DBUSER,DBPASS);
mysql_select_db(DBNAME,$db);
$parancs = "INSERT INTO `users` (`ip`) VALUES ('$ip') WHERE username = '$username'";
?>
A látogató ip címét a "users" táblában a felhasználóhoz tartozó mondjuk "ip" mezőbe beleíratni?