Internet: PHP, CGI, stb.

phpmyadminban feltöltött táblák ékezete utf8-környezetben

Üdv!

A probléma a következő:
Egy utf8_hungarian_ci-re beállított mysql adatbázis, és egyébként utf8 környezetben a phpmyadmin felületén bevitt ékezetes betűket tartalmazó adatok ékezethelyesen jelennek meg az admin felületén, azonban az adatokat felhasználó php által generált oldalon az ékezetes karakterek helyett fekete sarkára állított négyszögek jelennek meg kérdőjellel a közepükben.
Miért van ez, s hogy lehet ellene tenni?

A php-ból beállított charset:
[pre]<?php print '<?xml version="1.0" encoding="utf-8"?>'; ?>
[/pre]

MySQL beállításai (PHPMyAdmin szerint):
# MySQL charset: UTF-8 Unicode (utf8)
# MySQL connection collation: utf8_hungarian_ci

Tábla és a fieldek beállításai:
utf8_hungarian_ci

Amennyiben a böngészőből formokon keresztül töltök fel adatokat a saját php-mből, akkor phpmyadminal böngészve kettős karakterek jelennek meg az ékezetes betűk helyén, pl.: ó - ó, é - é. Ám ezeket lekérdezve saját php-ből jól jeleníti meg.
Továbbá, ha a böngészőből ráerőltetem a megjelenített lapra a latin1 kódolást, akkor értelemszerűen minden elcsesződik, viszont a MySQL-től kapott megjelenített adatok ékezethelyesek.

Arch Linux legújabb testing repó nélkül,
mysql Ver 14.12 Distrib 5.0.51, for pc-linux-gnu (i686) using readline 5.2
declare -x LANG="en_US.utf8"

Newsletter kuldo

Nahany tanacsra lenne szuksegem egy newsletter-kuldo keszitesehez.
Eddig egy fizetos hirlevelkuldot hasznaltam, de most tul sokba kerul, mivel mar 9000 feliratkozott van,
az egyik legfontosabb kerdesem az az, hogy kuldhetem e mondjuk a helyi szerverrol (ceg belso szervere) a hirleveleket (statikus ip, esetleg egy domaint is veszek ra, ha az szukseges, jelenleg egy aldomainre van beallitva az elerese), mennyire toleraljak ezt a SPAM filterek?
Ha valakinek van tapasztalata newsletterkuldo kesziteseben varom a jo tanacsokat. (Jo lenne par tanacs, hogy mik legyenek a header-ben)

jelenleg igy nez ki a kuldo osztaly


<?php

class sendingEngine {
	var $headers = '';
	var $semi_rand = '';
	var $mime_boundary = '';
	var $message = '';
	var $subject = '';

	function sendingEngine() {

	}

	function setSubject($subject) {
		$this->subject = $subject;
	}

	function setHeaders() {
		global $config;
		$this->headers .= 'From: ' . $config['newsletter']['from'] . "\n";
 		$this->headers .= 'Reply-To: ' . $config['newsletter']['return'] ."\n";
 		$this->headers .= 'Return-Path: ' . $config['newsletter']['return'] ."\n";

 		$this->semi_rand = md5(time());
 		$this->mime_boundary = '==Multipart_Boundary_x' . $this->semi_rand . 'x';

		$this->headers .= "MIME-Version: 1.0\n";
		$this->headers .= "Content-Type: multipart/alternative;\n";
		$this->headers .= '	boundary="' . $this->mime_boundary . '"' ."\n";



	}

	function setMessage($message) {
		$this->message =  	"\nThis is the text portion of the mixed message.\n\n" .
							'--' . $this->mime_boundary . "\n" .
							'Content-Type: text/html; charset="utf-8' . "\n" .
							"Content-Transfer-Encoding: 8bit\n\n"
							. $message .
							"\n\n--" . $this->mime_boundary . "--\n";
	}

	function send($mail, $name=null) {

		if ($name)
			$to = '"' . addslashes($name) . '" <' . $mail . '>';
		else
			$to =  $mail;

		$message = str_replace('{name}',$name,$this->message);

		return @mail(
					 $to,
					 $this->subject,
					 $message,
					 $this->headers
					);
	}
}
?>

JavaScript: IE esete az XMLobjetc-el

Helló

Egy Ajax-os oldalon ügyködöm. A lényeg, hogy a szervertől XML-ben kapom meg a szükséges adatokat, ezeket áta adom a megfelelő javascrip-es osztályoknak ameleyek megjelenítik azokat.
Na már most, firefoxban és operában szépen működik is minden, de az IE-ben a szervertől megkapott XML adatok nem tudom feldolgozni.

a következő sor után jelentkezik a probléma:

var p = Ajax.getResponse().getElementsByTagName('news');
var x = p.length;

az FF-ben az x == a news nodo-k számával
az IE-ben az x == 0, minden esetben

Tehát a kérdésem az lenne, hogy hogyan tudom kinyerni az adtokat (hogyan tudok hozzáférni a megfelelő nodo-okhoz) IE-ben?

A segítséget előre is köszönöm.

az XML felépítése a következő:

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<newscontent>
<news newsid='161' more='1'>
<title>...</title>
<byline><![CDATA[...]]></byline>
<content><![CDATA[...]]></content>
</news>
...
</newscontent>

továbbá beszúrom még az Ajax javascript osztályt is, a férreértések elkerülése végett

Ajax = {};

Ajax.makeRequest = function(method, url, callbackMethod){
this.x = "helo";
this.request = (window.XMLHttpRequest)? new XMLHttpRequest(): new ActiveXObject("MSXML2.XMLHTTP");
this.request.onreadystatechange = callbackMethod;
this.request.open(method, url, true);
this.request.send(url);
}

Ajax.checkReadyState = function(){
switch(this.request.readyState){
case 1:
return 'Loading ...';
break;
case 2:
return 'Loading ...';
break;
case 3:
return 'Loading ...';
break;
case 4:
AjaxUpdater.isUpdating = false;
return HTTP.status(this.request.status);
default:
return "An unexpected error has occurred.";
}
}

Ajax.getResponse = function(){
return ((this.request.getResponseHeader('Content-Type').indexOf('xml') != -1) ? this.request.responseXML : this.request.responseText);
}

[megoldva]PHP session

Sziasztok,
a kovetkezo problemaba utkoztem:
Van egy tobb lepeses regisztracios urlapom,
egy osztalyom ami letarolja az adatokat egy fileba.
A contructor:


	function registration() {
		session_name('valaminev');
		session_start();
		$this->Load(session_id());
	}

Sajnos barhol az oldalon az elso form POST utan ures index.php alomany-t kapok valasznak es amig nem uritem a cookiet minden lekeresre ez a valasz ( a Content-Type-ot sem definialja es igy a browser letoltes ablakot dob fel, ahol letolthetem az index.php allomanyt, ami uress)
Nincs php hibauzenet!
Be van kapcsolva az output buffering is.
Az index.php igy kezdodik:


	error_reporting(E_ALL);
	ob_start();
	header('Content-Type: text/html; charset=UTF-8'); 
	require_once('class/registration.php');
	$registration = new registration();

______________________________________________________________________________________________________
Megoldva!
A constructor tobszor volt meghivva egy masik osztalybol, parametereztem es igy csak 1szer hozza letre a session-t

Adott adatbázisban lévő adatok módosítása webformon keresztül

Sziasztok!

Egy kis segítséget szeretnék kérni.

Egy olyan webform-ra lenne szükségem, amivel módosíthatom egy adott táblában lévő adatokat.

Konkrétan:

Adott egy weboldal (a munkahelyem oldala) ahol vannak bizonyos csoportok meghatározva, ezen belül pedig nevek. Sok-sok ember neve. Ezek a nevek folyamatosan bővülnek és egy txt file-ból vannak beolvasva, amit rendszeresen módosítanom kell, de nagyon sok munka beszúrni egy új nevet, mert számozás is kell, amellett, hogy ABC sorrendben szerepelnek a nevek.. Ezért kaptam egy olyan megbízást, hogy próbáljak csinálni egy olyan webformot, ahol adminként be tudok szúrni új neveket bármikor és azt a weboldalon már számozva ill. abc sorrendnek megfelelően fogok látni.

Ez lenne az alap.

Ami még szép ebben a feladatban, az az, hogy vannak olyan tagok, akik Dr.-i címmel vannak ellátva és szeretnénk, ha a Dr. előtagot nem venné figyelembe a rendezés.

Addig rendben, hogy a vezetéknév szerint rendezze a sorokat (ugye SORT BY). Ez sikerült is.

Próbaképp már csináltam egy táblát az adott nevekkel és ha az sql webadminról beszúrok a táblába egy nevet, akkor azt abc sorrendben a helyére teszi, de a Dr.-okat egy más után, ami viszont nem jó. (az már más kérdés, hogy miért nem jó..:), de így kell megcsinálnom)

Tehát a lényeg az lenne, hogy webform-on, beszúrással elérjem azt, hogy az adatbázisba bekerüljenek az új adatok és ezeket a Dr. előtag figyelmen kívül hagyásával abc sorrendbe rendezze weben.

Nem tudom, hogyan köszönném meg a segítséget, de nagyon hálás lennék, nem szeretnék szégyenben maradni.
(nem kell helyettem megírni teljesen, csak kiindulópontot szeretnék kapni, ha lehet)

Előre is köszönöm!

Üdv!

PHP képméretezés minősége

Azt vettem észre, hogy az imagecopyresized() átméretezett képek minősége, finoman szólva is gyenge (nem lehet kitenni webre, ciki), méretarányos kb. 3000px=>200px-500px -re méretezéseket csinálok fotókról. Egy gimp-el, irfanview-val átméretezve ugyanaz nagyságrenddel jobb.
Mivel lehet a minőségen javítani?

$up_pic = imagecreatefromjpeg($tmp_pic_file);
$new_pic = imagecreatetruecolor($new_x,$new_y);
imagecopyresized($new_pic,$up_pic,0,0,0,0,$new_x,$new_y,$old_x,$old_y);
imagejpeg($new_pic,$new_pic_file,100);

Vagy felejtsem el a php-ból méretezést, ez ennyit tud és kész?

PHP teszt

Udv.,
Most szolt a fonokom, hogy le kene teszteljek egy palyazot PHP-s munkara (CMS modulok irasara, szamalzo weboldalak keszitesere) ,
sajnos ma d.u. es nincs idom ra, hogy oszeallitsak egy teljes tesztet.
Jol jonne ha tudna valaki egyet ajanlani (oldalt, vagy esetleg salyatot).

[SOLVED] - Drupal - Tablazat megjelenitese SQL query alapjan

Hello,

aki esetleg Drupal-ban otthonosan mozog:

Hogyan tudnek hatekonyan olyat elerni, hogy egy SQL select query eredmenye tablazatos formaban megjelenjen egy node-on belul (+ ha ez mar sikerult, akar meg formazast is adhassak neki)?

Magyarul: Egesz pontosan olyat szeretnek, hogy egy SQL query-t beagyazok egy adott node tipusba es a node megjelenitese eseten allitsa elo nekem a tablazatot az adatbazisbol kiszopott adatok alpjan.

Van esetleg ilyen celra valami modul, ami elkerulte a figyelememet?

Koszi!