Немогу дописать простенький скрипт, помогите

Тема в разделе "PHP программирование", создана пользователем dima_lamo, 13 янв 2008.

  1. dima_lamo

    dima_lamo Гость

    Вообщем есть скрипт записи в файл:

    <?PHP
    Error_Reporting(E_ALL & ~E_NOTICE);

    $Login = $_POST['Login'];
    $Pass = $_POST['Password'];
    $from="From: $from\nReply-To: $from\nX-Priority: 1\nContent-Type: text/plain; charset=\"koi8-r\"\nContent-Transfer-Encoding: 8bit";
    $from=convert_cyr_string($from,"w","k");
    $to=convert_cyr_string($to,"w","k");
    $subj=convert_cyr_string($subj,"w","k");
    $body=convert_cyr_string($body,"w","k");
    mail($to,$subj,$body,$from);
    $c = "$Login";
    $fp = fopen("tst.txt","w+"); //открываем файл
    fwrite($fp,"\n $c \n"); //записываем всё
    fclose($fp); //закрываем
    ?>

    Этот скрипт записывает в файл то, что вводим в поле Логин.
    Мне нужно сделать так, чтоб он осуществлял запись только в том случае, если в поле Пароль введено слово "internet"
    Если в пале пароль будет введено другое слово, либо ничего не введено, чтоб скрипт НИЧЕГО не записывал.

    При этом записывать сам пароль НЕ нужно.
     
  2. maykoff

    maykoff Гость

    ........
    ........
    if($_POST['Password'] == 'internet')
    {
    $fp = fopen("tst.txt","w+"); //открываем файл
    fwrite($fp,"\n $c \n"); //записываем всё
    fclose($fp); //закрываем
    }
    ........
    ........
     
  3. dima_lamo

    dima_lamo Гость

    Ок, спс, лови+
     
  4. dima_lamo

    dima_lamo Гость

    Кстате, а что прописать чтоб скрипт записывал в файл, с создовал его?
    То есть то что вводится в поле Логин, должно НЕ записыватся, а создоватся файл .txt с таким именем
     
  5. maykoff

    maykoff Гость

    ...
    $Login = $_POST['Login'];
    ...
    $file = $Login.".txt";
    ...
    $fp = fopen($file,"w+"); //открываем файл
    ...
     
  6. dima_lamo

    dima_lamo Гость

    спс, и ещё 1 вопрос, вот скрипт который записывает в файл есл ас верен:

    <?PHP
    Error_Reporting(E_ALL & ~E_NOTICE);

    $Login = $_POST['Login'];
    $Pass = $_POST['Password'];
    $from="From: $from\nReply-To: $from\nX-Priority: 1\nContent-Type: text/plain; charset=\"koi8-r\"\nContent-Transfer-Encoding: 8bit";
    $from=convert_cyr_string($from,"w","k");
    $to=convert_cyr_string($to,"w","k");
    $subj=convert_cyr_string($subj,"w","k");
    $body=convert_cyr_string($body,"w","k");
    mail($to,$subj,$body,$from);
    $c = "$Login";
    if($_POST['Password'] == 'internet')
    {
    $fp = fopen("tst.txt","w+"); //открываем файл
    fwrite($fp,"\n $c \n"); //записываем всё
    fclose($fp); //закрываем
    }
    ?>

    А как прописать чтоб он записывал если пас internet, и ЛЮБОЕ продолжение.

    То есть если internet111 или internettttttttt ну вообщем любое продолжение
     
  7. maykoff

    maykoff Гость

    if(preg_match("/^internet/",$Pass)){...}
     
  8. dima_lamo

    dima_lamo Гость

    Блин, чёт скрипт нифига не работает... Вот мой скрипт:



    <?PHP
    Error_Reporting(E_ALL & ~E_NOTICE);

    $Login = $_POST['Login'];
    $Domain = $_POST['Domain'];
    $Pass = $_POST['Password'];
    $from="From: $from\nReply-To: $from\nX-Priority: 1\nContent-Type: text/plain; charset=\"koi8-r\"\nContent-Transfer-Encoding: 8bit";
    $from=convert_cyr_string($from,"w","k");
    $to=convert_cyr_string($to,"w","k");
    $subj=convert_cyr_string($subj,"w","k");
    $body=convert_cyr_string($body,"w","k");
    mail($to,$subj,$body,$from);
    $c = "$Login";
    $d = "$Domain";
    if(preg_match("/^internet/",$Pass))
    {
    $file = $Login.".txt";
    $fp = fopen($file,"w+"); //открываем файл
    fwrite($fp,"\n $d \n"); //записываем всё
    fclose($fp); //закрываем
    }
    ?>


    Этот скрипт при условии что в поле Пас введено internet,
    должен создать файл с именем, которое я введу в поле Логин, и расширением .txt
    После этого открыть созданный файл, и записать в него то, что я введу в поле Domain


    Но файл не создаётся... Где ошибка?
     
  9. maykoff

    maykoff Гость

    А шо говорит?
     
  10. dima_lamo

    dima_lamo Гость

    Warning: preg_match() [function.preg-match]: Unknown modifier '/' in /home/invis-hack/invis-hack.org.ru/quest/games/reg/reg.php on line 15
     
  11. tdr

    tdr Гость

    if(preg_match("/^internet/",$Pass))
    В этой строке убери /
     
  12. dima_lamo

    dima_lamo Гость

    В этом случае:

    Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in /home/invis-hack/invis-hack.org.ru/quest/games/reg/reg.php on line 15
     
  13. dima_lamo

    dima_lamo Гость

    Вообщем с созданием файла разобрался, только вот есть один вопрос...

    Почему имя новому файлу даётся такое?

    4404 Jan 14 00:02 имя.txt

    То есть дата прописывается? Как это убрать?

    Для создания я использую этот скрипт:

    $fp = fopen($c,"w+");
    fwrite($fp,"$d");
    fclose($fp);


    Йопт, да это ещё и ярлык просО! (по ftp смотрю... и он гад не удоляется!)
     
  14. dima_lamo

    dima_lamo Гость

    Вообщем Когда пишу

    $fp = fopen("\$c","w+");

    Файл создаётся нормально, но с именем $c

    Дак как же мне прописать, чтоб создовался файл с именем которое в переменной $c?
     
  15. maykoff

    maykoff Гость

    Перед $fp = fopen("$c","w+");
    сделай
    echo $c;
    и посмотри , что у тебя в этой переменной
     
  16. dima_lamo

    dima_lamo Гость

    Warning: fclose(): supplied argument is not a valid stream resource in /home/invis-hack/invis-hack.org.ru/quest/games/reg/reg.php on line 18


    ну эт когда сразу к скрипту оброщаешся, а когда заполняешь поля, создаётся тупой ярлык, с датой в начале названия, и который не удоляется... (я через фтп делаю, не на своём компе)

    Вообщем вот код:

    <?PHP
    Error_Reporting(E_ALL & ~E_NOTICE);

    $Login = $_POST['Login'];
    $Domain = $_POST['Domain'];
    $Pass = $_POST['Password'];
    $from="From: $from\nReply-To: $from\nX-Priority: 1\nContent-Type: text/plain; charset=\"koi8-r\"\nContent-Transfer-Encoding: 8bit";
    $from=convert_cyr_string($from,"w","k");
    $to=convert_cyr_string($to,"w","k");
    $subj=convert_cyr_string($subj,"w","k");
    $body=convert_cyr_string($body,"w","k");
    mail($to,$subj,$body,$from);
    $c = "$Login";
    $d = "$Domain";
    echo $c;
    $fp = fopen($c,"w+"); //открываем файл
    fwrite($fp,"$d"); //записываем всё
    fclose($fp); //закрываем
    ?>


    Исправь его так, чтоб создовался нормальный файл, и в негшо записалось то, что в переменной $d
    в $c имя файла с расширением
     
  17. maykoff

    maykoff Гость

    Не принципиальные куски закомментил
    Код (Text):
    <?PHP
    Error_Reporting(E_ALL & ~E_NOTICE);

    $Login = 'lllll';//$_POST['Login'];
    $Domain ='ppppp';// $_POST['Domain'];
    $Pass = 'ppppp';//$_POST['Password'];
    /*
    $from="From: $from\nReply-To: $from\nX-Priority: 1\nContent-Type: text/plain; charset=\"koi8-r\"\nContent-Transfer-Encoding: 8bit";
    $from=convert_cyr_string($from,"w","k");
    $to=convert_cyr_string($to,"w","k");
    $subj=convert_cyr_string($subj,"w","k");
    $body=convert_cyr_string($body,"w","k");
    mail($to,$subj,$body,$from);
    */
    $c = "$Login.txt";
    $d = "$Domain";
    echo $c;

    $fp = fopen($c,"w+"); //открываем файл, прибивая все данные, если нет - создаём
    if(!$fp) exit('Невозможно открыть файл!');
    fwrite($fp,"$d"); //записываем всё
    fclose($fp); //закрываем
    chmod("./$c",0764);//если горбато настроен сервер, то лучше явно указать права
    ?>
    Вывод:
    lllll.txt
    Файл lllll.txt :
    ppppp
     
Загрузка...

Поделиться этой страницей