Autor Zpráva
lmdizajn
Profil *
Mam script ktory ma skontrolovat heslo z riadka v DB a nasledne umoznit editovat tento riadok v DB... Overenie hesla som skusil okopirovat z toho, co tu mate v diskusii ale pravdepodobne som to nepochopil, ked to nefunguje...
kod spracovania, ktory nefunguje, zobrazi sa stranka iba po inlude - head.php a potom nic
<?
error_reporting(7);
require_once("config.php");
$extratitle="EDIT TRATE 2";
include "head.php";

	If($_POST['submit']) {
	      $id = gpc_addslashes(trim($_POST['id']));
        $hesloedit = gpc_addslashes(trim($_POST['hesloedit']));

$result = mysql_query("SELECT * FROM ".$tbl_prefix."_trate WHERE id = '$id' AND hesloedit = sha1('$hesloedit')");

        if (mysql_result($result, 0))	{
	echo "doble heslo"; 
		extract($_POST, EXTR_SKIP);
$hesloedit=SHA1($hesloedit);		
			$ph->query("UPDATE ".$tbl_prefix."_trate SET nazov='".addslashes($nazov)."', pic='".addslashes($pic)."', miesto='".addslashes($miesto)."', mesto='".addslashes($mesto)."', dlzka='".addslashes($dlzka)."', typ='".addslashes($typ)."', obrazky='".addslashes($obrazky)."', ulozil='".addslashes($ulozil)."' WHERE id='".intval($id)."' LIMIT 1");
			header("Location: http://".$_SERVER['HTTP_HOST']."/index.php", TRUE, 303);
			echo "Zaznam bol editovany :) | <a href=http://".$_SERVER['HTTP_HOST']."/>DOMOV</a>";
			exit;
} else {
      echo "Zle heslo!";
	}
}
?>
AM_
Profil
Takže to neprojde If($_POST['submit']) {?
Zřejmě není submitnutý form s nějakou hodnotu 'submit'.

Ten skript je příšerně zformátovaný, fakt nemám ponětí, která větev kam patří.
lmdizajn
Profil *
Sorry to som narychlo vytahoval zaklad toho scriptu... z druheho pomocov form posielam udaje a mam tam i -
<input type="hidden" name="submit" value="true" /><br />
tak tam posielam hodnostu submit... alebo nie ? a posielam este raz ten subor
<?
error_reporting(7);
/*
EDIT TRATE
*/

require_once("config.php");
$extratitle="EDIT TRATE 2";
include "head.php";

If($_POST['submit']) {
	 $id = gpc_addslashes(trim($_POST['id']));
        $hesloedit = gpc_addslashes(trim($_POST['hesloedit']));
        $result = mysql_query("SELECT * FROM ".$tbl_prefix."_trate WHERE id = '$id' AND hesloedit = sha1('$hesloedit')");

        if (mysql_result($result, 0))	{
	         echo "doble heslo"; 
	        extract($_POST, EXTR_SKIP);
                $hesloedit=SHA1($hesloedit);		
		$ph->query("UPDATE ".$tbl_prefix."_trate SET nazov='".addslashes($nazov)."', pic='".addslashes($pic)."', miesto='".addslashes($miesto)."', mesto='".addslashes($mesto)."', dlzka='".addslashes($dlzka)."', typ='".addslashes($typ)."', obrazky='".addslashes($obrazky)."', ulozil='".addslashes($ulozil)."' WHERE id='".intval($id)."' LIMIT 1");
	       		header("Location: http://".$_SERVER['HTTP_HOST']."/index.php", TRUE, 303);
	       		echo "Zaznam bol editovany :) | <a href=http://".$_SERVER['HTTP_HOST']."/>DOMOV</a>";
	       		exit;
        } else {
   echo "Zle heslo!";
	}
}
?>
lmdizajn
Profil *
Sorry, nejako blbo to berie tabulatory alebo medzery... neviem preco je to tak zarovnane... Ale aj ked vynecham podmienku If($_POST['submit']) tak script neprejde...
AM_
Profil
Ale něco zřejmě udělá.. v každé větvi je nějaké echo, takže něco vizuálně udělat musí.
lmdizajn
Profil *
Prave preto to nechapem... zbehne to po to nacitanie head.php cez inlude a potom nevypise ani Zle ani Dobre... Skusim dat pred kazdy riadok este echo, aby som vedel kde sa to zastavi ? Podla mna je chyba niekde v 12,13,14,16 riadok, pretoze tie som nepisal sam, ale len prepisal tu z fora...
lmdizajn
Profil *
DAKUJEM, takze uz som to sprovoznil. Samozrejme to takto dopadne ked nepoznam riadne php, mne tam chybala funkcia gpc_addslashes - a cez tu to nevedelo preist... Inak prisiel som na super napad. Ked nieco vytvarate, tak pred kazdy riadok ked date cislicu 1,2,3,4... tak potom lahko viete kde sa to zastavilo... Super, diky hosi!
A aby som nebol svina, posielam funkcny php kod, snad niekomu pomoze ;)
<?
error_reporting(7);
/*
EDIT TRATE
*/

require_once("config.php");
function gpc_addslashes($str)
{
    return (get_magic_quotes_gpc() ? $str : mysql_real_escape_string($str));
}
$extratitle="EDIT TRATE 2";
include "head.php";

If($_POST['submit']) {
	      $id = gpc_addslashes(trim($_POST['id']));
        $hesloedit = gpc_addslashes(trim($_POST['hesloedit']));
        $result = mysql_query("SELECT * FROM ".$tbl_prefix."_trate WHERE id = '$id' AND hesloedit = sha1('$hesloedit')");
        if (mysql_result($result, 0))	{
		       extract($_POST, EXTR_SKIP);
            $hesloedit=SHA1($hesloedit);		
		        $ph->query("UPDATE ".$tbl_prefix."_trate SET nazov='".addslashes($nazov)."', pic='".addslashes($pic)."', miesto='".addslashes($miesto)."', mesto='".addslashes($mesto)."', dlzka='".addslashes($dlzka)."', typ='".addslashes($typ)."', obrazky='".addslashes($obrazky)."', ulozil='".addslashes($ulozil)."' WHERE id='".intval($id)."' LIMIT 1");
	       		header("Location: http://".$_SERVER['HTTP_HOST']."/index.php", TRUE, 303);
	       		echo "Zaznam bol editovany :) | <a href=http://".$_SERVER['HTTP_HOST']."/>DOMOV</a>";
	       		exit;

        } else {
   echo "Zle heslo!";
	}
}
?>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: