Internet: PHP, CGI, stb.

[megoldva] mail feldolgozás

Sziasztok,

A levelező szerver egy bizonyos postafiókba érkező leveleket átadja egy php scriptnek. Ezt a levelet kellene feldolgozni. Sajnos rég foglalkoztam php-vel és fogalmam sincs hogy fogjak hozzá a probléma megoldásához. Első lépésként jó lenne tudni hogy érem el a levél teljes tartalmát a php script-ből?

PHP form validation koncepcio

Turtam a net-et, es a php manualt, de ami nekem kell az nem igazan talatam meg, pedig valoszinuleg az orrom elott van.

Adoott pl. login form
- js kliensoldali ellenorzes, ha ok akkor tovabb a
- login_ell.php szerveroldali ellenorzes,
- ha minden ok tovabb header("location:kezdolap")
- hiba eseten vissza header("location:form") form-ra, ez esetben hogyan adjam vissza az ediig beirt adatokat?
$_GET eleg tragyan nez ki, foleg megjegyzes tipusu mezonel.
Session valtozo?
$_POST ez tetszene, csak nem jottem ra azt hogyan lehet megvalositani.
Avagy hogyan kell ezt kulturaltan megcsinalni?

IE7 és a táblázatcella szélessége

A mai nap szántam egy kis időt arra, hogy az Internet Explorer egyik érdekes viselkedésmódját tanulmányozzam. A végére viszont elakadtam, elkelne egy kis segítség...

Adott két nagyon egyszerű HTML kódocska, melyek egyetlen karakterben különböznek egymástól.
Megjelenítésük mégis kicsit "furcsán" történik IE7 alatt. (A többi verziót nem próbáltam, valójában nem is érdekel, inkább csak a probléma izgat.)

Lássuk:Első oldal


<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hu" lang="hu">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<table cellpadding="0" cellspacing="0" border="0" align="center" width="100%">
  <tr>
    <td colspan="3" bgcolor="pink">12345678901234567</td>  
    <td bgcolor="blue"></td>
  </tr>
  <tr>
    <td width="100" bgcolor="yellow">100</td>  
    <td bgcolor="magenta">auto</td>  
    <td width="12" bgcolor="green">12</td>  
    <td width="100" bgcolor="red">100</td>  
  </tr>
</table>
</body>
</html>

Saját böngésződben megtekintheted, ha ide kattintasz: 1.html.
Az oldal az általam ismert összes böngészőben helyesen jelenik meg, valahogyan így:

Második oldal


<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hu" lang="hu">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<table cellpadding="0" cellspacing="0" border="0" align="center" width="100%">
  <tr>
    <td colspan="3" bgcolor="pink">123456789012345678</td>  
    <td bgcolor="blue"></td>
  </tr>
  <tr>
    <td width="100" bgcolor="yellow">100</td>  
    <td bgcolor="magenta">auto</td>  
    <td width="12" bgcolor="green">12</td>  
    <td width="100" bgcolor="red">100</td>  
  </tr>
</table>
</body>
</html>

Az egyetlen karakter különbséget piros színnel jelöltem.
Saját böngésződben megtekintheted, ha ide kattintasz: 2.html.
IE7 alatt az oldal megjelenítése kissé érdekes: a pixelben megadott táblázatcella-szélességek kalkulálása nem sikerül tökéletesen.

A második sor harmadik cellája szemmel láthatóan nem 12 pixel széles.
Mint látható, az egyes cellákban feltüntettem azt a hosszt, amit szélességben meg (kellene) határoznia a HTML kódnak.

És mindezt az okozza, hogy a táblázat első sorának első cellájának tartalmát, vagyis a megjelenítendő szövegrészt 17 karakterről 18 karakter hosszúra bővítettem.

Van erre magyarázat?

*** UPDATE ***

Többek javaslatára módosítottam a kódot, a 'with' attribútum helyett CSS-ben határozom meg a cellák szélességét:

1css.html
2css.html

De az IE7 megjelenítésén ez mit sem változtat...

*** UPDATE2 ***

Valid XHTML változat:

http://cpu.hu/2css.html

php, curl - nem ertem

Azt mar megszoktam, hogy egy progi egyszer megy, masszor nem, de ez mar tulzas, amit muvel. Arrol van szo, hogy van egy php script, ami cURL-t hasznalva elkuld egy POST kerest. Normalis esetben jon is ra valasz, neha hamarabb, maskor kicsit kesve, de jon. Aztan van olyan eset, amikor sokat kesik, es igy hiaba jon valasz, a script nem tudja feldolgozni, mert kozben megszakad a TCP kapcsolat. Probaltam timeout-okat (php, curl) beallitani, de nem az a baja. Tcpdump kimenetben azt latom, hogy a kliens elkuldi a POST kerest, utana meg kuld egy FIN,ACK-ot. Es nem a timeout miatt, mert van olyan, hogy a keres elkuldese utan 2 masodperc mulva kuldi. Strace-el is neztem, de csak azt latom, hogy "poll(" es kesz, ez az utolso sor...

Kerdesem az lenne, hogy mivel lehetne ezt debug-olni, mivel lehet azt megtudni, hogy miert kuldi a FIN,ACK-t a kliens? Vagy az sctrace-nek van-e olyan kapcsoloja, amivel ezt ki lehet deriteni?
Amin a php script fut(kliens gep) azon Fedora Core release 6 (Zod) van, kernel 2.6.22.7-57.fc6.

Ki, milyen free webshopot használ?

Sziasztok!

Érdekelne, hogy kinek milyen tapasztalata van a free webshop scriptekkel és melyik használatát javasolja.

A következőket szeretném, ha tudná:
- többnyelvűség.
- raktárkészlet kezelés.
- felhasználóbarátság.
- php/mysql support.
- extra modulok (mitomén hónap ajánlata, kapcsolodó termékek, stb)

Thx & BUÉK,
sne

reguláris kifejezések

Sziasztok,

Reguláris kifejezésbe mélyedtem bele és van egy példám ami működik és megoldottam a problémát, de nem csak php-vel kapcsolatban szeretnék regex guru lenni hanem mindenhol, javascript, linux bash stb. és kivi lennék, hogy lehetne másként megoldani ezt:
$string='';
$tartalom=preg_replace('("\w+.+png")', "\"mimi.jpg\"", $string);
/*$tartalom=preg_replace('("\d\")', "\"mimi.jpg\"", $string);*/
echo $tartalom;

Html van egy sztringben. ahol idézőjel ben egy png formátumú kép van azt cserélje le a mimi.jpg képre. Azt szeretném elérni, hogy az idézőjelet ne vegy bele, hanem az idézőjel közötti tartalmat vizsgálja csak és ne kelljen "\"mimi.jpg\""-re cserélni, hanem csak "mimi.jpg"re...

Egyébként bashben rinyál a zárjójelek miatt, azt ajánlja hogy `('duma')` így használjam de ennek más jelentése van ...

Lap elévülés

Sajna valamiért nem sikerül olyan header beállítást csinálnom, ami azt eredményezné, hogy a böngésző back gombjánál azt írja ki, elévült a lap. Emelett nem akarom, hogy tárolja a böngésző az oldalt.Ezt "szedtem" össze, de nem jutottam elöbbre.


    header("Content-Type: text/html; charset=utf-8");
    header("Expires: " . gmdate("D, d M Y H:i:s",(time()))  . " GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header('Cache-Control: pre-check=0, post-check=0, max-age=0');
    header("Pragma: no-cache");
    header('Pragma: public');
    header("Expires: 0");

Php feltetel valtoztatas? <Megoldva>

Sziasztok. Olyan prolémában kérném a segitsegeteket hogy van egy webshoppom amiben mar meg van a minimum rendelés határozva de en ugy szeretném átirni hogy ez ne minimum rendelés hanem rendelési egység legyen., tehát csak 20asaval vagy 30asaval lehessen rendelni.
Ez a kodreszlet ami szerintem eldonti ezt. Probalkoztam a %-os osztast megvalositani de sajnos a tudasom nem eleg hozza

//Minimum quantity code
if(MINIMUM_ORDERS == 'true'){
$min_order_query = tep_db_query("select p.minorder as min_quant FROM " . TABLE_PRODUCTS . " p where p.products_id = '".$products[$i]['id']."'");
while ($min_order = tep_db_fetch_array($min_order_query)) {
if ($products[$i]['quantity'] < $min_order['min_quant'] ) {
$products[$i]['min_quant']=$min_order['min_quant'];
}
}
if ($products[$i]['quantity'] < $products[$i]['min_quant'] ) {
$products[$i]['quantity']=$products[$i]['min_quant'];
$cart->add_cart($products[$i]['id'],$products[$i]['quantity'],$products[$i]['attributes']);
$cart_notice = sprintf(MINIMUM_ORDER_NOTICE, $products[$i]["name"], $products[$i]["min_quant"]);
}
}
//End Minimum quantity code

Remelem tud vki nekem segiteni. koszonom