IE6: передача GET- ом. Странное URL.

xak-2010

Новичок
IE6: передача GET- ом. Странное URL.

Доброго времени суток уважаемому собранию!

Первый раз пишу на РНР, поэтому прошу не судить строго и простить корявую терминологию.

Проблема: как смог написал программку для поиска книг в библиотеке. Для передаче переменных использовал GET "сам на себя". Вроде работает и в IE8 и в фоксе . Но в IE6 - нет. В программе использую набор кнопок для выбора названий по буквам алфавита. Примерно так:

<button type="submit" class="button" name="AZ_button" value="A">A</button>
...
...
<button type="submit" class="button" name="AZ_button" value="Z">Z</button>

Так вот. В IE6 после прохождения инструкции примерно такой:

"<a href=\"?strana=$e&slovo=$slovo&zoradit=$zoradit&Zdroj=$Zdroj&CoHladat=$CoHladat&AZ_button=$AZ_button\">$e</a>&nbsp;";

в URL браузера IE6 вместо одной пары AZ_button=$AZ_button выписываются пары для всех букв алфавита от А до Z.

Дело в том, что в конторе, где работаю, IE6 - обязательный к использованию.

Уважаемое собрание, подскажите, что надо сделать, чтобы прога работала и под IE6? Добавлю, что тестировалась на нескольких компах. И везде одно и то же: везде идёт, а под IE6 - нет.

Заранее благодарю за время и помощь.
 

Dovg

Продвинутый новичок
приведи, пожалуйста, минимальный комплект кода, который воспроизводит указанную проблему.

ps. Какой action у form?
 

xak-2010

Новичок
Спасибо за ответ. Даже и не знаю, что конкретно послать. Попробую рнр без css.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250"/>
<meta http-equiv="Content-Language" content="sk"/>
<meta name="GENERATOR" content="NOTEPAD 5.1"/>
<meta name="keywords" content="knihy, periodik&#225;, datab&#225;za, vyhlad&#225;va&#269;"/>
<title>Kni&#382;nica OVTR P PZ</title>
<link rel="stylesheet" type="text/css" href="knihy.css"/>
<!--[if lte IE 6]>
<link rel="stylesheet" href="knihy-ie.css" type="text/css" media="all" title="nastav IE"/>
<![endif]-->
</head>

<body>

<?
$CoHladat = isset($_GET['CoHladat']) ? $_GET['CoHladat'] : '';
$Zdroj = isset($_GET['Zdroj']) ? $_GET['Zdroj'] : '';
$zoradit = isset($_GET['zoradit']) ? $_GET['zoradit'] : '';
$slovo = isset($_GET['slovo']) ? $_GET['slovo'] : '';
$AZ_button = isset($_GET['AZ_button']) ? $_GET['AZ_button'] : 'H&#318;adaj';

if($AZ_button!="H&#318;adaj") $slovo="";

?>

<div id="obal">

<div id="obal-main">

<div id="obal-title">
Kni&#382;nica OVTR P PZ
</div><!-- obal-title-->

<div id="obal-form">
<form method="GET" bgcolor="#fffacd" >
<BR>
H&#318;ada&#357;:
<!--Co budeme vyh&#318;ad&#225;va&#357; -->
<select name="CoHladat" class="select">
<option value="nazov" <?php if ($_GET['CoHladat'] == "nazov") {echo " selected ";} ?>>N&#225;zov</option>
<option value="autor" <?php if ($_GET['CoHladat'] == "autor") {echo " selected ";} ?>>Autora</option>
</select>
&nbsp;
<button type="submit" class="button" name="AZ_button" value="A">A</button>
<button type="submit" class="button" name="AZ_button" value="&#193;">&#193;</button>
<button type="submit" class="button" name="AZ_button" value="&#196;">&#196;</button>
<button type="submit" class="button" name="AZ_button" value="B">B</button>
<button type="submit" class="button" name="AZ_button" value="C">C</button>
<button type="submit" class="button" name="AZ_button" value="&#268;">&#268;</button>
<button type="submit" class="button" name="AZ_button" value="D">D</button>
<button type="submit" class="button" name="AZ_button" value="&#270;">&#270;</button>
<button type="submit" class="button" name="AZ_button" value="E">E</button>
<button type="submit" class="button" name="AZ_button" value="&#201;">&#201;</button>
<button type="submit" class="button" name="AZ_button" value="F">F</button>
<button type="submit" class="button" name="AZ_button" value="G">G</button>
<button type="submit" class="button" name="AZ_button" value="H">H</button>
<button type="submit" class="button" name="AZ_button" value="CH">CH</button>
<button type="submit" class="button" name="AZ_button" value="I">I</button>
<button type="submit" class="button" name="AZ_button" value="&#205;">&#205;</button>
<button type="submit" class="button" name="AZ_button" value="J">J</button>
<button type="submit" class="button" name="AZ_button" value="K">K</button>
<button type="submit" class="button" name="AZ_button" value="L">L</button>
<button type="submit" class="button" name="AZ_button" value="&#313;">&#313;</button>
<button type="submit" class="button" name="AZ_button" value="&#317;">&#317;</button>
<button type="submit" class="button" name="AZ_button" value="M">M</button>
<button type="submit" class="button" name="AZ_button" value="N">N</button>
<button type="submit" class="button" name="AZ_button" value="&#327;">&#327;</button>
<button type="submit" class="button" name="AZ_button" value="O">O</button>
<button type="submit" class="button" name="AZ_button" value="&#211;">&#211;</button>
<button type="submit" class="button" name="AZ_button" value="&#212;">&#212;</button>
<button type="submit" class="button" name="AZ_button" value="P">P</button>
<button type="submit" class="button" name="AZ_button" value="Q">Q</button>
<button type="submit" class="button" name="AZ_button" value="R">R</button>
<button type="submit" class="button" name="AZ_button" value="&#340;">&#340;</button>
<button type="submit" class="button" name="AZ_button" value="S">S</button>
<button type="submit" class="button" name="AZ_button" value="&#352;">&#352;</button>
<button type="submit" class="button" name="AZ_button" value="T">T</button>
<button type="submit" class="button" name="AZ_button" value="&#356;">&#356;</button>
<button type="submit" class="button" name="AZ_button" value="U">U</button>
<button type="submit" class="button" name="AZ_button" value="&#218;">&#218;</button>
<button type="submit" class="button" name="AZ_button" value="V">V</button>
<button type="submit" class="button" name="AZ_button" value="W">W</button>
<button type="submit" class="button" name="AZ_button" value="X">X</button>
<button type="submit" class="button" name="AZ_button" value="Y">Y</button>
<button type="submit" class="button" name="AZ_button" value="&#221;">&#221;</button>
<button type="submit" class="button" name="AZ_button" value="Z">Z</button>
<button type="submit" class="button" name="AZ_button" value="&#381;">&#381;</button>
<BR> <BR>
Zdroj:
<!--Zdroj budeme vyh&#318;ad&#225;va&#357; (ur&#269;en&#233; ako podmienka)-->
<select name="Zdroj" class="select">
<option value="vsade" <?php if ($_GET['Zdroj'] == "vsade") {echo " selected ";} ?>>V&#353;ade</option>
<option value="K" <?php if ($_GET['Zdroj'] == "K") {echo " selected ";} ?>>Knihy</option>
<option value="P" <?php if ($_GET['Zdroj'] == "P") {echo " selected ";} ?>>Periodik&#225;</option>
</select>
<!-- &nbsp;-->
Re&#357;azec:
<!--retazec ktory budeme vyh&#318;ad&#225;va&#357;-->
<input type="text" name="slovo" class="textinput" value="<?=htmlspecialchars($slovo)?>">
<!-- &nbsp;-->
<!--pod&#318;a ktorej polo&#382;ky budeme z&#225;znamy zora&#271;ova&#357;-->
Zoradi&#357; pod&#318;a:
<select name="zoradit" class="select" value="<?=$zoradit?>">
<option value="Nazov" <?php if ($_GET['zoradit'] == "Nazov") {echo " selected ";} ?>>n&#225;zvu od A po Z</option>
<option value="Nazov DESC" <?php if ($_GET['zoradit'] == "Nazov DESC") {echo " selected ";} ?>>n&#225;zvu od Z po A</option>
<option value="Autor" <?php if ($_GET['zoradit'] == "Autor") {echo " selected ";} ?>>autora od A po Z</option>
<option value="Autor DESC" <?php if ($_GET['zoradit'] == "Autor DESC") {echo " selected ";} ?>>autora od Z po A</option>
<option value="nezoradit" <?php if ($_GET['zoradit'] == "nezoradit") {echo " selected ";} ?>>nezoradi&#357;</option>
</select>
&nbsp;
<button type="submit" class="button" name="AZ_button" value="H&#318;adaj">H&#318;adaj</button>
</form><!--koniec formul&#225;ru-->
<br>
</div><!-- obal-form -->

<div id="obal-text">
<br>
<?
// phpinfo(32);
// if((!Empty($AZ_button)&&$AZ_button!="H&#318;adaj")||($AZ_button=="H&#318;adaj"&&!Empty($slovo) && !EReg("^[[:space:]]+$", $slovo))): // //vyh&#318;ad&#225;va&#357; sa za&#269;ne pod podmienkou, &#382;e existuje slovo pre vyh&#318;ad&#225;vanie a nesie aj nejak&#233; rozumn&#250; hodnotu

if(($AZ_button!="H&#318;adaj")||($AZ_button=="H&#318;adaj"&&!Empty($slovo) && !EReg("^[[:space:]]+$", $slovo))): // vyh&#318;ad&#225;va&#357; sa za&#269;ne pod podmienkou, &#382;e existuje slovo pre vyh&#318;ad&#225;vanie a nesie aj nejak&#233; rozumn&#250; hodnotu

require "db_ovtr.php"; // pripoj&#237;me sa k datab&#225;ze

// vytvor&#237;me premenn&#250; $orderby, ktor&#225; ur&#269;uje, pod&#318;a ktorej polo&#382;ky chceme &#250;daje zoradi&#357;
if($zoradit!="nezoradit"){ $orderby = "ORDER BY $zoradit";}
else { $orderby = "";}

// Kde budeme hlada&#357;?
if($Zdroj=="vsade"):
$KdeHladat = "";
else:
$KdeHladat = "AND (druh_vyd = '$Zdroj')";
endif;

if($AZ_button=="H&#318;adaj"):
$result = mysql_query("SELECT Count(*) FROM zoznam WHERE ($CoHladat like '%$slovo%') $KdeHladat"); //
//zist&#237;me po&#269;et n&#225;jden&#253;ch polo&#382;iek
else:
$result = mysql_query("SELECT Count(*) FROM zoznam WHERE ($CoHladat like '$AZ_button%') $KdeHladat"); //
//zist&#237;me po&#269;et n&#225;jden&#253;ch polo&#382;iek
endif;

$pocet = mysql_Result($result, 0); // po&#269;et zaznamov uchov&#225;vame v premennej

$zvysok = $pocet%10; // zist&#237;me zvy&#353;ok pri delen&#237; desiatimi

// vypo&#269;&#237;tame celkov&#253; po&#269;et str&#225;n
if($zvysok!=0){ $pocet_stran = BCDiv($pocet, 10)+1;}
else { $pocet_stran = $pocet/10;}

if(IsSet($strana) && $strana>$pocet_stran) die("T&#225;to strana neexistuje!"); // ak sme sa dostali na stranu v&#228;&#269;&#353;iu, ako je mo&#382;n&#233;

if(Empty($strana) || !IsSet($strana)) $strana = 1; // ak neexistuje premenn&#225; $strana, tak ju vytvor&#237;me a d&#225;me jej hodnotu 1

// if($pocet > 0) echo "<div align=\"center\" class=\"normal\">Strany($strana/$pocet_stran)</center> </div>"; // ak s&#250; nejak&#233; n&#225;jden&#233; zaznamy, tak pre orient&#225;ciu vyp&#237;&#353;eme &#269;&#237;slo strany, na ktorej sa nach&#225;dzame a celkov&#253; po&#269;et str&#225;n

// if(!EMPTY($AZ_button)):
echo "<div class=\"normal\">Po&#269;et n&#225;jden&#253;ch polo&#382;iek: $pocet"; // vyp&#237;&#353;eme po&#269;et n&#225;jden&#253;ch polo&#382;iek

if($pocet==0):
echo "&#46;&nbsp;<FONT color=\"800080\">Pre &#250;spe&#353;ne vyh&#318;ad&#225;vanie sk&#250;ste zmeni&#357; krit&#233;ri&#225; v&#253;beru &nbsp;&#46;&#46;&#46;</FONT>"; // vyp&#237;&#353;eme po&#269;et n&#225;jden&#253;ch polo&#382;iek. face=\"Comic Sans MS\" size=\"+1\"
endif;

echo "</div><br>"; // vyp&#237;&#353;eme po&#269;et n&#225;jden&#253;ch polo&#382;iek

// endif;


// urcenie $od a $do - pociatocny a koniecny zaznamy na strane:

if($pocet > 0): // ak je po&#269;et zaznamov v&#228;&#269;&#353;&#237; ako nula, tak ideme &#271;alej

if($strana==1 && $pocet_stran>1): $od = 0; // ak $strana je pr&#225;zdna a po&#269;et str&#225;n je v&#228;&#269;&#353;&#237; ako 1

$do = 10;

elseif($pocet_stran==1 && $strana==1): $od = 0; // ak je len jedna strana a na nej sa pr&#225;ve nach&#225;dzame
$do = $pocet;

elseif($strana<=$pocet_stran && $zvysok==0): $od = $strana*10-10; // ak je strana men&#353;ia alebo rovn&#225; po&#269;tu str&#225;n a zvy&#353;ok je nula
$do = $strana*10;

elseif($strana<$pocet_stran && $zvysok!=0): $od = $strana*10-10; // ak je strana men&#353;ia ako po&#269;et str&#225;n a zvy&#353;ok sa nerovn&#225; nule
$do = $strana*10;

elseif($strana==$pocet_stran && $zvysok!=0): $od = $strana*10-10; // ak sme na poslednej strane a zvy&#353;ok sa nerovn&#225; nule
$do = $strana*10-BCSub(10, $zvysok);

endif; // koniec podmienky

if($AZ_button=="H&#318;adaj"):
$vysledok = mysql_query("SELECT * FROM zoznam WHERE ($CoHladat like '%$slovo%') $KdeHladat $orderby LIMIT $od,$do");
else:
$vysledok = mysql_query("SELECT * FROM zoznam WHERE ($CoHladat like '$AZ_button%') $KdeHladat $orderby LIMIT $od,$do");
// z&#237;skali sme potrebn&#233; &#250;daje z datab&#225;zi pre aktualnu stranu
endif;

$novy_pocet = $do-$od; // vypo&#269;&#237;tame nov&#253; po&#269;et zaznamov, pod&#318;a ktor&#233;ho budeme vypisova&#357; n&#225;jden&#233; &#250;daje na obrazovku
// (od&#269;&#237;tavame $do - $od)

echo "<table>"; // za&#269;iatok tabulky

for($i=0;$i<$novy_pocet;$i++): // vyp&#237;sujeme &#250;daje do po&#382;adovan&#233;ho form&#225;tu

$nazov = MySQL_Result($vysledok, $i, "Nazov");
$autor = MySQL_Result($vysledok, $i, "Autor");
$poc_ks = MySQL_Result($vysledok, $i, "Poc_ks");
$poc_vyp = MySQL_Result($vysledok, $i, "Poc_vyp");
$RokVydania = MySQL_Result($vysledok, $i, "RokVydania");

$por_cislo=($strana-1)*10+$i+1;
echo "<tr> <td class=\"big\"><b>$por_cislo&#46;&nbsp;$nazov</b>";
if(!Empty($autor)):
echo "&#44;<i class=\"normal\">&nbsp;$autor</i>";
endif;

if(!Empty($RokVydania)):
echo "&#44;&nbsp;<i>$RokVydania</i>";
endif;

if(($poc_ks-$poc_vyp)<1):
echo "&nbsp;&#45;&nbsp;<FONT color=\"ff0000\">Vo v&#253;po&#382;i&#269;ke</FONT>";
endif;

echo "</td></tr>";

echo "<tr><td height=\"10\"></td></tr>";

// vyp&#237;sali sme &#250;daje do po&#382;adovan&#233;ho form&#225;tu

endfor;

echo "</table>"; // vytvor&#237;me koniec tabulky

endif; // koniec podmienky

if($strana==1){ $kolko_stran = 2; } // ak&#250; hodnotu bude ma&#357; &#271;al&#353;ia strana?
else { $kolko_stran = $strana+1;}

$kolko_stran2 = $strana-1; // ak&#250; hodnotu mala predch&#225;dzaj&#250;ca strana?

$odkaz2 = $strana*10; // vypo&#269;&#237;tame, ko&#318;ko odkazov bude na &#271;al&#353;ej strane (m&#244;&#382;e ich by&#357; napr. iba 6)
$odkaz = BCSub($pocet, $odkaz2);

if($odkaz>10) $odkaz=10;

if ($pocet_stran>1) echo "<div align=\"center\" class=\"normal\"> Strany: ";

if($strana-10>0):
echo "&nbsp;<a href=\"?strana=1&slovo=$slovo&zoradit=$zoradit&Zdroj=$Zdroj&CoHladat=$CoHladat&AZ_button=$AZ_button\">1...&nbsp;</a>&nbsp;";
endif;

if($strana>1){echo "&nbsp;<a href=\"?strana=$kolko_stran2&slovo=$slovo&zoradit=$zoradit&Zdroj=$Zdroj&CoHladat=$CoHladat&AZ_button=$AZ_button\">&lt;&lt;</a>&nbsp;"; }

if($pocet_stran>1 && $pocet_stran<11): // zobrazenie odkzov na strany ak pocet stran < 11

for($a=0;$a<$pocet_stran;$a++) {
$e = $a+1;
if($strana==$e): // aktualna strana - zvyraznit BOLD-om
echo "<b>$e</b>&nbsp;";
else:
echo "<a href=\"?strana=$e&slovo=$slovo&zoradit=$zoradit&Zdroj=$Zdroj&CoHladat=$CoHladat&AZ_button=$AZ_button\">$e</a>&nbsp;";
endif;
};

if($pocet_stran>1 && $strana<$pocet_stran) echo "<a href=\"?strana=$kolko_stran&slovo=$slovo&zoradit=$zoradit&Zdroj=$Zdroj&CoHladat=$CoHladat&AZ_button=$AZ_button\">&gt;&gt;</a>";

echo "</div>";

elseif($pocet_stran>10): // zobrazenie odkzov na strany ak pocet stran > 10

if (floor($strana)<floor($pocet_stran)):
$ukazat_strany=10;
else:
$ukazat_strany=intval($pocet_stran%10);
endif;

for($a=0;$a<$ukazat_strany && (floor(($strana-1)/10)*10)+$a<$pocet_stran;$a++) {
// $e =$a+1;
$e =(floor(($strana-1)/10)*10)+$a+1;

if($strana==$e):
echo "&nbsp;<b>$e</b>&nbsp;"; // aktualna strana - zvyraznit BOLD-om
else:
echo "&nbsp;<a href=\"?strana=$e&slovo=$slovo&zoradit=$zoradit&Zdroj=$Zdroj&CoHladat=$CoHladat&AZ_button=$AZ_button\">$e</a>&nbsp;";
endif;
};

if($pocet_stran>1 && $strana<$pocet_stran) echo "&nbsp;<a href=\"?strana=$kolko_stran&slovo=$slovo&zoradit=$zoradit&Zdroj=$Zdroj&CoHladat=$CoHladat&AZ_button=$AZ_button\">&gt;&gt;</a>&nbsp;";

if (floor(($strana-1)/10)<floor($pocet_stran/10) && $pocet_stran>10):
echo "&nbsp;...<a href=\"?strana=$pocet_stran&slovo=$slovo&zoradit=$zoradit&Zdroj=$Zdroj&CoHladat=$CoHladat&AZ_button=$AZ_button\">$pocet_stran</a>";
else:
endif;
echo "</div>";
endif;

// if($pocet_stran>5) echo "<div align=\"center\" class=\"normal\"><form
// action=\"?strana=$strana&slovo=$slovo&zoradit=$zoradit&Zdroj=$Zdroj&CoHladat=$CoHladat&AZ_button=$AZ_button\" method=\"get\">Prejs&#357; na stranu &#269;. <input
// name=\"strana\" class=\"textinput\" size=\"3\">&nbsp;<button type=\"submit\" class=\"button\">Cho&#271;</button></form></div>";

endif; // koniec &#250;plne prvej podmienky
?>



</div><!-- obal-text -->

<div id="obal-foot">

<div id="naj"><!-- Pre po&#269;&#237;tadlo pr&#237;stupov -->
Miesto pre po&#269;&#237;tadlo pr&#237;stupov
</div>

<div id="copyright">© Alexander Schramm, 2010</div>
&nbsp;
</div><!-- obal-foot -->
</div><!-- obal-main -->
</div><!-- obal -->

</body>
</html>

-~{}~ 21.04.10 19:10:

Следующий кусок и предполагается для настроек IE6

<!--[if lte IE 6]>
<link rel="stylesheet" href="knihy-ie.css" type="text/css" media="all" title="nastav IE"/>
<![endif]-->

Всё это бежало под сборной солянкой TRIAD. На действующий сервер установил Complex Web Server и чуток изменил исходник в части определения раскрывающихся списков. Всё остальное - без изменений.
 

fixxxer

К.О.
Партнер клуба
попробуй вместо
<button type="submit" class="button" name="AZ_button" value="Ы">Ы</button>

использовать
<input type="submit" name="AZ_button" value="Ы">

на будущее - такие большие простыни кода пости на http://pastebin.com/ и давай ссылку.
 

xak-2010

Новичок
fixxxer
Благодарю за ответ и за ссылку, не знал, куда на форуме принято заливать файл. Завтра код испробую.

-~{}~ 22.04.10 08:48:

Увжаемый fixxxer,

Ваша рекомендация верна. Программа работает. Искренне благодарю Вас за помощь, как и всех, кто пытался мне помочь.

С уважением, автор темы.
 
Сверху