Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 03.02.2012, 18:02   #1
max74max
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 22
По умолчанию Простейшая функция

Здравствуйте! В чем может быть ошибка? Знаю, что это бонально, но разобраться не могу.

Вот эта функция не работает:

PHP код:
<?php
if
         (isset(
$_POST['nomer']) && $_POST['nomer'] == "")       
{
die (
'<h3>Вы не заполнили поле: <font color=red><b>Номер телефона</b></font><br><br><input type="button" onclick="history.back()" value="Нажмите">, что бы вернуться назад</h3>');
}

else
{
        
$protocol "http://";

            @
header('Location: ' $protocol 'www.qwe.com/=Карт.бел=' $_POST['kartbel'] . 'Карт.Крас=' $_POST['kartkras'] . 'Лук=' $_POST['lyk'] . 'Капус=' $_POST['kap'] . 'Морк=' $_POST['mork']  . 'Свек=' $_POST['svek'] . ';Tel-' $_POST['nomer']);
        }
        else {
            die(
'Ошибка обработки заказа! Пожалуйста, оформите заказ по телефону.');
        }
?>

А эта работает, но в чем разница, почему не работает первая?

PHP код:
<?php
include_once('jcart.php');

$config $jcart->config;

if (
$_POST['jcartUpdateCart'] || $_POST['jcartEmpty']) {

    
// Update the cart
    
if ($_POST['jcartUpdateCart']) {
        if (
$jcart->update_cart() !== true)    {
            
$_SESSION['quantityError'] = true;
        }
    }

    
// Empty the cart
    
if ($_POST['jcartEmpty']) {
        
$jcart->empty_cart();
    }

    
// Redirect back to the checkout page
    
$protocol 'http://';
    if (!empty(
$_SERVER['HTTPS'])) {
        
$protocol 'https://';
    }

    
header('Location: ' $protocol $_SERVER['HTTP_HOST'] . $config['checkoutPath']);
    exit;
}

else {

    
$validPrices true;

    if (
$validPrices !== true)    {
        die(
$config['text']['checkoutError']);
    }

elseif
         (isset(
$_POST['namber']) && $_POST['namber'] == "")
           
{
die (
'<h3>Вы не заполнили поле: <font color=red><b>Номер телефона</b></font><br><br><input type="button" onclick="history.back()" value="Нажмите">, что бы вернуться назад</h3>');
}


elseif
         (!isset(
$_POST['namber']) && $_POST['namber'] == "")
           
{
die (
'<h3>Вы не заполнили: <font color=red><b>ниодного поля</b></font><br><br> <a href="http://dostavka-ovoshey.ru">Нажмите</a>, что бы вернуться На главную</h3>');
}


        elseif (
$validPrices === true) {
        
// Paypal count starts at one instead of zero
        //$count = 1;
        
        // Build the query string
        
$queryString  "";
        
$queryString .= "";
        
$queryString .= "";
        
$queryString .= "";
        
$queryString .= "";
        
$queryString .= "";
        
$queryString .= '';
        
//$namber = '89789';
        
foreach ($jcart->get_contents() as $item) {

            
//$queryString .= '' . $count . '=' . urlencode($item['id']);
            
$queryString .= '' $count '' urlencode($item['name']);
            
//$queryString .= '' . $count . '=' . urlencode($item['price']);
            
$queryString .= '' $count '=' urlencode($item['qty'].'kg,');
            
//$queryString .= '' . $coco . '-' . urlencode($item['subtotal'].'rub;');

            // Increment the counter
            //++$count;
        
}

        
// Empty the cart
        
$jcart->empty_cart();

        
// Confirm that a PayPal id is set in config.php
        
if ($config['paypal']['id']) {

            
// Add the sandbox subdomain if necessary
            
$sandbox '';
            if (
$config['paypal']['sandbox'] === true) {
                
$sandbox '.sandbox';
            }

            
// Use HTTPS by default
            
$protocol 'https://';
            if (
$config['paypal']['https'] == true) {
                
$protocol 'http://';
            }

            
// Send the visitor to PayPal
            
@header('Location: ' $protocol 'www' $sandbox '.qwe.com/=' $queryString ';Tel-' $_POST['namber']);
        }
        else {
            die(
'Couldn&rsquo;t find a PayPal ID in <strong>config.php</strong>.');
        }
    }
}

