php+jquery+ajax開発抽選機能モジュールダウンロード
php+jquery+ajax实现抽奖系统模块代码如下:
首页在抽奖前需要将所有人员的参与名单在屏幕上滚动显示,所以就用jquery实现了,
1. 参与名单将放在一个txt文件里面,我将放到 phones.txt:
首先用ajax读取读取数据:
<script type="text/javascript"> $(document).ready(function(){ var phones; var list_phones = ''; $.ajax({ url: './get_set.php', type: 'POST', dataType: 'text', data: {'action' : 'get'}, success: function(data){ if(data && data != ''){ phones = data; phones = phones.split(','); //开始将参与名单滚动 for(var j=0; j<phones.length; j++){ list_phones += phones[j] + '<br />'; } var list_content = $('<div />').addClass('list-div').css({'position' : 'relative', 'top' : 0}).html(list_phones); $('#list-phones').append(list_content); //alert($('#list-phones').html()); //alert($('.list-div').height()); } } }); //list-phones : height=3162 - 200; var list_phones_h = 0; var list_start = setInterval( function(){ if(parseInt($('.list-div').position().top) < -2962){ $('.list-div').animate({top : 0}); list_phones_h = 0; } $('.list-div').animate({top : '-' + list_phones_h + 'px'}, function(){list_phones_h+=34;}); }, 1000 ); var start; //中奖名单 var $s = ''; //奖项 var jx; //是否开始 var flag = false; $('#start').click(function(){ start_chou(); }); $('#stop').click(function(){ stop_chou(); }); $(window).bind('keydown', function(event){ if(event.keyCode === 32){ !flag ? start_chou() : stop_chou(); } }); //开始抽奖 function start_chou(){ if(phones.length == 0){ $('#texes').val('error: 都抽完了,没有可参与的抽奖名单了!'); $('#current').val(''); return; } //关闭滚动 clearInterval(list_start); $('#list-phones').detach(); jx = $("input[name='jx']:checked").val(); if(!jx || jx == ''){ $('#texes').val('您还没有设置本次抽奖奖项!'); return; } if(!flag){ //alert(jx); $('#current').val(''); $('#texes').val('正在随机抽取,请耐心等待......'); flag = true; setTimeout(function(){ start = setInterval(function(){ $('#rrss').val(function(){ var len = phones.length; var rand = Math.floor(Math.random() * len); //console.log(rand); return phones[rand]; }); $('#current').val(Math.floor(Math.random() * 100000000000000000)); },1); }, 500); } } //停止抽奖 function stop_chou(){ if(flag){ flag = false; clearInterval(start); $('#current').val($('#rrss').val()); if(jx === 'tex'){ $s += '特等奖: ' + $('#current').val() + ','; $('#texes').val('特等奖!'); }else if(jx === 'one'){ $s += '一等奖: ' + $('#current').val() + ','; $('#texes').val('一等奖!'); }else if(jx === 'two'){ $s += '二等奖: ' + $('#current').val() + ','; $('#texes').val('二等奖!'); }else if(jx === 'three'){ $s += '三等奖: ' + $('#current').val() + ','; $('#texes').val('三等奖!'); }else{ $s += ''; $('#texes').val('您还没有设置本次抽奖奖项!'); } //本次抽奖完成后,自动移出本次获奖名单,不参与之后的抽奖 getIndex(phones, $('#current').val()); //将获奖名单写入到rs.txt文件中,记录获奖名单 set($s); //alert($s); } } function getIndex(arr, val){ var index = -1; for(var i=0; i<arr.length; i++){ if(arr[i] == val) index = i; } arr.splice(index, 1); //alert(index); } //将中奖信息写入 function set(rs){ $.ajax({ url : 'get_set.php', type: 'POST', dataType: 'text', data: {'action' : 'set', 'rs' : rs}, success: function(data){return true;} }); } $(document).ready(function(){ $(window).bind('keydown', function(event){ if(event.keyCode === 37 || event.keyCode === 38){ window.location.href = 'index.html'; } }); }); }); </script>
get_set.php文件直接读取phones.txt文件,将参与名单用“,”连接成字符串,然后利用js的Array split方法分隔成数组. 抽奖时是显示一些随机数字,跳动时间为10ms。
get_set.php:
<?php if(isset($_POST['action']) && $_POST['action'] == 'get'){ $file = './phones.txt'; $phones = ''; if(file_exists($file) && is_readable($file)){ $phones = file_get_contents($file); $phones = preg_replace('/\\r\\n\s*/', ',', $phones); }else{ die('phones.txt文件不存在或者不可读'); } Echo $phones; /* Echo '<pre class="brush:php;toolbar:false">'; print_r($phones); */ //Echo $phones; } if(isset($_POST['action']) && $_POST['action'] == 'set'){ $rs = $_POST['rs']; $data = str_replace(',', "\r\n", $rs); $file = './rs.txt'; file_put_contents($file, $data); return true; } ?>
中奖的名单将自动写入到 rs.txt文件,而且中奖后将不再参与下一轮抽奖。
开始抽奖(或者 按 Space空格键开始/停止)

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

PHPには4つの主要なエラータイプがあります。1。notice:わずかなものは、未定義の変数へのアクセスなど、プログラムを中断しません。 2。警告:通知よりも深刻で、ファイルを含むなど、プログラムを終了しません。 3。ファタラー:最も深刻なのは、機能を呼び出すなど、プログラムを終了します。 4。ParseError:構文エラーは、エンドタグの追加を忘れるなど、プログラムの実行を防ぎます。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

HTTPリクエストメソッドには、それぞれリソースを取得、送信、更新、削除するために使用されるGET、POST、PUT、および削除が含まれます。 1. GETメソッドは、リソースを取得するために使用され、読み取り操作に適しています。 2. POSTメソッドはデータの送信に使用され、新しいリソースを作成するためによく使用されます。 3. PUTメソッドは、リソースの更新に使用され、完全な更新に適しています。 4.削除メソッドは、リソースの削除に使用され、削除操作に適しています。

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

矢印関数はPhp7.4で導入され、短い閉鎖の単純化された形式です。 1)=>演算子を使用して定義され、機能を省略し、キーワードを使用します。 2)矢印関数は、キーワードを使用せずに現在のスコープ変数を自動的にキャプチャします。 3)コールバック関数と短い計算でしばしば使用され、コードのシンプルさと読みやすさを改善します。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7
