ugrás a tartalomhoz

Archívum - Okt 2007 - Fórum téma

október 11

Üres sor file elejen

DonPepito · 2007. Okt. 11. (Cs), 12.40
Üdv.!

Az oldalon, amit most készítünk, a következő a hiba: ie6 és 7 esetében a fejléc alá csúszik a tartalom rész. A forrást megnézve látszik, hogy van egy üres sor az elején, és a validátor azt mondja, hogy "Byte-Order Mark found in UTF-8 File." Arra gondoltam, hogy emiatt keletkezik az üres sor, de végignéztük az összes fájlt, amiken dolgozunk, és mindegyikből kiszedtük, mégis a probléma továbbra is fennáll.
 

fájlfeltöltési probléma

numen · 2007. Okt. 11. (Cs), 12.37
Sziasztok!!

csináltam egy formot, amihez dinamikusan rakhatom hozzá a fájlbeviteli mezőket, ezeknél rendre name="1,2,..."
Egy php scripttel végigszaladok aztán a $_FILES tömbön, és berakom a fájlokat a helyükre. Illetve beraknám, mert valami huncut hibát jelez a dolog.

A extrajó szolgáltatónál, aminek nem írom le a nevét máshol működött a feltöltés...

a script, amivel ügyködök, így néz ki:
<?php
$kezdet = 1;
for ($i = $kezdet; $_FILES[$i]; $i++) {
    $uploadfile = "./kepek/kep" . $i . "." . getextension($_FILES[$i]['name']);
    if (move_uploaded_file($_FILES[$i]['tmpname'],$uploadfile)) {
        echo "A(z) " . $i . ". számú fájlt sikeresen feltöltöttem...<hr/>";
    } else {
        echo "<hr/> valamit elszúrtam itt: " . $i . ". Ide próbáltam rakni: '" . $uploadfile . "'<br/><pre>"; print_r($_FILES[$i]); echo "</pre>\n";
    }
}
?>
ez a következő kimetetet adja:
...
valamit elszúrtam itt: 1. Ide próbáltam rakni: './galleries/kep1.JPG'

Array
(
[name] => IMGP0238.JPG
[type] => image/jpeg
[tmp_name] => /nfs/extra/****/phpHUm929
[error] => 0
[size] => 176286
)

valamit elszúrtam itt: 2. Ide próbáltam rakni: './galleries/kep2.JPG'

Array
(
[name] => IMGP0253.JPG
[type] => image/jpeg
[tmp_name] => /nfs/extra/****/phpILg66k
[error] => 0
[size] => 378639
)
...

(a scriptet leegyszerűsítettem)
Máshol működik a tárhelyen feltöltés, ott így néz ki a dolog:
[colorer=php]
$uploadfile = mres("uploads/" . $sorszam . "_" . $user . "_" . $title . "." . getextension($_FILES['tetel']['name']));
if (move_uploaded_file($_FILES['tetel']['tmp_name'], $uploadfile)) {
echo "UPLOAD_OK\n";
$meret = filesize($uploadfile);
$datum = date("Y-m-d H:i:s");
$path=$uploadfile;
if (mysql_query("INSERT INTO tetelek VALUES('','$sorszam','$title','$tantargy','$path','$user','$meret','$datum')")) {

ENTER gomb letiltasa az urlapon ill. funkciojanak megvaltoztatasa

gaboss · 2007. Okt. 11. (Cs), 11.19
Sziasztok.

Ha letesitek az oldalon egy urlapot, pl.:

<form name="urlap" action="aaa.php" method="post">
<input type="text" name="nev">
<input type="text" name="cim">
...
<input type="submit" value="elkuld">
</form>


akkor az urlapon az adatok nemcsak akkor kerulnek elkuldesre az "aaa.php"-ba, amikor az "elkuld" gombra kattintunk, hanem akkor is, ha az urlapon kitoltes kozben lenyomjuk az ENTER gombot. Ez viszont eleg zavaro. Le lehet valahogy tiltani ezt az aktivizalast?

Egy masik kerdes: Hogy lehet megoldani, hogy az ENTER gomb ugyanolyan funkciot toltson be, mint a TAB? Arra gondolok, hogy ha valaki nem az egeret hasznalja a mezok kozotti mozgasban, hanem kenyelmesebben a TAB gombot, akkor lehetosege legyen ugyanilyen ugralasra a mezok kozott az ENTER gomb hasznalataval is.

A segitseget elore is koszonom.
 

Fálj feltöltés PHP-val (HIBA!)

neumann · 2007. Okt. 11. (Cs), 11.04
Sziasztok!

Segítséget szeretnék kérni. A következő a gondom, átköltöztünk egy új tárhelyre és az árlista feltöltő PHP az alábbi hibaüzenetet produkálja.
Mi lehet a gond, hogyan tudnám orvosolni?

Warning: copy(szinesfem_arlista.pdf) [function.copy]: failed to open stream: Permission denied in /www/data/www."valami".hu/arlista/processFiles.php on line 26

[colorer=$copy = copy($_FILES['uploadFile'. $x]['tmp_name'],"szinesfem_arlista.pdf");][/colorer]

Notice: Undefined variable: file_name in /www/data/www."valami".hu/arlista/processFiles.php on line 32
| Nem sikerült feltölteni!

[colorer= echo "$file_name | Nem sikerült feltölteni!<br>";][/colorer]

Segítségeteket előre is köszönöm.

Üdv: NT
 

október 10

SQL hozzáférés szabályozás

winston · 2007. Okt. 10. (Sze), 21.11
a véleményeteket szeretném kérni. felmerült két koncepció, és a meglátásotokat szeretném hallani, hogy ki szerint melyik és miért az előnyösebb. az alapgondolat az, hogy a webről használt mysql hozzáférést szeretném minél jobban szűkíteni. ennek első lépése, hogy tárolt eljárásokat és függvényeket használok, és csak ezeket hívom a php-ből. erre van egy mysql user-em, ami aztán csak ezt tudja csinálni (a függvényekben: SQL SECURITY DEFINER, vagyis nem az ő jogaival fut, szóval ebből nincs gond). No és persze van adminoldal. és itt merül fel szemléleti kérdés:

1. admin oldalról is ugyan ez a user fut, implementálom az ehhez szükséges többi eljárást, amik ugye más/nagyobb változtatásokat érnek el az adatbázison.
2. az adminoldal egy másik, több joggal rendelkező mysql user-ként fut.

a fő ok, amiért vacilálok, hogy ha neadjisten valakinek sikerült elérnie a szerveren tárol mysql felhasználót / jelszót, és sikerülne kapcsolatot kiépítenie az adatbázissal, akkor az első esetben korlátozottabb a mozgásköre, viszont a függvények továbbra is engednék a módosítást. az igazi megoldás az lenne, ha az admin külön futna, és nem tárolódna / máshol tárolódna a jelszó. az mondjuk lehetőség, hogy az adminok külön user-t használnak, ami viszont csak localhost-ról tud belépni, de ez ugye csak akkor megoldás, ha az admin mindig ott van helyben, ami nem igazán kivitelezhető. vélemények?
 

Paraméter átadás PHP-ből Javascript-be

Blackfriar · 2007. Okt. 10. (Sze), 17.53
Sziasztok!

Az alábbi kódvázlatban a PHP-ből szeretném átadni a változó értékét egy Javascript-nek.
Mi ennek a módja? Mivel PHP-ben kezdő vagyok, ezért kérem, részletesen magyarázzátok el a megoldást.
Segítségeteket előre is köszönöm.
Üdv

<html>
<body>
<?php
$d = date("N");
?>
.
.
.
.
<script>
.
.
.
</script>
</body></html>
 

Alert üzeneteket feldobó weboldal bezárás a böngésző nélkül

Emul · 2007. Okt. 10. (Sze), 11.25
A multkor belefutottam ujra egy ilyen idegesito oldalba ami ha be akarod zarni akkor elkezd alertelni mint az allat, es ugye addig nem zarodik be mig vege nem lesz az alertfolyamnak.
Annyira nem gaz a dolog mert ugye az ember ratenyerel az enterre es mar kesz is, de eszembe jutott hogy miert nem lehet ezt valahogy ertelmesen megszakitani. Mert persze bezarhatom a bongeszot es akkor oprendszer szinten orvosoltam a dolgot, de nem lehetne ezt valahogy kulturaltan megoldani hogy tab bezarasakor az egesz "kornyezetet" szuntesse meg? Vagy az alert kulonleges ebbol a szempontbol, rendszerhivaas lenne, bar ketlem hogy barmi koze lenne az oprendszerhez az alert feldobasanak?

Vagy tul sok szabadidom van es hulyesegeken gondolkodok? :)
 

Diszkrét JavaScript update-elt tartalomra (prototype)

Babar · 2007. Okt. 10. (Sze), 00.07
Prototype-al próbálok class-onként tulajdonságokkal felruházni elemeket. Az elemek eseménykezelőit az onLoad eseménykezelője rendeli az elemekhez, például a class="ajaxUpdater" osztályba tartozókhoz így:

Event.observe(window, 'load', myLoader, false);

function myLoader(evt) {

    ... 

    var AjaxUpdaterObject = Class.create();
    AjaxUpdaterObject.prototype = {
        initialize: function(element) {

            this.element = $(element);
            this.id = this.element.getAttribute('id');
            this.url = $F(this.id+'Url');
            this.myAjax = new Ajax.Updater(
                this.id,
                this.url,
                {
                    method: this.element.getAttribute('method'),
                    parameters: $F(this.id+'Pars'),
                }
            );
        }
    }

    var ajaxUpdaterElements = new Array();
    $$('.ajaxUpdater').each(
        function (elem, index) {
            ajaxUpdaterElements.push(new AjaxUpdaterObject(elem));
        }
    );

}
A gondom akkor van, ha az oldalon egy részt ajaxUpdater-rel lecserélek. Az új elemek eseménykezelőit hogy állítsam be? Próbáltam az onComplet esetén meghívni valami függvényt, ami elvégzi a hozzárendelést, de nem működik (onComplet: myUpdateLoader(this.element) { ... })? Hogy kellene ezt rendesen megcsinálni?
 

október 9

HTML-t tartalmazó karakterláncban TAG-hez attributum hozzáadás.

Sweetchack · 2007. Okt. 9. (K), 20.45
Sziasztok

A segítségeteket szeretném kérni az alábbi esethez.
Egy karakterláncban, ami HTML elemeket is tartalmaz, bizonyos TAG-hez egy attributomot kell hozzáadni.

Az bemeneti szöveg($text) nagyon sok féle lehet ezért a RegEx-et nem akartam használni.

<html>
	<head>
		<!-- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-2"> -->
		<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
	</head>
<body>

<?php
	$text = 'öÖ üÜ óÓ őŐ úÚ éÉ áÁ űŰ íÍ
<img id="kulso-no-src">
valami rendes szoveg
<img src="kamu.jpg" id="kulso-with-src">
<div>
	<img id="belso-no-src">		
	<img src="kamu.jpg" id="belso-with-src">
	<div>
		itt is egy rendes szoveg
		<img id="nagyon-belso-no-src">		
		<img src="igazi.jpg" id="nagyon-belso-with-src">
	</div>
</div>'
	; 
	
	
	echo "<pre>" . $text . '</pre>';	
		
	$doc = new DomDocument();	

	$doc->preserveWhiteSpace = true;
	$doc->formatOutput = false;
	
	$doc->loadHTML($text);
	
	$nodes = $doc->getElementsByTagName('img');
	
	foreach ($nodes as $node)
	{
		if(
			$node->hasAttribute('src')
			AND
			!$node->hasAttribute('usemap')
			AND
			$node->getAttribute('src') == 'igazi.jpg'
		)
		{
			$node->setAttribute('usemap', '#imagemap-6-640-480');
		}
	}	
	$result = $doc->saveHTML();
	$begin = "<html><body>\n<p>";
	$end = '</body></html>';
	$result = substr
	(
		$result,
		strpos($result, $begin) + strlen($begin),
		-1 - strlen($end)
	);
	
	//$table = get_html_translation_table();
	//$table = array_flip($table);
	//$result = strtr($result, $table);	
	
	//$result = html_entity_decode($result);
	echo "<pre>" . $result . '</pre>';		
?>
</body>
</html>
A fenti kód részlet látszatra jól működik, de az ékezetes karakterekkel gondok vannak.
Fontos lenne hogy a szöveg többi részén semmilyen változás ne történjen.

Javaslatoknak nagyon fogok örülni :)
Dávid Andor
 

SESSID az URL-ben

true.fx · 2007. Okt. 9. (K), 16.50
Sziasztok!

A probléma a következő. A weboldalunkon úgy működik a session, hogy ha a browser nem képes a cookie-kat fogadni, vagy ki van kapcsolva a cookie fogadás, akkor URL-ben, illetve hidden mezőben adja át a session ID-t. Ez idáig rendben is lenne, de sajnos van nálunk olyan munkakörben valaki hogy S(earch)E(ngine)M(arketing) Manager, és problémát okoz neki, hogy a Google leindexeli olyan URL-eket, amiben "SESSID=nagyonrondahosszústring" található. :)

Azt találtam ki, hogy ha a HTTP_USER_AGENT -ben googlebot (vagy nem tudom mit küld pontosan a Google Bot) szerepel, akkor ini_set -tel bekapcsolom a session.use_only_cookies direktívát, még az oldal generálása előtt. Persze ez mindenféle teljesítmény problémát fog okozni (okos programozók itt a sessionben cache-elnek keresési eredményeket pl.), de üsse kő, kapja meg a management amire vágyik.

Szerintetek fog ez így működni, ill. van e jobb megoldás erre?