Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с функциями if и else
 
 автор: LuxeMate   (27.08.2006 в 18:55)   письмо автору
 
 

Я просто новичок,я ничего практически непонимаю,вот я читал учебник по PHP на вашем сайте и решил поиграть с функциями,вот код:

<form action = "http://localhost/index.php" method="get">
   HDD: <input type="text" name="HDD"/><br>
<input type="submit" name="submit" value="Submit"/>

<?
    
if("$HDD=Maxtor")
    {
        echo(
"<p>HDD is $HDD</p>");
    }
    else
    {
         echo(
"<p>HDD is not Maxtor</p>");
    }
?>

Я думаю те кто разбираются в PHP поняли что я хочу от скрипта,но там где if("$HDD=Maxtor") незнаю как правильно написать.
Подскажите пожалуйста чего там нехватает!
Заранее признателен!

   
 
 автор: LuxeMate   (27.08.2006 в 18:58)   письмо автору
 
   для: LuxeMate   (27.08.2006 в 18:55)
 

И можно ли сделать так чтобы строка:
HDD is $HDD

появлялась только когда вводиш какую либо информацию?
Чтобы небыло такого что написано просто HDD is.

   
 
 автор: krollik   (27.08.2006 в 19:05)   письмо автору
 
   для: LuxeMate   (27.08.2006 в 18:55)
 

Правильно будет

<?
If ($HDD == 'Maxtor') {
  echo(
'<p>HDD is $HDD</p>'); 
} else {
  echo(
'<p>HDD is not Maxtor</p>'); 

?>

   
 
 автор: LuxeMate   (27.08.2006 в 19:36)   письмо автору
 
   для: krollik   (27.08.2006 в 19:05)
 

Ок,а если усложнить задачу так:

<form action = "http://localhost/index.php" method="get">
   HDD: <input type="text" name="HDD"/><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   <input type="submit" name="submit" value="Submit"/>
   <br>
   <br>
   <table width="500" border="1">
     <tr>
       <td><div align="center">Maxtor HDD's </div></td>
       <td><div align="center">Other HDD's </div></td>
     </tr>
     <tr>
       <td><? 
         
if($HDD == 'Maxtor')
        { 
          echo(
"<p>$HDD</p>");
        } 
        else
        {
         echo(
"<p>&nbsp;</p>");
         }
         
?></td>
       <td>&nbsp;</td>
     </tr>
   </table>

Какую команду надо написать,чтобы он не выводил слово только если это именно слово Maxtor,если я напишу maxtor то он его не отобразит,как сделать чтобы он выводил все словосочетания которые содержат слово maxtor если это модель,к примеру Maxtor-MX0945,есть такая команда?

   
 
 автор: LuxeMate   (27.08.2006 в 19:43)   письмо автору
 
   для: LuxeMate   (27.08.2006 в 19:36)
 

А во 2 столбике надо чтобы выводилось всё остальное что не содержит слова maxtor!
Как это осуществить?

   
 
 автор: LuxeMate   (27.08.2006 в 20:18)   письмо автору
 
   для: LuxeMate   (27.08.2006 в 19:43)
 

Профессионалы вы где все?
Это же не сложно сказать какая нужна функция для обеих случаев?

   
 
 автор: Ziq   (27.08.2006 в 20:38)   письмо автору
 
   для: LuxeMate   (27.08.2006 в 20:18)
 


 <td><?  
         
if($HDD != 'Maxtor'
        {  
          echo(
"<p>$HDD</p>"); 
        }  
        else 
        { 
         echo(
"<p>&nbsp;</p>"); 
         } 
         
?></td>


Нужно вставить во второе поле.

А так вообще:
1) Не стоит бежать вперед паровоза, прочитайте всю основу, потому что вы вряд ли что-то поняли из написанного, а выучить язык программирования зубрежкой не получиться.

2) Это форум, если Вам не ответили в течении часа, то это нормально, тем более, что сегодня воскресенье.

   
 
 автор: Ziq   (27.08.2006 в 20:35)   письмо автору
 
   для: LuxeMate   (27.08.2006 в 19:36)
 


 <td><?  
         
if(strpos($HDD'Maxtor') !== false
        {  
          echo(
"<p>$HDD</p>"); 
        }  
        else 
        { 
         echo(
"<p>&nbsp;</p>"); 
         } 
         
?></td>

   
 
 автор: ck   (27.08.2006 в 20:38)   письмо автору
 
   для: krollik   (27.08.2006 в 19:05)
 

Опечатка в листинге krolik-a. В одиночных кавычках значение переменной не будет подставлено, и echo выведет вместо <p>HDD is Maxtor</p> - <p>HDD is $HDD</p> .

Чтобы избежать разночтений с регистром, лучше так.

 <td>
    <?php
        
echo ($strpos(strtoupper($HDD), 'MAXTOR') !== false) ? "<p>$HDD</p>" "<p>&nbsp;</p>";
    
?>   
</td> 

   
 
 автор: krollik   (27.08.2006 в 22:25)   письмо автору
 
   для: ck   (27.08.2006 в 20:38)
 

Мда, что-то со мной не так, а ведь в 1 моём варианте были двойные ковычки, а потом я чего-то исправил..

   
 
 автор: Ziq   (27.08.2006 в 20:41)   письмо автору
 
   для: LuxeMate   (27.08.2006 в 18:55)
 

if - это не функция, а условный оператор. Это так на будущее.

   
 
 автор: LuxeMate   (28.08.2006 в 12:35)   письмо автору
 
   для: Ziq   (27.08.2006 в 20:41)
 

Уважаемый Ziq,да я действительно ваши добавления в код не совсем понял и к тому же они били не совсем то что мне было нужно,позже вечером полистав форум я наткнулся на интересную тему и написал такой код:

<form action = "test_hdd.php" method="get">
   HDD: <input type="text" name="HDD"/><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   <input type="submit" name="submit" value="Submit"/>
   <br>
   <br>
   <table width="500" border="1">
     <tr>
       <td width="250"><div align="center">Maxtor HDD's </div></td>
       <td width="250"><div align="center">Other HDD's </div></td>
     </tr>
     <tr>
       <td width="250" align="center"><?php 
        
if(preg_match("/maxtor/i"$HDD) || !preg_match("/[0-9a-z]/i"$HDD))
        { 
          echo(
"<p>$HDD</p>");
        } 
        else
        {
        echo(
"<p>-</p>");
        }
        
?></td>
       <td width="250" align="center"><?php
       
if(preg_match("/[0-9a-z]/i"$HDD) && !preg_match("/maxtor/i"$HDD))
         {
         echo(
"<p>$HDD</p>");
         }
         else
         {
         echo(
"<p>-</p>");
         }
       
?></td>
     </tr>
   </table>

Этот код как раз выполняет то что от него требовалось.
Всем огромное спасибо за помощ!

   
 
 автор: DEM   (28.08.2006 в 12:38)   письмо автору
 
   для: LuxeMate   (28.08.2006 в 12:35)
 

Брррр.... не люблю регулярные выражения... сложно мне вних вникнуть, не разбирался должным образом (((

   
 
 автор: LuxeMate   (28.08.2006 в 12:41)   письмо автору
 
   для: DEM   (28.08.2006 в 12:38)
 

Ну я с самого начала искал что то где есть слово match,оно то мне и нужно было,тут всё легко,я хоть понял для чего что вобще нужно!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования