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

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

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

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    BlackIce, спасибо, разобрался немного, а как сделать уведомление если неверно введён код ? здесь идёт перезагрузка и ничего не отображает если код несуществующий ?
     
  2. qw1mb1

    qw1mb1 Member

    Joined:
    8 Feb 2013
    Messages:
    113
    Likes Received:
    16
    Reputations:
    8
    GAiN,
    PHP:
            $quer mysql_query("SELECT code, name FROM users");
                while(
    $row mysql_fetch_array($quer)){
                    if (
    $Response_Code == $row["code"] ){
                        
    printf("<h1 class=\"success\">You code from name:, " .$row["name"] ."</h1>");
                        exit();
                        }
                    else
                    {
                        
    printf("<h1>Ошибка! Введен неверный код</h1>");
                               }
                              }
    как то так
     
  3. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    qw1mb1, только почему то два сообщения выводит:

    а при верном результате выводи и имя и про ошибку пишет:
    над этим ещё надо подумать...
     
    #21523 GAiN, 6 Apr 2013
    Last edited: 6 Apr 2013
  4. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    Есть вот такая проблема:
    как передать вот этот результат "" .$row["name"] ."" в другой файл с php кодом, там его надо подставить в другую переменную, не хотелось бы в imput type hidden подставлять его, тк это можно подменить в коде.

    в echo прописал:
    PHP:
    echo "<HTML><HEAD> 
       <META HTTP-EQUIV='Refresh' CONTENT='0; URL=file2.php'> 
        </HEAD></HTML>"
    ;
    $row["name"] я присвоил переменной
    $result = "" .$row["name"] ."";
    вот её как то можно переправить безопасно во второй файл ?
    пробовал Get методом, да и проблемно что русские символы там

    какие варианты будут ?
     
  5. mrDebian

    mrDebian Member

    Joined:
    27 Jan 2013
    Messages:
    96
    Likes Received:
    13
    Reputations:
    10
    Используй сессии.
    Ищи по словам -> session_start, $_SESSION

    как-то так:
    Code:
    // file1.php
    session_start();
    $_SESSION['name'] = $row['name'];
    
    Code:
    // file2.php
    session_start();
    $result = $_SESSION['name'];
     
    1 person likes this.
  6. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    mrDebian, спасибо, этот способ очень кстати оказался!


    осталось сделать последнее
    как получить при выборе selected="selected имя указанное между <option value="2" >Указанное имя</option>
    Как получить его ?

    PHP:
    <select name="selekt">
              <
    option value="1" selected="selected">name1</option>
              <
    option value="2" >name2</option>
              <
    option value="3" >name3</option>
              <
    option value="4" >name4</option>
          </
    select></p>
     
    #21526 GAiN, 6 Apr 2013
    Last edited: 6 Apr 2013
  7. mrDebian

    mrDebian Member

    Joined:
    27 Jan 2013
    Messages:
    96
    Likes Received:
    13
    Reputations:
    10
    В PHP?
    Оно в $_POST будет после сабмита.
    В скрипте напиши var_dump($_POST);
    И отправь форму.
    Обращаться как и всегда - $_POST['selekt']
     
  8. DeepBlue7

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

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    То что между >и </option> получать незачем. Проще value="Указанное имя">Указанное имя получать...


    Code:
    <form method='post'>
    <select name="some_select">
    <option value="Имя 1">Имя 1</option>
    <option value="Имя 2">Имя 2</option>
    </select>
    <input type='submit' name='submit' value='Отправить'>
    </form>
    
    Code:
    <?php print_r($_POST); ?>
    
     
    1 person likes this.
  9. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    каким образом можно сделать запрет на добавление данных в mysql?
    проверить надо по ФИО, если есть запись с таким ФИО в таблице то запретить добавлять
     
  10. Chipsonx

    Chipsonx New Member

    Joined:
    9 May 2012
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    PHP:
    <?php


    require 'connect.php';

    $fio 'fio';

    $query "SELECT `id` FROM `qwe` WHERE `fio`='$fio'"



    $query_run mysql_query($query);


    $data mysql_fetch_assoc($query_run);

    if(
    $data['id']){
        
        
        echo 
    'пользователь с таким фио уже зарегестрирован';
        
        
        
        
        }
    else {
        
        
        
    //добавляем фио в бд
        
        
        
        
    }

    ?>
     
    1 person likes this.
  11. prete|\|der

    prete|\|der New Member

    Joined:
    20 Feb 2013
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Привет Всем! Возможно не в ту группу пишу, за что и извиняюсь, но уж очень помощь нужна!!! Ребята помогите пожалуйста с настройкой виртуальных хостов! У меня страшная связка, нуб + XAMPP 1.8.1. + Ubuntu 12.10 . Я переехал на Ubuntu с винды и уже почти неделю бьюсь с настройкой виртуальнх хостов. Возможно это в силу моей "криворукости" по отношению к ubuntu. Для тех кто будет меня критиковать скажу что я впервые пересел на Linux. Если кто то захочет потратить 30 мин своего времени чтоб помочь, провести пошагово посредством скайпа(goodfincher) и ткнуть меня носом в мои ошибки или же тимвивера, буду очень признателен.
     
  12. Chipsonx

    Chipsonx New Member

    Joined:
    9 May 2012
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    curl.

    Если запустить вот такой вот скрипт:
    PHP:
    <?php
    $ch 
    curl_init('http://localhost/qw/file.php');
    curl_exec($ch);
    curl_close($ch);

    ?>
    я просто открою запрашиваемую страницу в браузере. Как записать http ответ в переменную? Где-то читал, что нужно добавить строку curl_setopt ($ch, CURLOPT_RETURNTRANSFER), а потом просто присвоить 'culr_exec($ch) какой-то переменной'. Но если эту переменную вывести с помощью echo, опять просто открывается страница в браузере.
     
  13. DeepBlue7

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

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    Chipsonx

    Code:
    <?php
    include 'connect.php';
    
    $check = mysql_num_rows(mysql_query("select * from users where fio='".$data['fio']."'");
    
    if($check == 1)
    {
    //уже существует
    }
    else
    {
    //не существует
    }
    
    ?>
    
    
     
    #21533 DeepBlue7, 10 Apr 2013
    Last edited: 10 Apr 2013
  14. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    Всем Доброго времени суток!
    нужно решить такую задачку, есть файл в котором есть меню select, а так же параметры разные, которые выбираются этим select`ом, затем их при нажатии кнопки отправить надо послать две переменные в файл обработчик
    сессия не подошла для этого дела, тк форма выводится на другой хост в iframe а на том хосте и php не поддерживает, и браузер куки блокирует стороннего домена.


    поэтому думаю сделать get запрос.

    но есть некоторые проблемы,

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

    Это файл options.php
    PHP:
    здесь идёт обработчик кнопки из формы и проверяет введёный код
    если правильно выводит 
    echo META HTTP-EQUIV='Refresh' CONTENT='0; URL=

    после кода в этом же файле форма идёт:
    <form action="" method="post">
       <p>
    <select name="selected">
              <option selected="selected" value="#">Выбрать предмет:</option>
              <option style="background:#339966;" value="parametr1" >сюда выводится название- на русском</option>
              <option style="background:#339966;" value="parametr2" >сюда выводится название- на русском</option>
              <option style="background:#339966;" value="parametr3" >сюда выводится название- на русском</option>
              <option style="background:#339966;" value="parametr4" >сюда выводится название- на русском></option>
          </select></p>
    <input type="text" value="отправить" name="submit"></form>
    нужно передать при правильном результате кода в echo сделать перенаправление к файлу obrabotchik.php и передать ему значения value="parametr" - тот который будет выбран и "сюда выводится название- на русском" это будет титульник после передачи в obrabotchik.php
    куда это описание вывести можно, можно ли ещё один value прописать ?

    в файле obrabotchik.php принять этот запрос нужно

    помогите пожалуйста
     
  15. mrDebian

    mrDebian Member

    Joined:
    27 Jan 2013
    Messages:
    96
    Likes Received:
    13
    Reputations:
    10
    Не понятно что тебе нужно сделать.

    Если просто сопоставить param=val, и передать это в другой файл, то:
    1) Заведи ассоциативный массив key=>val, например
    PHP:
    array("parametr1" => "Тут на русском""parametr2"=>"Тут на русском2");
    2) select выводи через foreach:
    PHP:
    <?php foreach ($array as $k=>$v):?>
    <?php 
    echo "<option value='{$k}'>{$v}</option>";
    <?
    php endforeach;?>
    3) После сабмита формы отпарвляй значения из массива.
     
  16. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75


    PHP:
    <?php
    $ch 
    curl_init('http://localhost/qw/file.php');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);

    $result curl_exec($ch);
    curl_close($ch);
    echo 
    $result;

    ?>
    GAiN - чесно говоря ничего непонятно, набор слов
     
  17. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    надо из select получить 2 параметра value и описание1, которое будет кириллицей написано

    мне надо из этой формы получить выбранные значения и передать их get запросом в другой php файл, который их примет

    PHP:
    <select name="selected"
              <
    option selected="selected" value="#">Выбрать предмет:</option
              <
    option value="parametr1" >описание1</option
              <
    option value="parametr2" >описание2</option

          </
    select>
    сейчас у меня echo выводит ссылку на следующий скрипт, вот сида можно как то сформировать get запрос, и передать через url value и описание ?

    <meta http-equiv="refresh" content="5;URL='http://example.com/?тут get запрос'">
     
    #21537 GAiN, 10 Apr 2013
    Last edited: 10 Apr 2013
  18. mrDebian

    mrDebian Member

    Joined:
    27 Jan 2013
    Messages:
    96
    Likes Received:
    13
    Reputations:
    10
    Делай как я показал тогда.
    Или если описание динамическое(вводится на стороне клиента), то без ajax не обойтись.
     
  19. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    mrDebian, а нельзя его в id засунуть или в name?
    <option value="parametr1" id="описание" name="описание">

    такой способ через форму был бы очень кстати, просто и легко
    можно было бы его считать из <select name="selected">
    описание выводится из php там оно задаётся, просто оно разное в каждом селекте
    сделал как выше, там уже ошибка 500 идёт в скрипте


    мне впринципе get создать надо вручную из 2х параметров из селекта, value и описание, и подставить это через рефрешу подставить к имеющийся ссылке там

    вот так будет формироваться ссылка: script.php?value=valuename&opisavie=описание
     
    #21539 GAiN, 10 Apr 2013
    Last edited: 10 Apr 2013
  20. mrDebian

    mrDebian Member

    Joined:
    27 Jan 2013
    Messages:
    96
    Likes Received:
    13
    Reputations:
    10
    у option нету параметра name, только у select.
    Поэтому просто заводи массив и выводи из него значения.
     
Thread Status:
Not open for further replies.