Начало Вход/Регистрация Помощ Tazi stranica s latinski bukwi
Области
 Новини
 Актуална тема
 Linux портали
 Какво е Линукс?
 Въпроси-отговори
 Форуми
   •Трудова борса
   •Конкурс
 Статии
 Дистрибуции
   •Поръчка на CD
 Made In BG
 Файлове
 Връзки
 Галерия
 Конференции
Настройки
 Външен вид
 Предложения
 Направи си сам
И още ...
 За нас
 Линукс за българи ЕООД
 Линк към нас
 Предложения

Подкрепяно от:
TelePoint - Място за хора със свободни идеи

SiteGround

initLab

Adsys Group

SAP Bulgaria

Въпроси отговори
Въпрос: php + MySQL - help
[Търси: ]

ВНИМАНИЕ: Използвайте форумите на сайта за дa зададете вашите въпроси.

Към началото |Добави въпрос |Отговори
 
Въпрос
От: begin4o Дата: 07/19/2004
Здравейте.
Дано не досаждам с въпросите си.
От известно време се опитвам да подкарам MySQL+PHP.
Нещо ми се опъва и не разбирам къде ми е пропуска.
Ето прост пример, който няма нищо общо с MySQL, 
но мисля че има връзка с настройките ми.
Имам следната форма и PHP скрипт.

ФОРМА-та е:
=============================================

<FORM ACTION="mult.php" METHOD="GET">
<INPUT TYPE="text" NAME="first" SIZE="4" MAXLENGTH="4">
<INPUT TYPE="text" NAME="second" SIZE="4" MAXLENGTH="4">
<INPUT TYPE="Submit" VALUE="Умножи">
</FORM>

=============================================

PHP-скрипта е:
=============================================

<?php
Header("Content-type: text/html");
echo "$first умножено на $second прави ", $first*$second;
?>

=============================================
Апаха ми дава следната грешка в ЛОГ-файла:

 [Mon Jul 19 13:57:05 2004] [error] PHP Notice:  Undefined
 variable:  first in /var/www/htdocs/test/php&mysql/mult.php
on line 3
 [Mon Jul 19 13:57:05 2004] [error] PHP Notice:  Undefined
 variable:  second in /var/www/htdocs/test/php&mysql/mult.php
on line 3

 Подобни грешки ми дава и като се опитвам да пиша в някоя
MySQL база.
Мога да чета без проблем от MySQL база.

Къде е грешката ми? Не разбирам къде?

Версиите на софтуера са:

Apache Version - Apache/1.3.28
PHP Version 4.3.3
Мерси предварително.


Отговор #1
От: Veleslava Abadjieva Дата: 07/19/2004
Za da ne ti dava notice, trqbva da postypvash taka:

vmesto:
<?php
Header("Content-type: text/html");
echo "$first умножено на $second прави ", $first*$second;
?>


pravi tova:

<?php
Header("Content-type: text/html");

if(isset($first) AND isset($second))
{
	echo "$first умножено на $second прави ", $first*$second;
}
?>
sega notice ne bi trqbvalo da se izpisva
 a ako naistina si myj shte se obryshtash kym promenlivite
taka:


 ... isset($_GET['first']) AND isset($_GET['second']) ... //
dokato formata ti prashta po GET

uspeh!



Отговор #2
От: begin4o Дата: 07/19/2004
ОК Велеслава. 
Но сега няма никакъв резултат. скрипта не се изпълнява.
Преди поне имаше запис в ЛОГ-а.
Ето какво предава браузъра като му въведа
две числа например, 2 и 5.

http://my_server/mult.php?first=2&second=5

Това е правилно, но скрипта не реагира.


Отговор #3
От: Veleslava Abadjieva Дата: 07/19/2004
q probvaj tova:
 echo "$_GET['first'] умножено на $_GET['second'] прави ",
$first*$second;



Отговор #4
От: Veleslava Abadjieva Дата: 07/19/2004
opssss...
greshka. Tova e varno:
q probvaj tova:
 echo "$_GET['first'] умножено на $_GET['second'] прави ".
($_GET['first']*$_GET['second']);



Отговор #5
От: begin4o Дата: 07/19/2004
Цък!!! Ето грешката. 

 [Mon Jul 19 16:19:10 2004] [error] PHP Parse error:  parse
 error, expecting `T_STRING' or `T_VARIABLE' or
 `T_NUM_STRING' in /var/www/htdocs/test/php&mysql/mult.php on
line 6

нещо зациклих. Пак на става.


Ето как го написах:

<?php
Header("Content-type: text/html");

if(isset($first) AND isset($second))
{
    echo "$_GET['first'] умножено на $_GET['second'] прави
".
($_GET['first']*$_GET['second']);
}
?>


Отговор #6
От: Genata Дата: 07/20/2004
Пробвай това:
--------------------
<?php
Header("Content-type: text/html");

$first = "";
$second = "";

if(isset( $_GET['first']) && isset($_GET['first']) ) {
    $first = $_GET['first'];
    $second = $_GET['second'];
    echo "$first умножено на $second прави
". ($first*$second);

}
?>


Отговор #7
От: begin4o Дата: 07/20/2004
Много мерси Гена.
(не само на Гената, на всички дето се ангажираха)
Това последното от Гената сработи.
Ако не досаждам, защо има такива различия в синтаксиса?
Може би нещо не съм конфигурирал както трябва.
Още веднъж мерси...


Отговор #8
От: Veleslava Abadjieva Дата: 07/20/2004
 Pregledaj si /etc/php.ini i vij opciqta REGISTER_GLOBALS
(maj taka se pisheshe) 
 dokolkoto si spomnqm, kogato e na "ON" chete vsqkakvi
 promenlivi. Kogato e na OFF chete samo kogato sa izrichno
 posocheni otkadfe idva. T.e. samo po $_GET ili $_POST ili
$_SESSION ili $_REQUEST i t.n.

pogledni i tova:
<?php

// Turn off all error reporting
error_reporting(0);

// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

 // Reporting E_NOTICE can be good too (to report
uninitialized 
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);

// Report all PHP errors (bitwise 63 may be used in PHP 3)
error_reporting(E_ALL);

// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

?> 
Uspeh :-)



Отговор #9
От: begin4o Дата: 07/20/2004
Мерси Велеслава. 
Оказа се права. 
Промених в php.ini-то

register_globals = On

и се получи.
10-х...


<< SQUID FTP проблем (0 ) | Named в мрежата на СУ (2 ) >>

 
© 2011-... Асоциация "Линукс за българи"
© 2007-2010 Линукс за българи ЕООД
© 1999-2006 Slavej Karadjov
Ако искате да препечатате или цитирате информация от този сайт прочетете първо това
Външния вид е направен от MOMCHE
Code Version: 1.0.8 H (Revision: 23-09-2011)
 
Изпълнението отне: 0 wallclock secs ( 0.07 usr + 0.02 sys = 0.09 CPU)