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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Визуальная корректировка строк одномерного массива.

Сообщения:  [1-10]    [11-20]  [21-25] 

 
 автор: Trianon   (25.07.2007 в 20:06)   письмо автору
 
   для: Владимир55   (25.07.2007 в 20:02)
 

Донес-то Poison... его благодарите.
Я не смог.

   
 
 автор: Владимир55   (25.07.2007 в 20:02)   письмо автору
 
   для: Trianon   (25.07.2007 в 16:45)
 

Разумеется, Вы совершенно правы!

Я целый день долбился любом в этот скрипт, и лишь теперь до меня дошло, как оно есть на самом деле.

Большое Вам спасибо!

И за советы как таковые, и за само желание донести правильные сведения до моей головы!

   
 
 автор: Trianon   (25.07.2007 в 19:48)   письмо автору
 
   для: Владимир55   (25.07.2007 в 19:40)
 

это попытка передать GET-параметром признак наличия полей POST ....
Довольно неуклюжая :(

Да. В принципе, POST-запрос может передавать и POST и GET-переменные одновременно.
На практике такая методика обычно только усложняет алгоритм.

   
 
 автор: Владимир55   (25.07.2007 в 19:40)   письмо автору
 
   для: buro   (25.07.2007 в 18:07)
 

Да, так заработало, БОЛЬШОЕ спасибо! Правда, пока только на макете, в отдельном файле, а в скрипте не хочет. Но уж это мы его уговорим...

И в этой связи такой вопрос.
При запуске файла со скриптом в его адресе появляется добавка ?act=3 (точнее, ?act=N, где N - число элементов массива).

Какова её сущность?

   
 
 автор: Владимир55   (25.07.2007 в 19:25)   письмо автору
 
   для: Poison   (25.07.2007 в 18:51)
 

*** вы непоймете что после того как яндекс забьет инфу в ваш массив и вы отредактируете данные, нажмете сохранить и ваш скрипт снова полезет к яндексу...***

Теперь я понимаю, о какой ситуации говорил Trianon! Спасибо ему - он опытный человек и предусмотрел всякие варианты.
Но такой ситуации у меня не бывает. Ибо после того, как я отредактирую данные, мне уже незачем лезть в Яндекс и скрипт не понадобится по крайней мере несколько дней...

Видимо, я потому и не понял его предостережения, что в голове не было такого алгоритма. Но на будущее приму к сведению! Большое спасибо!

   
 
 автор: Poison   (25.07.2007 в 18:51)   письмо автору
 
   для: Владимир55   (25.07.2007 в 16:58)
 

Владимир55 вам же Trianon написал рабочий пример? и обьяснил, а вы непоймете что после того как яндекс забьет инфу в ваш массив и вы отредактируете данные, нажмете сохранить и ваш скрипт снова полезет к яндексу...

По примеру ошибка очевидна:

<%
$ssilka[1] = "ПЕРВЫЙ текст №1"; 
$ssilka[2] = "ВТОРОЙ текст №2"; 
$ssilka[3] = "ТРЕТИЙ текст №3"; 

for ($j = 0; $j < sizeOf($ssilka); $j++) 
    { /* Здесь вы даете полям имена типа 0,1,2,3 и тд */
       echo "<input type=text size=70 name=\"".$j."\" value=\"" 
      . htmlspecialchars($ssilka[ $j ]) 
      . "\"><br/>"; 
    } 
echo '<input type="submit" value="Ввести" name="B2">' ; 

if (isset($_POST['B2'])) 
    { /* А здесь? их и нужно искать по  0,1,2,3 и тд */
    echo "<br>Скорректированный результат:<br>"; 
    $ssilka[1] = $_POST[0]; 
    echo $ssilka[1]; 
    $ssilka[2] = $_POST[1]; 
    echo $ssilka[2]; 
    $ssilka[3] = $_POST[2]; 
    echo $ssilka[3]; 
    }

   
 
 автор: buro   (25.07.2007 в 18:07)   письмо автору
 
   для: Владимир55   (25.07.2007 в 16:58)
 

что же вы делаете?... это и не должно по сути работать :)



  $ssilka[1] = "ПЕРВЫЙ текст №1";
$ssilka[2] = "ВТОРОЙ текст №2";
$ssilka[3] = "ТРЕТИЙ текст №3";
echo"
<form action='?act=3' method='post'>";// тройка означает скока сылок как я считаю
for ($j = 1; $j <= 3; $j++) 
    { 
       echo "<input type=text size=70 name=\"peremen".$j."\" value=\"" 
      . htmlspecialchars($ssilka[$j]) 
      . "\"><br/>"; 
    } 
echo '<input type="submit" value="Ввести" >' ; 
echo "</form>";
if ($_GET['act']=="3")
{
for ($j = 1; $j <= 3; $j++) 
    {
 echo "".$_POST["peremen$j"]."<br/>";
    }
}


ну примерно так должно выглядеть... работает проверил

   
 
 автор: Владимир55   (25.07.2007 в 16:58)   письмо автору
 
   для: buro   (25.07.2007 в 16:34)
 

*** а так не покатит? ***
А фиг его разберет...

Делаю вот такой простейший код:

$ssilka[1] = "ПЕРВЫЙ текст №1";
$ssilka[2] = "ВТОРОЙ текст №2";
$ssilka[3] = "ТРЕТИЙ текст №3";

for ($j = 1; $j <= 3; $j++)
    {
       echo "<input type=text size=70 name=\"peremen".$j."\" value=\""
      . htmlspecialchars($ssilka[$j])
      . "\"><br/>";
    }
echo '<input type="submit" value="Ввести" name="B2">' ;

if (isset($_POST['B2']))
    {
    echo "<br>Скорректированный результат:<br>";
    $ssilka[1] = $_POST[$ssilka[1]];
    echo $ssilka[1];
    $ssilka[2] = $_POST[$ssilka[2]];
    echo $ssilka[2];
    $ssilka[3] = $_POST[$ssilka[3]];
    echo $ssilka[3];
    }


Первоначальный текст в форме прописывается, а больше никакой реакции!

У меня уже спортивный интерес преобладает над практическим, так что либо этот код у меня заработает, либо не знаю что я с ним сделаю...

   
 
 автор: Trianon   (25.07.2007 в 16:45)   письмо автору
 
   для: Владимир55   (25.07.2007 в 16:26)
 

Вы не всё учли.
Вы не учли того, что код , который нарисовал форму, и код, который обработал её поля после нажатия кнопки Ввести - это код РАЗНЫХ скирптов.
Второй скрипт указывается в теге - <form action=скрипт.

Да, у Вас там стоит вопрос , что означает, грубо говоря - файл той же страницы.
Файл то тот же. Но вызов скрипта из этого файла по событию отправки формы - уже другой - новый вызов.
И в новом вызове у Вас будет скрипт от начала выполняться заново. C несуществующим массивом $ssilka (правда уже с непустым $_POST)

Так что хотите Вы этого или нет, Вам придется рассмотреть эти две реинкарнации одного скрипта независимо.

Хотя я полагаю, Вам было бы проще явно разбить скрипт на два...


Кстати $_POST[] можно вывести так:

print_r($POST);

   
 
 автор: buro   (25.07.2007 в 16:34)   письмо автору
 
   для: Владимир55   (25.07.2007 в 16:00)
 


echo "<input type=text size=70 name=\"peremen".$j."\" value=\"" 
      . htmlspecialchars($ssilka[$j]) 
      . "\"><br/>"; 

а так не покатит? (там переменные цифрами как то мутно мне кажется) потом принимайте файлом переменные и записывайте в файл или базу. чего уж тут мудрить :)

по сути задачка проще простого. скрипт получает из яндекса, массив опять же формирует скрипт, редактируете, нажимаете, записывает скрипт

   

Сообщения:  [1-10]    [11-20]  [21-25] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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