Archívum - Ápr 20, 2008
Tömeges e-mail küldése Ruby on Rails alkalmazásból
Valós példa, éles környezetből
■ Ajaxos eseménynaptárnál karakterkódolási hiba, mysql ba..
Üdv!
Van egy ajaxos eseménynaptáram, de annyi problémám van vele, hogy az ékezetes betűket így írja be az adatbázisba:
űűűáááééúúő helyett ŹŹŹåååÊÊúúĹ�
az adatbázisba, ahol a szöveget tárolom, annak a mezőnek a karakterkódolása: latin2_general_ci
Hozzá kell tenni, hogy máshol jó az ékezet, csak ennél nem, de ha én írom be a phpmyadminba az ékezetes betűt, akkor jól jeleníti meg.
Szóval a beírással van a gond. na igen, ez úgy működik hogy egyik php átadja a másiknak a beírt szöveget ajax-al.
és én arra gyanakszok, hogy itt rontja el az ékezeteket..
Próbáltam már a lekérdezésnél UTF8 , LATIN2 , stb.. de egyikel se lett jó.
Szóval a beírást kéne megcsinálni, hogy ékezetesen írja be..
Kiszedtem a scriptből, így csak azt osztom meg, ami ehhez szükséges:
index.php (form):index.php (javascript):rpc.php (beszúrás az adatbázisba):rpc.php (lekérdezés, a SET NAMES-nál már többel is próbálkoztam, és egyik se lett jó.. [LATIN2, UTF8]):
[colorer=php]case 'listEvents':
$day = $_POST['d'];
$month = $_POST['m'];
$year = $_POST['y'];
$timeStamp = mktime(0,0,0, $month, $day, $year);
$eventQuery = mysql_query("SET NAMES `LATIN2` COLLATE `latin2_general_ci`");
$eventQuery = mysql_query("SELECT id, text FROM event WHERE timestamp='$timeStamp' ORDER BY id DESC");
if($eventQuery) {
if(mysql_num_rows($eventQuery) >0) {
echo '
Van egy ajaxos eseménynaptáram, de annyi problémám van vele, hogy az ékezetes betűket így írja be az adatbázisba:
űűűáááééúúő helyett ŹŹŹåååÊÊúúĹ�
az adatbázisba, ahol a szöveget tárolom, annak a mezőnek a karakterkódolása: latin2_general_ci
Hozzá kell tenni, hogy máshol jó az ékezet, csak ennél nem, de ha én írom be a phpmyadminba az ékezetes betűt, akkor jól jeleníti meg.
Szóval a beírással van a gond. na igen, ez úgy működik hogy egyik php átadja a másiknak a beírt szöveget ajax-al.
és én arra gyanakszok, hogy itt rontja el az ékezeteket..
Próbáltam már a lekérdezésnél UTF8 , LATIN2 , stb.. de egyikel se lett jó.
Szóval a beírást kéne megcsinálni, hogy ékezetesen írja be..
Kiszedtem a scriptből, így csak azt osztom meg, ami ehhez szükséges:
index.php (form):
- <div style="display: none; margin-top: 10px;" id="addEventForm">
- <b>Új esemény</b>
- <br>
- Date: <input type="text" size="2" id="evtDay" disabled> <input type="text" size="2" id="evtMonth" disabled> <input type="text" size="4" id="evtYear" disabled>
- <br>
- <textarea name="szoveg" id="evtBody" cols="32" rows="5"></textarea>
- <br>
- <input type="button" value="Új esemény" onClick="addEvent($F('evtDay'), $F('evtMonth'), $F('evtYear'), $F('evtBody'));">
- </div>
- <script type="text/javascript">
- function highlightCalendarCell(element) {
- $(element).style.border = '1px solid #999999';
- }
- function resetCalendarCell(element) {
- $(element).style.border = '1px solid #000000';
- }
- function startCalendar(month, year) {
- new Ajax.Updater('calendarInternal', 'rpc.php', {method: 'post', postBody: 'action=startCalendar&month='+month+'&year='+year+''});
- }
- function showEventForm(day) {
- $('evtDay').value = day;
- $('evtMonth').value = $F('ccMonth');
- $('evtYear').value = $F('ccYear');
- displayEvents(day, $F('ccMonth'), $F('ccYear'));
- if(Element.visible('addEventForm')) {
- // do nothing.
- } else {
- Element.show('addEventForm');
- }
- }
- function displayEvents(day, month, year) {
- new Ajax.Updater('eventList', 'rpc.php', {method: 'post', postBody: 'action=listEvents&&d='+day+'&m='+month+'&y='+year+''});
- if(Element.visible('eventList')) {
- // do nothing, its already visble.
- } else {
- setTimeout("Element.show('eventList')", 300);
- }
- }
- function addEvent(day, month, year, body) {
- if(day && month && year && body) {
- // alert('Add Event\nDay: '+day+'\nMonth: '+month+'\nYear: '+year+'\nBody: '+body);
- new Ajax.Request('rpc.php', {method: 'post', postBody: 'action=addEvent&d='+day+'&m='+month+'&y='+year+'&body='+body+'', onSuccess: highlightEvent(day)});
- $('evtBody').value = '';
- } else {
- alert('There was an unexpected script error.\nPlease ensure that you have not altered parts of it.');
- }
- // highlightEvent(day);
- } // addEvent.
- function highlightEvent(day) {
- Element.hide('addEventForm');
- $('calendarDay_'+day+'').style.background = '#<?= $eventColor ?>';
- }
- function showCP() {
- Element.show('cpBox');
- }
- function deleteEvent(eid) {
- confirmation = confirm('Are you sure you wish to delete this event?\n\nOnce the event is deleted, it is gone forever!');
- if(confirmation == true) {
- new Ajax.Request('rpc.php', {method: 'post', postBody: 'action=deleteEvent&eid='+eid+'', onSuccess: Element.hide('event_'+eid+'')});
- } else {
- // Do not delete it!.
- }
- }
- </script>
- case 'addEvent':
- $day = $_POST['d'];
- $month = $_POST['m'];
- $year = $_POST['y'];
- $body = $_POST['body'];
- $timeStamp = mktime(0,0,0, $month, $day, $year);
- $bodyF = addslashes(trim($body));
- mysql_query("INSERT INTO event (text, timestamp) VALUES ('$body', '$timeStamp')");
- break;
[colorer=php]case 'listEvents':
$day = $_POST['d'];
$month = $_POST['m'];
$year = $_POST['y'];
$timeStamp = mktime(0,0,0, $month, $day, $year);
$eventQuery = mysql_query("SET NAMES `LATIN2` COLLATE `latin2_general_ci`");
$eventQuery = mysql_query("SELECT id, text FROM event WHERE timestamp='$timeStamp' ORDER BY id DESC");
if($eventQuery) {
if(mysql_num_rows($eventQuery) >0) {
echo '
Érték kinyerése JS-sel PARAM tagből
akarok csinalnni 1 mp3 playert talaltam is 1 et
csak nem tudom beallitani a volume-ot.
Ezzel a fugvennyel probalkozk beallitani es ez van a html benA kerdesem az h a JS fugvenyben h kerhetnem le a volume parametert u h hozzaferjek a value-hoz ???
■ csak nem tudom beallitani a volume-ot.
Ezzel a fugvennyel probalkozk beallitani
- function setBoxValue(val, box) {
- var // b=document.getElementById('output'+box);
- v=document.getElementById('volume');
- //val=Math.round(val*1000)/1000;
- val=Math.round(val);
- //b.value=val;
- v.value=val;
- }
- <object id="player" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject" width="0" height="0">
- <param name="autoStart" value="0">
- <param name="balance" value="0">
- <param name="currentPosition" value="0">
- <param name="currentMarker" value="0">
- <param name="enableContextMenu" value="0">
- <param name="enableErrorDialogs" value="0">
- <param name="enabled" value="-1">
- <param name="fullScreen" value="0">
- <param name="invokeURLs" value="0">
- <param name="playCount" value="1">
- <param name="rate" value="1">
- <param name="uiMode" value="invisible">
- <param name="volume" id ="volume" value="100">
- <param name="URL" value>
- <param name="defaultFrame" value>
- <param name="baseURL" value>
- <param name="stretchToFit" value="0">
- <param name="windowlessVideo" value="0">
- <param name="SAMIStyle" value>
- <param name="SAMILang" value>
- <param name="SAMIFilename" value>
- <param name="captioningID" value>
- <embed id="player" type="application/x-mplayer2" src="" height="0" width="0">
- </object>
PHP AntiSPAM
Sziasztok!
írtam egy Captcha szkriptet és az lenne a kérdésem, hogyan lehetne azt megvalósítani, hogy betűnként más legyen a fok és a betűszín?
tehát ha van 4 betű, akkor mind a négynek más legyen a színe...
eddig jutottam:próbáltam az imagettftext() függvényt egy forciklusba tenni és azt substr()-el vagdosni, de nem akar úgy összejönni. Hogyan kéne ezt átírni, hogy betünként más színű legyen?
segítségeteket előre is köszönöm!
■ írtam egy Captcha szkriptet és az lenne a kérdésem, hogyan lehetne azt megvalósítani, hogy betűnként más legyen a fok és a betűszín?
tehát ha van 4 betű, akkor mind a négynek más legyen a színe...
eddig jutottam:
- <?php
- session_start();
- header("Content-type: image/png");
- $number = "";
- $KEY = "0123456789abcdefghijklmnopqrstuvwxyz";
- for($i = 0; $i < 4; $i++) {
- $number .= substr($KEY, rand(0, 36), 1);
- }
- $hash = md5($number);
- $_SESSION['ellenorzo'] = $hash;
- $imagewidth = 100;
- $imageheight = 50;
- $fontsize = "25";
- $fontangle = "0";
- $font = "jupitern.ttf";
- $text = $number;
- $backgroundcolor = "003366";
- $textcolor = "FF8A16";
- if( eregi( "([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})", $textcolor, $textrgb ) ) {
- $textred = hexdec( $textrgb[1] );
- $textgreen = hexdec( $textrgb[2] );
- $textblue = hexdec( $textrgb[3] );
- }
- $im = ImageCreateFromJPEG("bg.jpg");
- $fontcolor = imagecolorallocate($im, $textred,$textgreen,$textblue);
- $box = @imageTTFBbox($fontsize,$fontangle,$font,$text);
- $textwidth = abs($box[4] - $box[0]);
- $textheight = abs($box[5] - $box[1]);
- $xcord = ($imagewidth/2)-($textwidth/2)-2;
- $ycord = ($imageheight/2)+($textheight/2);
- imagettftext ( $im, $fontsize, $fontangle, $xcord, $ycord, $fontcolor, $font, $text );
- imagepng($im);
- imagedestroy($im);
- ?>
segítségeteket előre is köszönöm!