sumbit ces javascript vypisany v php - vobec nic sa nestane

Programovacie jazyky, rady, poradňa...
DeeJay3
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 254
Registrovaný: 22 dec 2008, 19:45
Kontaktovať používateľa:

sumbit ces javascript vypisany v php - vobec nic sa nestane

Príspevok od používateľa DeeJay3 »

cawte tak zasa ja :D ...neviem si rady...a neviem v com je chyba urcite to vypisujem spravne neviem mosno je chyba v tom javascripte niekde neviem poradte tu je nakodeny us iba php vypis databazy v subore(.php) ktory sa includuje do index.php:

Kód: Vybrať všetko

echo '<form action="index.php?id=18" method="post" name=',$riadok['ID'],'">';

	echo '<input name="link" type="hidden" value="',$riadok['link'],'"/><input name="meno" type="hidden" value="',$riadok['meno'],'"/><a href="javascript: submitform',$riadok['ID'],'()">',$riadok['meno'],'</a>';
	echo	'<SCRIPT language="JavaScript">
			function submitform',$riadok['ID'],'()
			{
  	  		document.',$riadok['ID'],'.submit();
			}
			</SCRIPT>';
	echo '</form>';
a v druhom subore do ktoreho to ma posielat a vypisat je:

Kód: Vybrať všetko

<?php 
$meno = $_POST[meno];
$link = $_POST[link];

echo $meno;
echo $link;
?>
mosno je problem v tom ze javascript v php subore nefunguje neviem vasne

zdrojak pre us vypisanu stranku vyzera takto(dal som iba dve vypisi to urcite staci):

Kód: Vybrať všetko

<form action="index.php?id=18" method="post" name=30"><input name="link" type="hidden" value="http://kreas1.free.fr/video/musique/Rihana%20Pon%20De%20Replay.mp3"/><input name="meno" type="hidden" value="Rihana - Pon de replay"/><a href="javascript: submitform30()">Rihana - Pon de replay</a><SCRIPT language="JavaScript">
			function submitform30()
			{
  			document.30.submit();
			}
			</SCRIPT></form><form action="index.php?id=18" method="post" name=29"><input name="link" type="hidden" value="http://farmer.serczer.pl/mp3/dj%20tiesto%20ft%20bt%20-%20break%20my%20fall%20(radio%20edit).mp3"/><input name="meno" type="hidden" value="DJ Tiesto Ft BT - Break My Fall (Radio Edit).mp3"/><a href="javascript: submitform29()">DJ Tiesto Ft BT - Break My Fall (Radio Edit).mp3</a><SCRIPT language="JavaScript">
			function submitform29()
			{
  			document.29.submit();
			}
			</SCRIPT></form>
dufam ze staci tolkoto pre vyriesenie problemu :nono:
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: sumbit ces javascript vypisany v php - vobec nic sa nestane

Príspevok od používateľa audiotrack »

my lord, takto nie!
načo tam máš toľko js funkcii keď stačí jedna a číslo toho formu ako parameter? Do hlavičky daj

Kód: Vybrať všetko

<script language="javascript">function submitform(nr){
   document.getElementsByName(nr)[0].submit();
}</script>
Z toho php to vymaž aby sa zakaždým robila funkcia a volanie bude <a href="#" onclick="submitform(30)">
DeeJay3
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 254
Registrovaný: 22 dec 2008, 19:45
Kontaktovať používateľa:

Re: sumbit ces javascript vypisany v php - vobec nic sa nestane

Príspevok od používateľa DeeJay3 »

jo... ide to pekne dakujem...


len neviem preco to neslo takto?...aj ked viem tvoje riesenie je lepsie a ovela kratsie ale v tamtom nebola chyba nie?...kazdy form mal ID aj funkcia mala ID a dana akcia submit mala tes rovnake ID tak neviem...no tonic...

(nechcel som vytvarat znova novu temu tak to dam sem)
vies mi este poradit ma input password value? chcem spravit taky admin panel aby tam spravca nieco mohol pridavat ale iba na heslo a tak mam formular(subor admin.php) a v nom

Kód: Vybrať všetko

<form name="kniha" action="admin.php" id="formular" method="post">
Meno:<br />
<input name="meno" size="64"><br />
Link:<br />
<input name="link" size="64"><br />
Kategória:<br />
<select name="category_id" size="1"> 
<option value="1">Hip-Hop / Rap
<option value="2">Ľudová hudba
<option value="3">Klasická hudba
</select><br />
Heslo:<br />
<input name="heslo" type="password" size="20" maxlength="20" value="<?php $_POST['heslo'] ?>">

        <input type="submit" name="submit" value="Pridať mp3" width="50" >
		<input type="reset" value="Obnovit polia" />

	
