????????? ?????? ?? HTML-???? ??? ?????? PHP

?????????? ?????????? ? HTML-???????. ? ??????? ?????? ? ??? ??????? ?????????? ?????? ????????? ?????? ?? HTML-????, ????? ?? ?????????? ???? ?????? ????? ????????.

????, ?????? ?? HTML-???? ???????????? ??? ?????? GET ??? POST HTTP-????????. ? GET-??????? ????????? ????????? ??????????????? ? URL ? ????? ? ???????? ?????? ????????. ? POST-??????? ?????? ????????? ? ???? HTTP-??????. ?????? ???????? ????????, ????????? ? ???????? action ???? HTML-????? form, ????????, PHP-??????.

???????? ????????, ???????????? HTML-????? ? ????????, ??????????? ?????? ?? ??? ????????? ???????????? ?? ???? ???? PHP-????. ??? ?????? ? ??? ??????, ?????, ????????, ??? ???????????? ????????? ?????? ?????????? ???????? ???????? ????? ???????????? ? ??????? ?? ??? ??????. ????? ??? ???????? ????????? ?????? ????? ? ??? ??????????? ??????. ?? ??? ??????? ?? ?????????? ?????.

? ????? ?????? PHP ??????????????? ??????? ????? GET ? POST-??????????? ???. GET-????????? ??????????? ? ?????????? ??????? $_GET, POST ? $_POST.

?????????? ????? ??????:

<form method="GET" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  <input type="text" name="name" /><br />
  <input type="submit" value="Send" />
</form>

????? ???????? ????????, ??? ???????? ???????? action ???????????? ????? PHP-???????. ?????????? $_SERVER['PHP_SELF'] ???????? ??? ? ???? ???????? ???????????? PHP-??????? ???????????? ????????? ???????? ???-???????. ????? ???????, action ?????? ????? ????????? ?? ?????? ????, ? ????????????? ?? ???????????? ? ????? ?????.

??????????, ??? ?????? ???? ???????? ????? ??????????? ?????????. ????????, ????? ????????? ?????? ??????? $_GET (??? $_POST ? ?????? ? POST-????????). ???? ?????? ?????????, ?? ???? ???????? ?????-?? ??????:

if ( count($_GET) > 0 )
{
    echo 'GET-????????? ???? ???????!';
    //--????? ????? ???????????? ???????? ??????
}

??????? ?????? ??????? ?????-?? ??????????? ?? ???????? ??????. ????????:

??????? ???? ??? (??????? 3 ???????): <input type="text" name="name" /><br />

? ??????????? ????? ????????? ????? ?????, ?, ???? ??? ????????????, ???????? ?????????????? ???????????? ? ??????????? ???????????:

if ( count($_GET) > 0 ) //--???? ???? ??????? ?????? ?? HTML-?????
{
    $name = $_GET['name']; //--???????? ??? ?? GET-??????????
    if ( strlen($name) >= 3 ) //--?????????, ?????????? ?? ????? ?????
    {
        //--????? ???????????? ?????????? ???
        echo '???????! ???? ??? ??????? ????????!';
        exit; //--????????? ?????? PHP-???????. ? ???? ?????? HTML-????? ???????? ?? ?????
    }
    else //--????? ????????????? ????????????
    {
        echo '?? ????? ??????? ???????? ???!';
    }
 
}

??? ????????? ?????. ????? ??????? ??? ?????????????? ???????????? ?? ????????? ??? ????? ??????? ??????, ? ?????? ??????????? ????????? ????????? ??????. ???????? ??? ??????: ? ???????? value ????? ????? ????????????? ????? ????????? ??????:

??????? ???? ??? (??????? 3 ???????): <input type="text" name="name" value="<?php echo $name; ?>" /><br />

??? ???? ??? ?????????. ??-??????, ??? ?????????? GET-?????? ?????????? $name ?????????? ?? ??????????. ? ???? ?????? ?? ????? ?????? ?????? ????????:

$name = '';

??-??????, ???????????? ????????? ??? ??????????? ????? ?????? ? ???? ????? ????? ????? HTML-????, ????????:

" />

? ????? ??? ???????????? ?????? ? value ?? ??????? ?????????:

<input type="text" name="name" value="" />" /><br />

?? ????, ??????????????? ???????? ???????? value ?, ??? ?????????, ??????????? ??? ????????. ????? ?? ????????? ? ????????? ????????? ???????????? ????? ?????????. ???????? ??? ??????: ?????????? ????????? ????????????? ??????, ????????? ? ?????? ?????, ?????? ??? ???????? ?? ?? ????????. ? ????? ??????? ?????? ????? ???????? ? ??????:

$name = $_GET['name'];

?????????? ???????? ? ??????? PHP-??????? htmlspecialchars:

$name = htmlspecialchars($_GET['name']);

?????? ??????? ???????? ? ?????? ?????????, ??????? ???????, ??????????? ?????? ? ????????? ?? ??????????????? ???? HTML-????????????, ??? ?????????, ????????, ???????? HTML-??? ? ???? ?????? ??? ????????? ?????????. ????? ??????? ????? ?????????????? ?? ??????? ?? ??????? ???????? value.

? ???, ??????? ???????? ?????

if ( strlen($name) >= 3 )

????? ???????? ??

if ( strlen($_GET['name']) >= 3 )

?? ????, ????????? ????? ???????????????? ????????, ??? ??? ? ???????? ?????????? ????? ????? ?????????? ? ???????? ????? ????????. ???????? ??? ????? ?????:

<?php
 
  $name = ''; //--?????????????? ?????????? name
 
  if ( count($_GET) > 0 ) //--???? ???? ??????? ?????? ?? HTML-?????
  {
      $name = htmlspecialchars($_GET['name']); //--???????? ??? ?? GET-??????????
      if ( strlen($_GET['name']) >= 3 ) //--?????????, ?????????? ?? ????? ?????
      {
          //--????? ???????????? ?????????? ???
          echo '???????! ???? ??? ' . $name . ' ??????? ????????!';
          exit; //--????????? ?????? PHP-???????. ? ???? ?????? HTML-????? ???????? ?? ?????
      }
      else //--????? ????????????? ????????????
      {
          echo '?? ????? ??????? ???????? ???!';
      }
  }
 
?>
 
<form method="GET" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  ??????? ???? ??? (??????? 3 ???????): <input type="text" name="name" value="<?php echo $name; ?>" /><br />
  <input type="submit" value="Send" />
</form>

? ???????? ???????? ?? ???????? ????????? ????????? ??? HTML-???????? (?????????, body ? ?.?.).

?????? ?? ????? ?????? ??? ?????? ???? "??/???". ??? ?????????? ? ??????? ??????, ???? ?????? ?? ???????, ? ?????????? ?????? ?? ??????????. ????? ???????????? ????????? ?????????? ???????? ?? ????????? on (???? ?? ?????? ?????????? ???????? value). ??? ???????, ? ????????, ?? ????? ????????, ????? ?????????? ??????? ?????????. ????????, ?? ????? ???? ?????? "????????? ???? ?? ?????" ? ?????? remember. ? PHP ??? ????? ???? ?????????? ????????? ???????:

if ( isset($_POST['remember']) ) //--????????? ??????? ????????? remember
{
  //--?????? ??? ??????????. ????????? ???????? ?? ??????????? ????? ?? ?????
}
else
{
  //--?????? ?? ??? ??????????
}

?????? ????? ????? ???????????? ??? ?????? ???????????? ????????? ?? ??????. ?????????? ??????. ????????, ???? ?????? ?????????:

$elements = array(
    array('id' => 1, 'name' => '??????'),
    array('id' => 2, 'name' => '???????'),
    array('id' => 3, 'name' => '??????'),
    array('id' => 4, 'name' => '????????'),
    array('id' => 5, 'name' => '???????'),
    array('id' => 6, 'name' => '??????')
);

?????? ???????? ???????? ?????????????? ? ???????? ?????????. ????????? ?????, ? ??????? ????? ?? ???? ???????, ????????, ????????? ???????? ??? ?????? ???????. ??? ????? ???????????? ? ??????? PHP ?? ?????? ?????? ?? ???????:

echo '???????? ????????? ????????:'. "\n";
//--??????????? ??? form ? action ?? ?????? ????
echo '<form method="GET" action="' . $_SERVER['PHP_SELF'] . '">' . "\n";
foreach($elements as $element) //--??????????? ?????? ?? ??????? ?????????
{
    //--??????? ?????? ??? ??????? ????????. name ????? ????????? ?????????????? ?????????
    echo '  <input type="checkbox" name="element' . $element['id'] . '" id="element' . $element['id'] . '">';
    //--??????? ??????? ??? ??????? ?????? (???????? ????????)
    echo ' <label for="element' . $element['id'] . '">' . $element['name'] . '</label><br />'. "\n";
}
echo '  <input type="submit" value="??????" />'. "\n";
echo '</form>'. "\n";

????????? ?????? ????? PHP-???? ?????????:

???????? ????????? ????????:
<form method="GET" action="/form.php">
  <input type="checkbox" name="element1" id="element1"> <label for="element1">??????</label><br />
  <input type="checkbox" name="element2" id="element2"> <label for="element2">???????</label><br />
  <input type="checkbox" name="element3" id="element3"> <label for="element3">??????</label><br />
  <input type="checkbox" name="element4" id="element4"> <label for="element4">????????</label><br />
  <input type="checkbox" name="element5" id="element5"> <label for="element5">???????</label><br />
  <input type="checkbox" name="element6" id="element6"> <label for="element6">??????</label><br />
  <input type="submit" value="??????" />
</form>

? ??????????? ?????????, ????? ???????? ???? ??????? ?????????????:

if ( count($_GET) > 0 ) //--???? ???? ??????? ?????? ?? HTML-?????
{
    echo '??? ?????:<br />';
    foreach($elements as $element) //--??????????? ?????? ?? ??????? ?????????
    {
        //--?????????, ??? ?? ??????? ???????? element1, element2 ? ?.?. 
        if ( isset($_GET[ 'element' . $element['id'] ]) )
            echo $element['name'] . '<br />';
    }
    exit;
}

?????????? ?????????? ????? ????? ?????????? ???????. ???????? ???:

<?php
 
  $elements = array(
      array('id' => 1, 'name' => '??????'),
      array('id' => 2, 'name' => '???????'),
      array('id' => 3, 'name' => '??????'),
      array('id' => 4, 'name' => '????????'),
      array('id' => 5, 'name' => '???????'),
      array('id' => 6, 'name' => '??????')
  );
 
  if ( count($_GET) > 0 ) //--???? ???? ??????? ?????? ?? HTML-?????
  {
      echo '??? ?????:<br />';
      foreach($elements as $element) //--??????????? ?????? ?? ??????? ?????????
      {
          //--?????????, ??? ?? ??????? ???????? element1, element2 ? ?.?. 
          if ( isset($_GET[ 'element' . $element['id'] ]) )
              echo $element['name'] . '<br />';
      }
      exit;
  }
 
  echo '???????? ????????? ????????:'. "\n";
  //--??????????? ??? form ? action ?? ?????? ????
  echo '<form method="GET" action="' . $_SERVER['PHP_SELF'] . '">' . "\n";
  foreach($elements as $element) //--??????????? ?????? ?? ??????? ?????????
  {
      //--??????? ?????? ??? ??????? ????????. name ????? ????????? ?????????????? ?????????
      echo '  <input type="checkbox" name="element' . $element['id'] . '" id="element' . $element['id'] . '">';
      //--??????? ??????? ??? ??????? ?????? (???????? ????????)
      echo ' <label for="element' . $element['id'] . '">' . $element['name'] . '</label><br />'. "\n";
  }
  echo '  <input type="submit" value="??????" />'. "\n";
  echo '</form>'. "\n";
 
?>

???? ???????? ??? ???? ?????? ????????? ?????????? ?? ????? ????. ???????? ???????? name ? ???? ??????? ???????????? ??????????, ?? ? ????????? "[]" ?? ?????. ? ???? ?????? PHP ????????? ?????????? ? ???? ???????, ? ??????? ????? ??????????? ???????? ????????? value ?????????? ???????. ??????????????, ?????????? ?????? ???????? value ??? ???????. ?????? ???? ?????? ??????? ???????? ? ?????????? ????:

echo '  <input type="checkbox" name="element[]" id="element' . $element['id'] . '" value="' . $element['id'] . '">';

? ?????????? HTML-??? ??????? ????? ?????:

<input type="checkbox" name="element[]" id="element1" value="1"> <label for="element1">??????</label><br />
<input type="checkbox" name="element[]" id="element2" value="2"> <label for="element2">???????</label><br />
<input type="checkbox" name="element[]" id="element3" value="3"> <label for="element3">??????</label><br />
<input type="checkbox" name="element[]" id="element4" value="4"> <label for="element4">????????</label><br />
<input type="checkbox" name="element[]" id="element5" value="5"> <label for="element5">???????</label><br />
<input type="checkbox" name="element[]" id="element6" value="6"> <label for="element6">??????</label><br />

??? ????? ??????????, ??? ??????? ??????? "??????", "???????", "????????", "??????" ?????? $_GET ????? ????? ????????? ????????:

[element] => Array
    (
        [0] => 1
        [1] => 2
        [2] => 4
        [3] => 6
    )

??????? element ???????????? ?? ???? ??????, ? ??????? ?????????? ?????????????? ????????? ?????????. ? ??????????? ???????? ???? ??????????? ?? ????????. ? ?????? ?????? ?????? $elements ???????? ?? ?????? ??????, ???????? ?????????? ????? ???? ?? ??????????? ? ??????, ????? ???????? ??????????? ??????? ?????????? ???? ?? ????????? ??????? ??????.

?????? ?????????? ??????? ????????, ???????, ??????????? ? ????????? ?????. ???? ???? ???????, welcome ? ??????????? ;)

Комментарии

Оставить комментарий »

 
?????
12 июля 2011, 16:48
#1
 

????????? ?? ?????????? ????????!

sasha
2 января 2012, 4:41
#2
 

???????

????????
13 марта 2012, 16:06
#3
 

???? ?? ????? :'(

Joker-jar
14 марта 2012, 1:35
#4
 

?????? ??????? ???????????, ????????? :)

????????
25 марта 2012, 3:35
#5
 

??????? ?? ????????! ????? ?????????? ??? ???????, ???? ? ???? ??????? 2 ??????, 3 ???????, 4 ???????? ? ???? ???????

Joker-jar
26 марта 2012, 2:44
#6
 

????????, ? ?????????????? ????? ????????? ?????

Nucleon
18 июля 2012, 2:41
#7
 

??????? ????????=) ????? ??? ???? ???? ??????????.

??????
7 октября 2012, 14:09
#8
 

???????????, ?????????? ??????????, ??? ????? ??????????? ????? ?????????? chekbox ? option ? select ? radio, ????? ?????????? ? ????? ??? ???????? POST-??, ????? ???? ????????? ?????? ? ???????????? ???????? ??????? ?????? ?? ???????, ? ????? ???????? ????????????? ?? post ??? ? inpute type="text" ??? textarea

Joker-jar
8 октября 2012, 2:06
#9
 

??????, ??? ?????? ????? ????????? ??????? ?????????? POST-?????????? ?, ??? ?????????????, ???????? ???????. ?????? ??? checkbox'?:

$remember_checked = isset($_POST['remember']) ? ' checked="checked"' : '';
echo '<input type="checkbox" name="remember"' . $remember_checked . ' />';

??? select'?:

$selected = ( isset($_POST['country']) && $_POST['country'] = 'russia' ) ? ' selected="selected"' : '';
echo '<option value="russia"' . $selected . '>??????</option>';

?????? ???????, ??????, ?????????????? ? ?????, ?? ????, ? ?????, ????.

??????
8 октября 2012, 14:41
#10
 

? ???? ???? ???????? ? ??? ??? ??? ????? ? ????????? ????? ??????? ??????? ???????? ?????? ????? ???????:

<input id="checkbox_1" type="checkbox" name="??????[1]" <?=isset ($_POST['??????']['1']) ? ' checked="checked"' : '';?> value="??????" class="checkbox"/>
	<label for="checkbox_1">??????</label><br />
<input id="checkbox_2" type="checkbox" name="??????[2]" <?=isset ($_POST['??????']['2']) ? ' checked="checked"' : '';?> value="?????" class="checkbox"/>
	<label for="checkbox_2">?????</label><br />

??? radio ???????? ????? ??????:

<input type="radio" name="radio" value="?????1" id="radio_1" <?=in_array('?????1', $_POST) ? ' checked="checked"' : ''?> />
            <label for="radio_1">Radio button 1</label><br />
 
? ??? select ????? ??????:
<select name="select">
                <option value="">- Select -</option>
                <option value="1" <?=in_array('1', $_POST) ? ' selected="selected"' : ''?>>Select option 1</option>
                <option value="2" <?=in_array('2', $_POST) ? ' selected="selected"' : ''?>>Select option 2</option>
                <option value="???????? ?????? ?????" <?=in_array('???????? ?????? ?????', $_POST) ? ' selected="selected"' : ''?>>???????? ?????? ?????&nbsp;</option>
            </select>

Оставить комментарий

Ваше имя
 
Ваш e-mail
 
Комментарий