[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Хацкер

    Хацкер Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    107
    Likes Received:
    9
    Reputations:
    0
    Оч простой вопрос правда до меня не дойдет..

    filesize($filename)

    как можно просчитать размер трех файлов и сложить их в едино?
     
  2. bombeg

    bombeg Member

    Joined:
    27 Oct 2008
    Messages:
    136
    Likes Received:
    83
    Reputations:
    8
    PHP:
    $files = array('file1.rar''file2.rar''file3.rar');
    $size 0;
    foreach(
    $files as $file)
    {
        
    $size += filesize($file);
    }
    echo 
    $size;
     
    3 people like this.
  3. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    <?php
    $files 
    filesize('file 1') + filesize('file 2') + filesize('file 3');
    echo 
    $files;
    ?>
     
    3 people like this.
  4. PEPSICOLA

    PEPSICOLA . . . . . 2L . . . . .

    Joined:
    14 Oct 2004
    Messages:
    1,025
    Likes Received:
    823
    Reputations:
    368
    Ват да фааак!!! :((( php 5.2.4
    Не пашет чавойто. Если не вводишь имя - то сообщение об ошибке не появляется. :(

    feedback.php
    PHP:
    <html>
    <
    head>
    <
    style type="text/css">
    div{
        
    bordersolid 1px green;
        
    padding10px 10px;
        
    width370px;
        
    marginauto;

    }
    p{
        
    margin0px;
        
    padding0px 15px;
    }
    h7{
        
    font-weightbold;
    }
    </
    style>
    </
    head>
    <
    body>
    <
    div>
    <
    h1>Обратная связь</h1>
    <
    h7>Пожалуйста оставьте ваше сообщение.</h7><br />
    <
    form method="post" action="processfeedback.php">
    <
    p>Фамилияимя:</p>
    <
    input type="text" name="name"> <br />
    <
    p>Адресс email:</p>
    <
    input type="text" name="email"> <br />
    <
    p>Ваше сообщение</p>
    <
    textarea name="message" cols="40" rows="10">
    </
    textarea>
    <
    br />
    <
    br />
    <
    input type="submit" value="Отправить">
    </
    form>
    </
    div>

    </
    body>
    </
    html>

    processfeedback.php
    PHP:
    <?php
    if (!isset($_POST['name']))
    {
        echo 
    "yo, заполни все поля <br /> $name";
        exit();
    }
    echo 
    $_POST['name'];
    ?>
     
    7 people like this.
  5. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    PEPSICOLA,

    $_POST['name'] всегда будет установлена, хоть и пуста при отправке формы, а значит isset будет возвращать true. Тут надо использовать функцию empty($_POST['name'])
     
    _________________________
    1 person likes this.
  6. PEPSICOLA

    PEPSICOLA . . . . . 2L . . . . .

    Joined:
    14 Oct 2004
    Messages:
    1,025
    Likes Received:
    823
    Reputations:
    368
    Спасибо мэн!
     
  7. cash$$$

    cash$$$ Banned

    Joined:
    6 Jan 2008
    Messages:
    385
    Likes Received:
    246
    Reputations:
    10
    Попробуй так

    feedback.php

    PHP:
    <form action="ughsout.php" method="post">
    <!-- DO NOT change ANY of the php sections -->
    <?php
    $ipi 
    getenv("REMOTE_ADDR"); 
    $httprefi getenv ("HTTP_REFERER");
    $httpagenti getenv ("HTTP_USER_AGENT");
    ?>
    <input type="hidden" name="ip" value="<?php echo $ipi ?>" />
    <input type="hidden" name="httpref" value="<?php echo $httprefi ?>" />
    <input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" />
    <h2 align="center">Feedback Form</h2>
    <p>
    All input is blah blah ...... </p>
    <p>Send Data to: <select name="attn" size="1">
    <option value=" MT General Email ">General Email</option>
    <option value=" MakeTemplate Owner ">Owner of MakeTemplate</option>
    <option value=" Technical Support ">Technical Support</option>
    <option value=" PHP Codemaster ">PHP Codemaster</option>
    </select>
    <br />
    Name: <input type="text" name="nameis" size="20" /> Email:<input type="text" name="visitormail" size="20" />


    <br/> Overall Rating:<br/> [<input checked="checked" name="rating" type="radio" value="good" /> Good]   [<input name="rating" type="radio" value="bad" /> Bad]   [<input name="rating" type="radio" value="ugly" /> Ugly] 
    </p>
    <p> Request additional features for a feedback tutorial:<br /> 
    <input type="checkbox" name="emailvalidation" value="y" /> Email 'format' Validation - check @<br /> 
    <input type="checkbox" name="fieldvalidation" value="y" /> Required Form Field Validation.<br />
    <input type="checkbox" name="htmlcontrol" value="y" /> More intergratd HTML (in form).<br />
    <input type="checkbox" name="phpform" value="y" /> Improved PHP form script generator.<br />
    <input type="checkbox" name="htmlform" value="y" /> A complete HTML form generator. <br />
    </p>
    <br />
    <h3 align="center">General Comments</h3> 
    <p align="center">
    <textarea name="feedback" rows="6" cols="30">Notes n comments here</textarea>
    </p>
    <hr />
    <p align="center">
    <input type="submit" value="Submit Feedback" />
    </p>

    </form>
    feedout.php

    PHP:
    <h3 align="center">Thanks for your Feedback </h3>
    <!-- VIP: change YourEmail to your real email -->

    <?php 

    $ip 
    $_POST['ip'];
    $httpagent $_POST['httpagent'];
    $httpref $_POST['$httpref'];
    $nameis $_POST['nameis']; 
    $visitormail $_POST['visitormail']; 
    $feedback $_POST['feedback']; 
    $rating $_POST['rating'];
    $emailvalidation $_POST['emailvalidation']; 
    $fieldvalidation $_POST['fieldvalidation']; 
    $htmlcontrol$_POST['htmlcontrol']; 
    $phpform $_POST['phpform']; 
    $htmlform $_POST['htmlform'];
    $attn $_POST['attn']; 

    if (
    eregi('http:'$feedback)) { die ("Do NOT try that! ! "); } 

    if((!
    $visitormail == "") && (!strstr($visitormail,"@") || !strstr($visitormail,"."))) 
    {
    echo 
    "<h2>Use Back - Enter valid e-mail</h2>\n";
    $tellem "<h2>Feedback was NOT submitted</h2>\n";
    }

    if(empty(
    $nameis) || empty($feedback) || empty($visitormail)) {
    echo 
    "<h2>Use Back - fill in all fields</h2>\n";
    }

    echo 
    $tellem;

    if (
    $emailvalidation == "y") { 
    $req1 "Email format Validation \n" 
    }

    if (
    $fieldvalidation == "y") {
    $req2 "Required Form Field Validation \n";
    }
    if (
    $htmlcontrol == "y") {
    $req3 "More intergratd HTML (in form) \n";
    }
    if (
    $phpform == "y") {
    $req4 "Improved PHP form script generator \n";
    }
    if (
    $htmlform == "y") {
    $req5 "A complete HTML form generator \n";
    }
    $req $req1 $req2 $req3 $req4 $req5;

    $todayis date("l, F j, Y, g:i a") ;

    $attn $attn
    $subject $attn

    $feedback stripcslashes($feedback);

    $message $todayis [EST] \n 
    Attention: 
    $attn (Rating: $rating) \n 
    From: 
    $nameis ($visitormail)\n
    Requested:
    $req \n
    Feedback: 
    $feedback \n
    Additional Info : IP = 
    $ip \n 
    Browser = 
    $httpagent \n
    Referral = 
    $httpref
    "
    ;

    $from "From: $visitormail\r\n";

    mail("YourEmail"$subject$message$from);


    $screenout str_replace("\n""<br/>"$message);
    ?>


    <p align="center">

    <?php echo $screenout ?>

    </p>
     
    1 person likes this.
  8. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    cash$$$ с таким feedout.php ты сразу получаешь xss'ку, если зайдешь на сформированую мной страницу. Если скрипт известный - не поделишься названием?

    eregi - много медленне preg_match
     
    _________________________
    #6068 Gifts, 11 Nov 2008
    Last edited: 11 Nov 2008
  9. PandoraBox

    PandoraBox Elder - Старейшина

    Joined:
    6 May 2007
    Messages:
    262
    Likes Received:
    176
    Reputations:
    7
    помогите разобрать регулярку

    PHP:
    $temp '<img id="imgbutton44930794" class="playimg" src="images/play.gif" nosorthandle="true" onclick="return operate(44930794,1620,20326154,\'dd80d5202151\',0);"/>';

    preg_match_all("/return operate(.?,(.*),(.*),'(.*)',.?);\"/i"$temp$parsed);  //Выбираем ссылки  

    print_r($parsed);
    return operate(44930794,1620,20326154,\'dd80d5202151\',0);
    интересует как перепарсить груду кода, удалить все лишнее и оставить только линки
     
    #6069 PandoraBox, 11 Nov 2008
    Last edited: 11 Nov 2008
  10. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    PandoraBox, что значит разобрать?

    Регулярка кстати не правильная, надо:
    PHP:
    preg_match_all("/return operate(.*,(.*),(.*),'(.*)',.*);\"/Usi"$temp$parsed);
    А еще лучше:
    PHP:
    preg_match_all("/return operate(\d*,(\d*),(\d*),'(\d*)',\d*);\"/Ui"$temp$parsed);
     
    _________________________
    #6070 Gifts, 11 Nov 2008
    Last edited: 11 Nov 2008
  11. [х26]VОLАND

    [х26]VОLАND Elder - Старейшина

    Joined:
    7 Jun 2006
    Messages:
    513
    Likes Received:
    756
    Reputations:
    218
    Если name - строка, то корректнее проверять $_POST['name'] === '' , ибо emtpy возвращает false, если например name имеет значение '0'...
     
    3 people like this.
  12. UnPazz

    UnPazz Elder - Старейшина

    Joined:
    30 Aug 2008
    Messages:
    95
    Likes Received:
    43
    Reputations:
    6
    Запрос:
    PHP:
    mysql_query("INSERT INTO `admin` (`login`, `pass`, `id`) VALUES ('login', 'user', '5'), 'user', 'user', '5');");
    Как в строчку
    PHP:
    VALUES ('$login''$user''5'
    вместо login и user вставить переменные $login и $user ?
    p.s: сколько не пытался ошибка синтаксиса.
     
  13. Extremal

    Extremal Elder - Старейшина

    Joined:
    21 Jun 2006
    Messages:
    66
    Likes Received:
    85
    Reputations:
    10
    2UnPazz
    PHP:
    VALUES ('login''user''5')
    Получаеться примерно так если правильно тебя понял:

    PHP:
    VALUES ('.$login.''.$user.''5')
     
    #6073 Extremal, 11 Nov 2008
    Last edited: 11 Nov 2008
    4 people like this.
  14. bombeg

    bombeg Member

    Joined:
    27 Oct 2008
    Messages:
    136
    Likes Received:
    83
    Reputations:
    8
    PHP:
     mysql_query("INSERT INTO `admin` (`login`, `pass`, `id`) VALUES ('{$login}', '{$user}', 5)");  
     
  15. bombeg

    bombeg Member

    Joined:
    27 Oct 2008
    Messages:
    136
    Likes Received:
    83
    Reputations:
    8
    все верно он сказал. имени 0 не бывает. в данном случае эта корректировка значения не имеет.
     
    2 people like this.
  16. UnPazz

    UnPazz Elder - Старейшина

    Joined:
    30 Aug 2008
    Messages:
    95
    Likes Received:
    43
    Reputations:
    6
    PHP:
    <html>
    <head>
    <title></title>
    </head>
    <body>
    <?
    if (isset($_POST['login']) && isset($_POST['password']))

    if (!preg_match('#[a-zA-Z0-9\_]{4,16}#',$_POST['login']) || !preg_match('#[a-zA-Z0-9\_]{4,16}#',$_POST['password'])) die();

          $login=$_POST['login'];
          $pass=$_POST['password'];

        // ñîåäèíåíèå ñ áàçîé äàííûõ
        $link = mysql_connect("localhost", "mycms", "mycms") or die("Íåò ñîåäèíåíèÿ ñ áàçîé äàííûõ : " . mysql_error());
        mysql_select_db("mycms");

        // âûïîëíåíèå sql-çàïðîñà
       mysql_query("INSERT INTO `admin` (`login`, `pass`, `id`) VALUES ('{$login}','{$pass}', '8'), ('{$login}.','{$pass}', '8');");
    ?>
    <h3>Ðåãèñòðàöèÿ íîâîãî ïîëüçîâàòåëÿ</h3>
    <form action="/reg/index.php">
    Ëîãèí :<input type=text name="login"><br>
    Ïàðîëü:<input type=password name=password [value=10] [size=10] [maxlen=10]><br>
    <input type=submit value="Ðåãèñòðàöèÿ">
    </form>
    <a href="/">Íàçàä</a>
    </body>
    </html> 
    В результате работы этого кода в таблице создается новая строка. Но заполняется только ячейка id, в login и pass записывается точка. Подскажите, в чем дело?
     
  17. bombeg

    bombeg Member

    Joined:
    27 Oct 2008
    Messages:
    136
    Likes Received:
    83
    Reputations:
    8

    это еще что такое?
    во-первых, зачем у тебя две вставки одинаковых данных?
    во-вторых, точка у тебя во втором инсерте.
     
  18. bombeg

    bombeg Member

    Joined:
    27 Oct 2008
    Messages:
    136
    Likes Received:
    83
    Reputations:
    8
    PHP:
    mysql_query("INSERT INTO `admin` (`login`, `pass`, `id`) VALUES ('{$login}','{$pass}', '8')") or print mysql_error();
    попробуй так.
     
  19. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    '.$login.'.............'.$pass

    //Хм......php код вывелся совсем не тот что я написал...баг оО?
     
    #6079 banned, 11 Nov 2008
    Last edited: 11 Nov 2008
    1 person likes this.
  20. sadfeel

    sadfeel Member

    Joined:
    5 Nov 2008
    Messages:
    83
    Likes Received:
    6
    Reputations:
    0
    а где safe_mode прописывается????
     
Thread Status:
Not open for further replies.