</form>
<br>
<?php 
if (!empty($_POST)) { header('Location: index.php?id=0'); } 
?>
...pokracuje dalej strankovanie, zapis a vypis s databazy

a tento subor sa includuje do index.php a ak prvykrat zada heslo spravne aby tak ostalo a dookola ho posielalo viem ze sa to tak da ale niekde je problem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: sumbit ces javascript vypisany v php - vobec nic sa nestane

Príspevok od používateľa audiotrack »

nešlo ti to lebo si volal funkciu skôr ako bola definovaná. To vadí. Keď dáš funkciu do hlavičky, tak je definovaná už pred akýmkoľvek volaním

k tomu novému problému: po prihlásení si ulož do session že je prihlásený a na základe toho (či v session tá hodnota je alebo nie je) budeš zobrazovať/nezobrazovať formulár
DeeJay3
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 254
Registrovaný: 22 dec 2008, 19:45
Kontaktovať používateľa:

Re: sumbit ces javascript vypisany v php - vobec nic sa nestane

Príspevok od používateľa DeeJay3 »

Kód: Vybrať všetko

<form id="kniha" name="kniha" method="post" action="admin.php">
.
.
.
<?php
if (isset($_POST['heslo'])) 
echo "<input name='heslo' type='hidden' value='". $_POST['heslo'] ."' />";
else
echo "<input name='heslo' type='password' />";
?>
.
.
.
</form>
a takto by to slo? session si musim pozriet
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: sumbit ces javascript vypisany v php - vobec nic sa nestane

Príspevok od používateľa audiotrack »

takto ako to máš by musel stále ten formulár posielať. Ak tam máš ešte nejaké iné polia a teda ten formulár bude vždy zaslaný, a chceš iba skrývať/zobrazovať heslo tak to bude takto fungovať. Ak ten formulár obsahuje IBA heslo a chceš ho teda celý skrývať, tak cez session
DeeJay3
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 254
Registrovaný: 22 dec 2008, 19:45
Kontaktovať používateľa:

Re: sumbit ces javascript vypisany v php - vobec nic sa nestane

Príspevok od používateľa DeeJay3 »

funguje to ak dam do form action na index.php?id=0 a nie admin.php (tento sa do indexu includuje) ale potom mi vypisuje chybu s hlavickou pretoze neskor mam ochranu pred refreshom aby sa neposielali znova udaje

Kód: Vybrať všetko

<?php 
if (!empty($_POST)) { header('Location: index.php?id=0'); } 
?>
preco?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: sumbit ces javascript vypisany v php - vobec nic sa nestane

Príspevok od používateľa audiotrack »

lebo header môžeš meniť len v prípade, že si ešte nemal výstup na monitor. V krajnom prípade sa to dá obísť cez output buffer, ale radšej by si mal prerobiť kod tak aby si sa tomu vyhol
DeeJay3
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 254
Registrovaný: 22 dec 2008, 19:45
Kontaktovať používateľa:

Re: sumbit ces javascript vypisany v php - vobec nic sa nestane

Príspevok od používateľa DeeJay3 »

hm len nevem ako.... tu radu mi tes dali len tu na hojku lebo som to nevedel tu je kód ak by si mi pomohol:

Kód: Vybrať všetko

<form name="kniha" action="index.php?id=0" id="formular" method="post">
Meno:<br />
<input name="meno" size="64"><br />
Link:<br />
<input name="link" size="64"><br />
Kategória:<br />
<select name="category_id" size="1"> 
<option value="1">Hip-Hop / Rap
<option value="2">Ľudová hudba
<option value="3">Klasická hudba
<option value="4">Reggae
<option value="5">R´n´B
<option value="6">Metal
<option value="7">Techno
<option value="8">Dance
<option value="9">Pop
<option value="10">Punk
<option value="11">Rock
<option value="12">Drum & bass
<option value="13">Ostatné
</select><br />

<?php
if (isset($_POST['heslo'])) 
echo "<input name='heslo' size='20' type='hidden' value='". $_POST['heslo'] ."' />";
else
echo "Heslo:<br /><input name='heslo' size='20' type='password' />";
?>
        <input type="submit" name="submit" value="Pridať mp3" width="50" >
		<input type="reset" value="Obnovit polia" />

	
</form>
<br>

<?php  
/** 
 * pagination() 
 * 
 * Strankovanie 
 * 
 * @author   stenley <[email protected]> 
 * @version   1.2 
 * @license   http://opensource.org/licenses/gpl-license.php GNU Public License 
 */
		
