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

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

Thread Status:
Not open for further replies.
  1. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    добавляю записи в бд после запроса через форму, все хорошо, но если страницу обновить то данные заносятся еще раз и так все время как обновляешь....как убрать этот косяк?
     
  2. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    После добавления выведи
    echo '<script>document.location="index.php";</script>';
    или
    // эта функция должна отработать раньше, чем будет какой либо вывод на страницу, тобишь echo и прочее - отдыхают, иначе ошибку получишь ..
    header("Location: index.php");

    index.php смени на адрес своего скрипта
     
    1 person likes this.
  3. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    да редирект помог, спс
     
  4. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    теперь следущая загвоздка....из бд выводятся юзеры с подписками, напротив юзера вывожу кнопку, допустим убрать подписку...получается по кнопке должна запускаться функция, по которой будет определяться, что это именно этот юзер? или хз как.....вобщем кнопка должна понимать, что действие идет именно к тому юзеру, возле которого она стоит....
     
  5. mouse.pro

    mouse.pro Elder - Старейшина

    Joined:
    6 Dec 2006
    Messages:
    113
    Likes Received:
    73
    Reputations:
    14
    PHP:
    if(!isset($_GET['deluser'])) {
    $res mysql_query("SELECT * FROM table");
    while(
    $row mysql_fetch_array($res)) {
    echo 
    "<a href=?deluser=".$row['Id'].">Удалить</a>";
    }
    } else {
    $res mysql_query("DELETE FROM table WHERE id='".$_GET['id']."'");
    if(
    $res) {
        echo 
    "Запись с ID:".$_GET['id']." успешно удалена!";
        } else {
        echo 
    "При удалении возникли ошибки!";
    }
    Как-то так, фильтр сделай только. =)
     
    1 person likes this.
  6. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    сделал подругому, но за наводку +

    ....и последнее на сегодня(наеврное)
    в бд заносятся юзеры да, напротив каждой подписки нужно чтобы заносились юзеры через запятую, одного я добавляю....а как следующих дописывать через запятую и выбирать потом?
     
  7. Zedi

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

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    Посчитай количество записей функцией mysql_num_rows и проходи циклом for($i=0;$i<$n;$i++)
     
    1 person likes this.
  8. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    причем тут количество столбцов?
     
  9. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    а в чём проблема?)
    Заносишь логины, ну или id-шники типо того, самый простой вариант:
    PHP:
    #Запрашиваем уже существующих юзеров для данной подписки
    $sql mysql_query('SELECT `users` FROM `podpiska` WHERE `id_podpiska` = 1');
    $row mysql_fetch_row($sql);

    #Добавляем нового юзера
    $new_user 'Вася';
    $add $row[0].','.$new_user;
    $query mysql_query("UPDATE `podpiska` SET `users` = '".$add."' WHERE `id_podpiska` = '1'");
    if(
    $query) echo 'Добавлен';
    else echo 
    mysql_error();
    Ну а выбирать типо так:
    PHP:
    $sql mysql_query('SELECT `users` FROM `podpiska` WHERE `id_podpiska` = 1');
    $row mysql_fetch_row($sql);
    #Разбиваем по запятой
    $users explode(','$row[0]);
    #Получаем список
    print_r($users);
    Ток не забывай экранировать :)
     
    1 person likes this.
  10. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    +1 =)
     
  11. PandoraBox

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

    Joined:
    6 May 2007
    Messages:
    262
    Likes Received:
    176
    Reputations:
    7
    PHP:
    #Добавляем нового юзера
    $new_user 'Вася';
    $new_user trim($new_user);
    $new_user stripslashes($new_user);
    $new_user htmlspecialchars($new_user);
    да и вобще фильтруй то что в Бд идет а то будет инжект)
     
    #4791 PandoraBox, 19 Aug 2008
    Last edited: 19 Aug 2008
    1 person likes this.
  12. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    после действия определенного, мне нужно значения из таблицы 1 перенести в таблицу 2...как быть?
    нада сначало выбрать все значения из 1, прировнять к переменным, затем удалить 1 табу и вставить переменные в тругую таблицу?)
     
  13. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    омг, какой ужас...

    именно в таблицу или поле?)
    если в таблицу, то думаю ты описал примерно правильно :)
     
  14. lisa99

    lisa99 Banned

    Joined:
    15 Jul 2008
    Messages:
    359
    Likes Received:
    200
    Reputations:
    70
    php сервера- php Денвера

    ,Столкнулась с тем, что слитый сайт работает на сервере, но не работает на локале под Денвером 3.
    Я понимаю, что в Денвере многое отсечено, но как узнать, какой либы может не хватать?
    по ошибкам это непонятно, пыталась размотать клубок вызовов функций и классов - утонула.
    Можно ли как-то в целом сравнить конфигурации php?
    ------
    или..стоит максимально расширить пхп на локальной машине?
    или это может быть еще не все...?
     
  15. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Ставь wampserver, все стандартные библиотеки включены в дистр. Потом только на иконке в трее включай/выключай не нужные. Намного удобнее. Тебе понравится
     
  16. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    http://appservnetwork.com
     
    1 person likes this.
  17. Хацкер

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

    Joined:
    25 Jul 2008
    Messages:
    107
    Likes Received:
    9
    Reputations:
    0
    Нужно составить запрос к mysql прочитать из БД test таблицы users поле login к примеру)) помогите примером и как вывести данные в php))
     
  18. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Хацкер,
    PHP:
    <?php
    $query 
    "SELECT * FROM `users`";
    $result mysql_query($query);
    while(
    $row mysql_fetch_array($result)) echo $row['login'].'<br/>';
    ?>
     
    2 people like this.
  19. Хацкер

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

    Joined:
    25 Jul 2008
    Messages:
    107
    Likes Received:
    9
    Reputations:
    0

    А можна второй пример где выводить логины только если значение поля yes равен 0 иил 1
     
  20. FrMn

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

    Joined:
    8 Aug 2008
    Messages:
    51
    Likes Received:
    16
    Reputations:
    7
    Code:
    $query = "SELECT * FROM `users` WHERE yes=1 OR yes=0";
     
    1 person likes this.
Thread Status:
Not open for further replies.