یه نویسنده

مقاله، کتاب، برنامه و ...

مقاله، کتاب، برنامه و ...

یه نویسنده

وبلاگی برای فعالیتهای پژوهشی و برنامه نویسی کامپیوتر، که شاید دفتر یادداشتی از دانسته‌های روزانه‌ی من باشد(شاید به‌کار شما هم بیاید). مطالبی که از دنیای کدباز جمع‌آوری میکنم و برای علاقه‌مندان این شاخه از فناوری انتشار میدهم. بیشتر نوشته‌های وبلاگ را برنامه‌نویسی‌php و سیستم‌عامل لینوکس تشکیل می‌دهند.

طبقه بندی موضوعی

۷ مطلب با کلمه‌ی کلیدی «فرم php» ثبت شده است

مجموعه آموزشی codeigniter

برای کسب اطلاعات بیشتر به لینک زیر مراجعه کنید.

چگونه از یک هاست اشتراکی به Mysql هاست اشتراکی دیگر وصل شویم؟

به این کار میگن remote mysql و برای این کار فرض بر این هست که سایت siteaa1.com قراره از Mysql سایت sitebb2.com استفاده کنه:

۱- بدست آوردن ip هر دو تا سایت. با دستور ping در cmd یا ترمینال

ping siteaa1.com

ping

2- بدست آوردن شماره پورت mysql که در بعضی از شرایط امکان داره تغییر داده باشه با query زیر بدست میاد

SHOW VARIABLES WHERE Variable_name = 'port'

3- تایید دسترسی اتصال remote در سایت sitebb2.com چون قراره سایت siteaa1.com بهش remote بشه برای این کار در cpanel سایت sitebb2.com در قسمت database گزینه remote mysql رو انتخاب میکنیم

remote mysql

در ادامه باید ip سایت siteaa1.com رو وارد کنید


4-حالا رشته connect در سایت siteaa1.com بصورت زیر هست تا به sitebb1.com بصورت زیر هست

mysql_connect("192.168.33.66:3306", "username", "password") or die(mysql_error());

آموزش کامل ارسال ایمیل توسط php در localhost

یکی از دردسرهای تست برنامه های php‌در هاست محلی امکان ارسال ایمیل هست. برای حل این مشکل باید تبدیل به میل سرور بشید یا از smtp کمک بگیرید. در این جا نحوه راه اندازی smtp در لینوکس رو آموزش میدم تا راه حلی باشه برای برنامه نویسان php‌که در از سیستم عامل لینوکس(معمولا بر حسب دبیان) استفاده میکنن. در این روش ما ابزار ssmtp رو نصب میکنیم و مقدار sendmail_path رو در فایل php.ini برابر با ssmtp قرار میدیم.

در ابتدا باید ابزار ssmtp رو نصب کنید:

sudo apt-get install ssmtp
برای کانفیگ ssmtp به مسیر زیر برید و اون رو برای کافیگ باز کنید

sudo nano /etc/ssmtp/ssmtp.conf
بعد از باز کردن فایل مقدارهای رو بصورت زیر تغییر بدید البته بعضی متغرها مثل root درش وجود داره که باید مقدار رو جلوش قرار بدید و بعضی متغیرها رو هم باید جدید بنویسید در هر صورت فایل فوق رو بصورت زیر تغییر بدید

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=your-full-gmail-address

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:587

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
hostname=your-full-gmail-address

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

UseSTARTTLS=YES
AuthUser=your-gmail-username-here
AuthPass=your-gmail-password-here
  • در جلوی root نام کامل آدرس ایمیل gmail خودتون رو بنویسید مثلا: mehrdadSeifzadeh@gmail.com
  • در جلوی hosrname نیز نام کامل ایمیل خودتون رو وارد کنید
  • AuthUser هم نام کامل ایمیل خودتون
  • AuthPass هم رمز عبور ایمیل خودتون رو وارد کنید

بعد از این نوبت به کانفیگ کردن user برای ارسال ایمیل هست
sudo nano /etc/ssmtp/revaliases
بعد از باز کردن فایل فوق تغییرات زیر رو در اون وارد کنید
root:username@gmail.com:smtp.gmail.com:587
localusername:username@gmail.com:smtp.gmail.com:587
بجای username هم نام ایمیل خودتون رو بنویسید
در آخر نوبت به تغییر فایل php.ini و قرار دادن مقدار sendmail_path برابر با ssmtp هست برای این کار ابتدا فایل php.ini رو از مسیر زیر باز کنید

sudo nano /etc/php5/apache2/php.ini
رشته sendmail_path رو پیدا کنید و اون رو برابر با مقدار زیر قرار بدید

sendmail_path = /usr/sbin/ssmtp -t
و در آخر apache رو دوباره راه اندازی کنید
sudo service apache2 restart
حالا تمام ایمیل های شما از طریق smtp‌و سرور گوگل ارسال میشه

آموزش ajax و php - جلسه سوم