function generateURL(){ //Nasledujuca funkcia sluzi na zmenu, pridanie ci vymazanie
// parametrov a ich hodnot nachadzajucih sa v aktualnej URL adrese. Umoznuje zmenit
// viacero parov (parameter-hodnota) naraz. Ak sa funkcii nepreda ziadny parameter, 
//vracia sa vsetko od nazvu aktualne spracovavaneho skriptu vratane.
   $GET = $_GET;
   $QUERY_STRING = ''; 
   $SCRIPT_NAME = substr(strrchr($_SERVER["SCRIPT_NAME"],"/"),1); //substr-pracuje s podretazcami,vyhladava v retazcoch
                                                                  //strrchr-najde posledny vyskyt znaku v retazci
    
   $num_args = func_num_args(); //func_num_args - vracia pocet argumentov aby zlozil funkciu
   if($num_args>0 && $num_args%2==0) { 
      $args = func_get_args();  //func_get_args - vrati pole obsahujuce zoznam argumentov
        
      foreach($args as $index => $paramName) { //foreach-prvy riadok prechadzanie prvkov pola
                                              //druhy riadok prikaz ktory sa prevedie pre kazdy prvok pola
         $paramName = trim($paramName); 
          
         if($index%2==0 && !empty($paramName)) { 
            $paramValue = trim($args[$index+1]); 
              
            if(array_key_exists($paramName, $GET) && empty($paramValue)) { //array_key_exists-kontrola ci dany kluc existuje v poli
               unset($GET[$paramName]);    //unset - mazanie 
            } elseif(!empty($paramValue)) { 
               $GET[$paramName] = $paramValue; 
            } 
         } 
      } 
   } 
    
   foreach($GET as $param => $value) { 
      $QUERY_STRING .= $param."=".$value."&"; 
   } 
    
   return $SCRIPT_NAME.((empty($QUERY_STRING)) ? '' : "?".substr($QUERY_STRING,0,-5)); 
}
//Nasledujuca funkcia vytvara odkazy na jednotlive stranky s tym, ze je mozne obmedzit, kolko cisiel stranok sa zobrazi. Tato hodnota sa uvadza ako 
//nepovinny 3. parameter funkcie, pricom default hodnota je 15. Tzn. ak bude stranok 40, vzdy sa zobrazi len 15 cisiel, ktore sa budu postupne menit posuvanim sa v zozname stranok. 
//$numRows urcuje celkovy pocet zaznamov (clankov, vysledkov vyhladavania, ...) a $rowsPerPage predstavuje pocet zaznamov zobrazenych na jednej stranke. 
function pagination($numRows, $rowsPerPage, $maxPages=15) 
{ 
   global $page, $numPages; 

   $ret = ""; 

    if($numPages>0) { 
      if(!isset($page)) { 
         $page = 1;        //cislo aktivnej stranky (default=1) 
      } 
      $from = 1;        //cislo stranky, od ktoreho sa zacina strankovanie 
      $to = $numPages;    //cislo stranky, kde strankovanie konci 
      $padd_a = ceil($maxPages/2);  //pre pozicovanie cisla aktivnej stranky v strankovani 
      $padd_b = floor($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani 
       
      //vypocitanie prveho a posledneho cisla stranky v strankovani (pre potreby for cyklu) 
      if($page >= $maxPages) { 
         $from = $page - $maxPages + $padd_a; 
         $to = $from + $maxPages - 1; 
          
         if($page == $numPages || $page + $padd_b >= $numPages) { 
            $to = $numPages; 
            $from = $to - $maxPages + 1; 
         } 
      } 
       
      //odkaz na prvu stranku 
      $ret .= (($page > 1) ? '<div id="strankovanie"><a href="'.generateURL(PAGEVAR,1).'"><<</a>' : '<div id="strankovanie"><<').'&nbsp;&nbsp;'; 
       
      //odkaz na predoslu stranku 
      $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,$page-1).'"><</a>' : '<').'&nbsp;&nbsp;'; 
       
      //strankovanie 
      for($i = $from; $i <= $to; $i++) { 
         if(--$maxPages >= 0) { 
            if($page == $i) { 
                 $ret .= $i;    //aktivna stranka 
            } else { 
                 $ret .= '<a href="'.generateURL(PAGEVAR,$i).'">'.$i.'</a>'; //ostatne stranky 
            } 
            $ret .= DELIMITER; 
         } else { 
            break; 
         } 
      } 
       
      //odstranenie oddelovaca za poslednou strankou 
      $ret = substr($ret,0,-strlen(DELIMITER)).'&nbsp;&nbsp;'; 
       
      //odkaz na nasledujucu stranku 
      $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$page+1).'">></a>' : '>').'&nbsp;&nbsp;'; 
       
      //odkaz na poslednu stranku 
      $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$numPages).'">>></a>' : '>></div>'); 
       
      return $ret; 
   } 
    
   return false; 
}

$db_spojenie = mysql_connect("mysql.webzdarma.cz", "sharemp3", "64830833");
mysql_select_db("sharemp3");


define("PAGEVAR", "page");    //nazov parametra v GET, kde sa uchovava cislo stranky 
define("DELIMITER", " | ");   //oddelovac cisiel stranok 
    
$page = 1;        //cislo aktivnej stranky (default=1) 

$rowsPerPage = 30; 
$maxPages = 50; 

$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM songs")); 
$numRows = $res['pocet']; 

$numPages = ceil($numRows/$rowsPerPage);     //pocet stranok v strankovani 

if(!empty($_GET[PAGEVAR]) && $_GET[PAGEVAR]>0 && intval($_GET[PAGEVAR])<=$numPages) { 
   $page = $_GET[PAGEVAR]; 
} 

$offset = ($page - 1) * $rowsPerPage; 

$sql = "SELECT * FROM songs ORDER BY datum DESC LIMIT $offset,$rowsPerPage"; 
$res = mysql_query($sql); 
if($res!==false) { 
   while ($riadok = mysql_fetch_assoc($res)) 
{ 
	echo '<form action="index.php?id=18" method="post" name="',$riadok['ID'],'" style="text-align: left; margin-bottom: 3px; margin-top: 3px;">';
	echo '&nbsp;&nbsp;&nbsp;"&nbsp;<input name="link" type="hidden" value="',$riadok['link'],'"/><input name="meno" type="hidden" value="',$riadok['meno'],'"/><a href="#" onclick="submitform(',$riadok['ID'],')">',$riadok['meno'],'</a>&nbsp;"<br>';
	echo '<font color="gray" size="1">date:&nbsp;',$riadok['datum'],'</font></form>';
	}
} 
echo "<center>";
echo pagination($numRows, $rowsPerPage, $maxPages); 
echo "</center>";

							$db_spojenie = mysql_connect("mysql.webzdarma.cz", "sharemp3", "64830833");
							mysql_select_db("sharemp3");
							
							$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM songs")); 
							echo 'total number:&nbsp;',$res['pocet'];

$pass = "admin";
$heslo = $_POST['heslo'];

if ($heslo ==$pass)
{
if($meno=="" || $link==""){ 
echo "";} 
else{
if (isset($link))
{

  // vytvorenie SQL príkazu typu INSERT.
  $sql_prikaz = 
    "INSERT INTO songs(datum,meno,link,category_id) "
    ."VALUES(NOW(),'"
    .mysql_real_escape_string($meno,$db_spojenie)
    ."','"
    .mysql_real_escape_string($link,$db_spojenie)
    ."','"
    .mysql_real_escape_string($category_id,$db_spojenie)
    ."')"
    ;	

  // zaslánie SQL príkazu do databázy.
  $objekt_vysledku = mysql_query( $sql_prikaz,$db_spojenie);
  if (!$objekt_vysledku)
  {
    echo 'Poslanie SQL príkazu sa nepodarilo, sorry';
    echo '<br />';
    echo 'Popis chyby: ', mysql_error($db_spojenie);
    exit();
  }
}
}
}
?>
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: sumbit ces javascript vypisany v php - vobec nic sa nestane

Príspevok od používateľa audiotrack »

nikde nevidím kde ten súbor admin.php vkladáš. Celá tá tvoja štruktúra sa mi zdá dosť chaotická a zbrklá, ako keby si bez rozmyslu začal búchať do klávesnice a postupne to nejak zliepať aby to šlo. Neviem vôbec čo chceš docieliť
DeeJay3
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 254
Registrovaný: 22 dec 2008, 19:45
Kontaktovať používateľa:

Re: sumbit ces javascript vypisany v php - vobec nic sa nestane

Príspevok od používateľa DeeJay3 »

toto je obsah toho subor admin.php a on sa inculuduje do indexu..preco chaoticke?...ved hore mas iba formular potom nastavenie strankovania vypis s databazy a zapis...nic ine tam nepotrebujem len to nejak osetrit aby mi nevypisovalo tu chybu v header ked to budem posielat do index.php?id=0 a nie rovno do tohto
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: sumbit ces javascript vypisany v php - vobec nic sa nestane

Príspevok od používateľa audiotrack »

lenže nevidno kde to máš a ako inkludované. Jasne som ti napísal čo tú chybu spôsobuje - nemôžeš mať výstup na stránku pred headerom. Takže si preusporiadaj kod tak, aby si to mal v poriadku (najprv sprav tú spomínanú kontrolu kde sa hráš s headermi a potom sprav include)
Napísať odpoveď