?>
Вопрос- Почему не работает первый скрипт?
max74max вне форума
Старый 03.02.2012, 18:11   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,596
По умолчанию

Во-первых, тут нет никаких функций.
Во-вторых, как у вас получилось так, что один if и два else?
Arigato вне форума
Старый 03.02.2012, 18:39   #3
max74max
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 22
По умолчанию

Дак вот в чем ошибка! Спасибо, я в php не не силен.
max74max вне форума
Старый 03.02.2012, 20:33   #4
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию

Код:
if 
         (isset($_POST['nomer']) && $_POST['nomer'] == "")
А вот это вообще бред. Или я туплю?!
Самый перспективный framework Yii (c)
TranceSmile вне форума
Старый 03.02.2012, 21:25   #5
max74max
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 22
По умолчанию

Цитата:
Сообщение от TranceSmile Посмотреть сообщение
Код:
if 
         (isset($_POST['nomer']) && $_POST['nomer'] == "")
А вот это вообще бред. Или я туплю?!
Это не брет, т.к. $_POST['nomer'] передается с предыдущей страницы (т.е. от первго скрипта)

Да дело даже не в этом. Возникает вопрос:

Можноли изменить заголовок?

Например есть

PHP код:
@header('Location:http://site.com/index.php?login=admin&pass=123'); 
Когда происходит редирек, то в адресной строке появляется http://site.com/index.php?login=admin&pass=123 и мы уже находимя на site.com

Как можно схитрить и скрыть это, что бы по факту переадресация была, но в адресной строке вместо http://site.com/index.php?login=admin&pass=123 было бы например http://url.ru/main.php или оставалась бы таже самая страница редиректа.

Возможно ли такое передать через header или через .htaccess ?
max74max вне форума
Старый 03.02.2012, 21:30   #6
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

[QUOTE=TranceSmile;973607]
Код:
if 
         (isset($_POST['nomer']) && $_POST['nomer'] == "")
Получается . Если существует $_POST['nomer'] и он же $_POST['nomer'] == "" пустой ? ô0

...................
нужно что то вроде
(isset($_POST['nomer']) && $_POST['nomer'] == "1")

или просто if(isset($_POST['nomer'])) { die('txt'); }
Ещё я читал , ( я начинающий программер ) что нельзя отделять скобки от функций / операторов от них. пример str_replace() <== правильно / пример str_replace () <== не правильно .
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/

Последний раз редактировалось pompiduskus; 03.02.2012 в 21:33.
pompiduskus вне форума
Старый 03.02.2012, 21:38   #7
max74max
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 22
По умолчанию

Но это работает! Вот сам код, если Вам интересно:

А переводится это как Если Существует $_POST['nomer'] и он же пустой, то показать сообщение
Код:
Вы не заполнили поле...
и т.д.

PHP код:
if
         (isset(
$_POST['nomer']) && $_POST['nomer'] == "")
           
{
die (
'<h3>Вы не заполнили поле: <font color=red><b>Номер телефона</b></font><br><br><input type="button" onclick="history.back()" value="Нажмите">, что бы вернуться назад</h3>');

А вот откуда берется $_POST['nomer']

PHP код:
<form method='post' action='jcart/gateway2.php'>
<input type='text' id='nomer' name='nomer' value='<?$nomer;?>' size="13">
</form>
Вопрос в 5 посте остается открытым:

Возможно ли передать через header или через .htaccess ?

Последний раз редактировалось max74max; 03.02.2012 в 21:41.
max74max вне форума
Старый 04.02.2012, 00:14   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,596
По умолчанию

Бред какой-то. Закрываю тему.
Arigato вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простейшая Графика в C++ de_baks Общие вопросы C/C++ 1 16.12.2011 02:35
Простейшая функция vostok Microsoft Office Excel 5 19.04.2011 17:19
Простейшая функция вычислить tg(x) homa371 Паскаль, Turbo Pascal, PascalABC.NET 7 20.01.2011 12:58
Простейшая программа в MFC iceman2112 Win Api 6 17.01.2011 05:33
Простейшая программа Hemul Общие вопросы C/C++ 9 05.10.2010 01:53