foreach وبلاگ نکته های برنامه نویسی و طراحی وب سایت

کمکی در حد توانم به کسانی که می خواهند شروع کنند و یا در مسیر هستند

foreach وبلاگ نکته های برنامه نویسی و طراحی وب سایت

کمکی در حد توانم به کسانی که می خواهند شروع کنند و یا در مسیر هستند

خیلی بلد نیستم.
ولی تا جایی که بتونم و وقت کنم ، کمک می کنم.
و جایی که بلد نبودم، یا میگم بلد نیستم یا جواب رو پیدا می کنم و راهنمایی می کنم.
توی زمینه های php و css و Html و JavaScript و jQuery و کار با MySql
البته php رو بیشتر بلدم و JavaScript رو کمتر.
فریم ورک هم yii .
این وبلاگ بیشتر به درد کسایی مخوره که برنامه نویسی مقدماتی رو بلدن.
و هرچه جلوتر میریم،پیشرفته تر خواهد شد انشاءالله.

آخرین نظرات
کلمات کلیدی

کار با php و فرم html

چهارشنبه, ۸ خرداد ۱۳۹۲، ۰۷:۱۳ ب.ظ

سلام به همه

بعد از یک تاخیر نسبتا زیاد

امیدوارم از دستم دلخور نباشید.

تمام ولادت های این ایام(ماه رجب و شعبان) رو بهتون تبریک میگم.

بریم سر اصل مطلب

قراره توی 2 مرحله کار با فرم های html و ارسال اطلاعات به فایل php و یه سری کارها با php روی اون اطلاعات و نمایش نتیجه رو یاد بگیریم.

سوال داشتید درخدمتیم

همونطور که قبلا گفته بودم، باید فایل های php رو توی مسیر xampp/htdocs بریزیم تا بتونیم اجراشون کنیم.
و برای یادآوری بگم که برای اجرای فایل های php  و یا html ای که قراره با فایل php ارتباط برقرار کنه ، باید توی مرورگر وبتون ، آدرسش رو مثلا اینجوری بنویسید: (localhost/test/home.php).  با این کار مرورگر به مسیر xampp/htdocs/test/home.php میره و اون فایل رو اجرا میکنه.
درضمن باید با استفاده از نرم افزار xampp ، حتما apache رو در حالت Running بذارید.

اگر با phpDesigner هم کد بزنید راحت تر از notepad و ... است.
مرحله 1:

خوب حالا توی فولدر htdocs یه پوشه به اسم test_form بسازید و توی اون یه فایل به اسم form1.html بسازید و توش این کدها رو بنویسید:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<form  name="MyForm"  method="POST"  action="test1.php">
      Enter number 1: <input type="text" name="number1" value="" />
      <br/>
      Enter number 2: <input type="text" name="number2" value="" />
      <br/>
      Enter number 3: <input type="text" name="number3" value="" />
      <br/>
      <input type="hidden" name="number3" value="100" />
      <input type="submit" name="submit" value="send" />
</form>
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
توی این کد یه فرم طراحی کردیم که با متد post اطلاعاتی که از کاربر میگیریم رو به فایلی به آدرس test1.php ارسال میکنیم.(آدرس اون فایلی که میخوایم بهش ارسال کنیم، داخل action مینویسیم.( دو نوع متد برای ارسال اطلاعات داریم : post و get . راجع بهش تحقیق کنید. توی اینترنت ریخته)
توی خط های بعدی با استفاده از تگ input  و تعریف type  اون از نوع text ، یک فضایی رو ایجاد میکنیم که کاربر بتونه توش یه متن بنویسه.
توی input چهارم هم نوع اون رو hidden گذاشتیم و معنیش اینه که کاربر اونو نمیبینه( برا مواقعی که میخوایم یه اطلاعاتی رو بین فایلهامون منتقل کنیم)
input پنجم هم یک دکمه طراحی میکنه تا  با فشردن اون، عملیات ارسال اطلاعات انجام بشه.
و اما فایل php تونو کنار همون فایل html به اسم test1.php بسازید و کدهای زیر رو توش بنویسید:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<?php
if(isset($_POST['number1']) && ! empty($_POST['number1']))
    echo $_POST['number1'];
if(isset($_POST['number2']) && ! empty($_POST['number2']))
    echo $_POST['number2'];
if(isset($_POST['number3']) && ! empty($_POST['number3']))
    echo $_POST['number3'];    
if(isset($_POST['number4']) && ! empty($_POST['number4']))
    echo $_POST['number4'];
?>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
همونطور که گفتیم ، کدهای php باید بین دو تا تگ <? php?> باشن.
لازمه اینجا این تذکر رو بدم که نحوه ی اجرای کدهای php و html و ...، خط به خطه( که بهش میگن زبان script ای ).
و شما میتونید کدهای php و Htmlتونو توی یک فایل php کنار هم داشته باشید. مثلا چند خط php کد بزنید و چند خط html , ...
 کد بالا خیلی ساده است . ما با آرایه سراسری$_POST[] میتونیم متغیر هایی که ارسال شدن رو استفاده کنیم و دسترسی داشته باشیم به اونها.
میبینید که اسم متغیر رو داخل براکت نوشتیم.
تابع isset بررسی میکنه که آیا این متغیر set شده و وجود داره یا نه.empty هم پر یا خالی بودن متغییر رو چک می کنه.
echo هم که چاپ میکنه.
مرحله 2:
میخوایم که کاربر فقط عدد وارد کنه و اگر عدد وارد نکرد، برش گردونیم به همون فایل html و ازش بخوایم که دوباره وارد کنه. وهمینطور معدل اعداد رو هم حساب کنیم.
پس کدهای زیر رو جایگزین کدهای فایل test1.php کنید لطفا:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<?php
if(isset($_POST['number1']) && ! empty($_POST['number1']))
{
    if(!is_numeric($_POST['number1']))
    {
        echo "error : number1 is not a number.<br />please Enter a number <br />";
        include('form1.html');
        exit;
    }
}
if(isset($_POST['number2']) && ! empty($_POST['number2']))
{
    if(!is_numeric($_POST['number1']))
    {
        echo "error : number1 is not a number.<br />please Enter a number <br />";
        include('form1.html');
        exit;
    }
}
if(isset($_POST['number3']) && ! empty($_POST['number3']))
{
    if(!is_numeric($_POST['number1']))
    {
        echo "error : number1 is not a number.<br />please Enter a number <br />";
        include('form1.html');
        exit;
    }
}   
if(isset($_POST['number4']) && ! empty($_POST['number4']))
{
    if(!is_numeric($_POST['number1']))
    {
        echo "error : number1 is not a number.<br />please Enter a number <br />";
        include('form1.html');
        exit;
    }
}
$n1 = (int)$_POST['number1'];
$n2 = (int)$_POST['number2'];
$n3 = (int)$_POST['number3'];
$n4 = (int)$_POST['number4'];
$avg = ($n1+$n2+$n3+$n4)/4;
echo "average of ($n1 , $n2 , $n3 , $n4) is : $avg .";
?>
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
خیلی ساده : چک میکنه که آیا از نوع عدد هستن یا نه. اگر از نوع عدد نبودن، فایل form1.html رو صدا میزنه و بقیه خط ها رو هم اجرا نمیکنه.
در نهایت اگر همه عدد بودن و از برنامه خارج نشده بود، میاد معدل اعداد رو میگیره و نمایش میده.

موفق باشید.
التماس دعا.
  • foreach

نظرات (۲)

سلام
ممنون
یکی از راههای ساده و مبتدی هک ، تغییر متغیر ارسالی هست ، مثلا yourdomain.com/index.php?id=-12' ، خب آی دی حتما باید عدد باشه ، ما میخوایم بدون ارور به آی دی 12 که عدد و درست هست ، منتقل بشیم ، باید چیکار کنیم ؟!
بازم ممنون :)
پاسخ:
سلام ناشناس
منظورتون رو دقیقا نفهمیدم
ولی اگه میخواید بدون error ، به id=12 وصل بشید، راه حلش اینه که شرط بذارید که اگر id که داده، از نظر شما معتبر نبود، خودتون id رو هر عددی که دوست دارید بذارید و یا redirect کنید به صفحه ی مورد نظرتون(از تابع header میتونید برای redirect کردن یا انتقال دادن استفاده کنید). مثلا بنویسید:

header( 'Location: http://yourdomain.com/index.php?id=12' ) ;

ممنون که پاسخ دادی :)
منظورم اینه که مثلا وارد کرده 12' یا مثلا 12- که معتبر نیست ولی 12 معتبره که دوتای اول رو با یه تابع تبدیل کنیم به عدد درست
اگر زد " 12ت " یا " 13' " یا " -14 " ، تصحیح بشه و بره به "12" ، "13" یا "14" ...
پاسخ:
میتونید از تابع intval استفاده کنید برای تبدیل string به integer
برای اطلاعات بیشتر به اینجا برید.
کاربران بیان میتوانند بدون نیاز به تأیید، نظرات خود را ارسال کنند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی