Nejste přihlášeni
Stránky 1
Páni, taková hloupá chyba...
<form action=""<span style="color: black;"><a href="index.php?odhlasit='.$_SESSION['id'].'">Odhlásit se</a></span></li></div>
Nicméně díky za vaši ochotu a čas
Bohužel,
velké POST nebylo příčinou...
Co se sessions týče, mám to takhle divné, protože jsem právě v rámci hledání nápravy zkoušel různé varianty a už to nevrátil do původního stavu. Nemůže to odhlásit jiného uživatele, je to ještě posichrované jedním SESSION['id']. Nicméně díky za připomínku, vrátím to do původního stavu.
Děkuji za urychlenou odpověď.
Zde je formulář:
<?
$ja = $_SESSION['id'];
$query = mysql_query("SELECT * FROM `users` WHERE `id`='".$ja."'");
$result = mysql_fetch_assoc($query);
echo '<h3>'.$result['seno'].' <img src="/img/seno.png" height="40"></h3>';
if($result['seno'] <= 99)
{echo '<br><h3>Koupit seno</h3>
<form action="" method="POST"><SELECT NAME="kolik_sena">
<OPTION VALUE="10"> 10 balíků / 500KB
<OPTION VALUE="25"> 25 balíků / 1 250KB
<OPTION VALUE="50"> 50 balíků / 2 500KB
<OPTION VALUE="100"> 100 balíků / 5 000KB
</SELECT><br>
<input type="submit" name="koupit" value="koupit" class="button">
</form>
';}
if(isset($_POST['koupit']) && $result['seno'] <= 99)
{
$cena = $_POST['kolik_sena'] * 50;
$newcena = $result['KB'] + $cena;
$newseno = $result['seno'] + $_POST['kolik_sena'];
$prictiseno = mysql_query("UPDATE `users` SET `seno`='".$newseno."', `KB`='".$newcena."' WHERE `id`='".$_SESSION['id']."'");
$zapsat = mysql_query("INSERT INTO `vypis`(`id`,`kolik`,`duvod`,`kdy`) VALUES ('".$_SESSION['id']."','- ".$cena."','Koupě ".$_POST['kolik_sena']." balíků sena', NOW())");
echo "<script> alert('Seno bylo zakoupeno.')</script><script>window.location.reload()</script>";
}
?>
Samo o sobě to funguje, s tímto dohromady už ne (to je v hlavičce):
<?php
if(empty($r_ava['avatar']) OR !isset($r_ava['avatar']) OR $r_ava['avatar']=='')
{
echo '
<div class="menu_panel" style="width: 400px; padding-left: 630px; padding-top: -10px; color: #DBC0A1;">
<form action="overeni.php" method="POST">
<label for="login">login: </label>';
echo '<input type="text" name="login" size="10">';
echo '<label for="heslo">heslo: </label>';
echo '<input type="password" name="heslo" size="10">';
echo '
<input type="submit" class="button" name="go" value="Go"></br>
</form></div>';
} else
{
$KB = mysql_query("SELECT * FROM `users` WHERE `id`='".$_SESSION['id']."'");
$KKB = mysql_fetch_assoc($KB);
echo '<div class="menu_panel" style="width: 950px; padding-left: 40px; padding-top: 5px;"><li><a href="vypis.php"><img src="img/KB.png" height="15"><b> '.$KKB['KB'].' KB</b></a></li><li><a href="seno.php"><img src="img/seno.png" height="15"><b> '.$KKB['seno'].' balíků</b></a></li></div>
<div style="width: 950px; padding-left: 735px;">';
require_once 'kolik.php'; echo '
<li><form action=""<span style="color: black;"><a href="index.php?odhlasit='.$_SESSION['id'].'">Odhlásit se</a></span></li></div>';
}
?>
A z seno.php se rázem stane např.
seno.php?kolik_sena=10&koupit=koupit
Díky.
Zdravím,
zhruba kolem středy/čtvrtka (nepamatuju si přesně) mi přestaly fungovat některé formuláře - místo, aby po stisknutí submit proběhl skript, vložená data se vypíší do url adresy. Nejdivnější na tom je, že to vše bez problémů fungovalo a najednou to přestalo. Nenapadá mě absolutně nic, co by to mohlo způsobit (neproběhly žádné úpravy) - nevidím tam totiž žádné souvislosti, na některých stránkách to funguje a někde ne, přestože jsou všechny stránky tvořeny podle jednoho "kopyta".
Nicméně po dlouhém zkoušení a bádání jsem přišel na to, že to způsobuje includovaná hlavička - a to mě také překvapuje, protože je na každé stránce...
Když z kódu vypreparuju hlavičku, běží to, jak má (čili v kódech chyba ani být nemůže, když předtím vše šlapalo).
Pravděpodobně bude chyba někde mezi židlí a klávesnicí, s PHP teprve začínám (nicméně mě opravdu mate fakt, že když už to jednou běželo, proč to najednou nejde...)
Díky za každý nápad nebo návrh.
Stránky 1