سلام بر دوستان

جلسه سوم از آموزش ajax و php آماده شده

در این جلسه طریقه استفاده از فرمهای وب و ارسال مقادیر از طریق ajax و دریافت به صورت json.

در این ویدیو بیشتر بر روی json و پردازش مقادیر json پرداخته شده است.


دانلود از dropBox

نمایش در آپارات


دستورات مورد نیاز mysql در خط فرمان

با این که در کار با mysql یک DBMS قوی بنام phpmyadmin در اختیار برنامه‌نویسان می‌باشد. و حتی بالاتر از آن ابزار workbrench نیز در دسترس برنامه‌نویسان می باشد.
اما در بعضی شرایط مثل کار با سرور دیگر شما به محیط ui یا وقت نصب کردن و کار با phpmyadmin را ندارید در هر صورت بهترین راه بهره‌گیری از دستورات قوی mysql می باشد. در این‌جا دستورات اصلی مورد نیاز برای ساخت دیتابیس جدید و atach کردن یک دیتابیس به mysql میپردازیم:
۱− لاگین
برای لاگین دستور زیر را وارد کرده و در صورت داشتن پسورد آنرا در مرحله بعد وارد کنید و در غیر داشتن پسورد فقط enter را بزنید.
mysql -u root -p

۲−ساخت دیتابیس
بعد از لاگین کردن
CREATE DATABASE mydatabase

۳−حذف دیتابیس
DROP DATABASE mydatabase

۴− atach کردن یک دیتابیس از فایل sql به درون دیتابیس
 mysql -u root -p mydatabase < myfile.sql

5- گرفتن backup از دیتابیس
mysqldump -p -u root mydatabase>myfile.sql

توابع مفید mysql

همیشه رمزنگاری پسوردها در برنامه‌های تحت وب اهمیت بسیار بالایی داره. از اونجا که بیشتر کاربران عادت دارن در تمام سایتها پسوردهای یکی داشته باشن وقتی دیتابیس یک سایت مورد هک واقع بشه و داده‌های اون استخراج بشه براحتی با داشتن فیلدهای نام کاربری و پسورد میشه به تمام اطلاعات دیگر این کاربر حتی در بعضی اوقات به ایمیلش هم دسترسی داشت.

حالا نمیخوام فلسفه پسورد و امنیت اطلاعات رو پیش بکشم بحثم روی کم کرد فشار سرور به کمک توابع داخلی و توکار هست. واقعا تعجب میکنم با این که زبانهای برنامه‌نویسی به مرور زمان توابع و امکانات جدید بهشون اضافه میشه و حتی در دیتابیس‌ها هم شاهد این موضوع هستیم باز هم افزادی هستن که سرور رو مشغول کارهای پیش‌پا افتاد و الگوریتم‌های سنگین میکنن. مثلا یه برنامه‌نویس میاد یک کلاس برای هش کردن پسوردها مینویسه که توش از تمام توابع(از sha و md5 گرفته تا rand و چیرهای دیگه) استفاده کرده تا کار هش کردن پسورد رو انجام بده. اولا باید گفت درصد رمز نگاری و استفاده از الگوریتم‌های پیشرفته کاملا وابسته با پروژه و شرایط کارفرما داره. مثلا رمز نگاری یه فروشگاه الکترونیکی که هر کاربر قراره مبلغی از حسابش کم بشه و توی بودجه اکانتش درون سایت قرار بگیره با یه سایت شخصی ساده کاملا فرق داره. در فروشگاه اگر اکانتش لو بره امکان داره پولی رو از حسابش برداشت شده توسط شخص دیگری که اکانت رو هک کرده به حساب دیگری واریز بشه یا خرید انجام بگیره در صورتی که خود صاحب اصلی اکانت اصلا اطلاع نداشته. 

در php تابع crypt رو خوب یادبگیرید که امکانات زیادی مثل salt رو هم داره. ولی در دیتابیس mysql تابع ENCRYPT کار مشابه crypt رو انجام میده.

برای ذخیره پسورد بصورت هش شده دقت داشته باشید شما دیگه به اصل پسورد دسترسی ندارید و فقط در لحظه لاگین کلمه وراد شده هش میشه و با کلمه هش شده دیتابیس مورد مقایسه قرار میگیره و این امنیت رو بالا میبره از اونجا که اگر دیتابیس خودتون رو هم کاملا کپی کنید به هکر بدید دیگه به هیچ عنوان به پسوردها دسترسی نداره.


استفاده از این تابع بصورت زیر هست:

INSERT INTO

`tbl_user`(`username`,`email`,`password`)

VALUES

('seifzadeh','mehrdad@gmail.com',ENCRYPT('1234'));

ساخت فرم به کمک php

دوستانی که طراحی صفحات وب دارن و تمایل دارن تمرین طراحی فرم رو انجام بدن میتونن از راهنما و کدهای نوشته شده زیر استفاده کنن.