Autor | Zpráva | ||
---|---|---|---|
jakubroz Profil |
#1 · Zasláno: 16. 5. 2008, 13:10:53
Ahoj,
na webu builder jsem našel něco na posílání interních vzkazů. Procházel jsem to, script jsem si upravoval, ale nevim proč se mi po odeslání formuláře stejně do databáze nic nevloží. tady je ten script.:(ani to nepíše žádnou chybu) <? require_once "../login/db.php"; // bude-li odeslán formulář, vložíme údaje do databáze if ($send && $predmet && $zprava) { $zprava=HTMLSpecialChars($zprava); //odstraníme nebezpečné znaky if($odpoved_id=="") // pokud vzkaz není odpověd $odpoved_id=0; $sql = mysql_query("INSERT INTO vzkazy VALUES('','$INFO[0]','$pro_id', '$predmet', 'n','$zprava','$odpoved_id','0')"); if($odpoved_id!="") MySQL_Query("UPDATE vzkazy SET stav='r' WHERE id='$odpoved_id'"); if($email=="true") // když máme odeslat upozornění na email { $a=mysql_query("SELECT email FROM uzivatele WHERE id='$pro_id'"); $b=mysql_fech_row($sql); $zprava="Máte novou zprávu v admin centru uloženou dne ".date("j.m.Y v H:i:s:"); mail($b[0],"Zpráva v admin centru",$zprava,"From: rs@rs.cz\n"); } ?> <H3 ALIGN="CENTER">Vzkaz vložen</H3> <? // ukončíme skript exit; } elseif($send) { echo "<H3 ALIGN=\"CENTER\"><FONT COLOR=\"#FF0000\">Chybí povinné údaje </FONT></H3>\n"; } // zobrazení formuláře ?> <H3 ALIGN="CENTER">Psaní vzkazu</H3> <FORM METHOD="POST" ACTION=""> <INPUT TYPE="HIDDEN" NAME="send" VALUE="true"> <TABLE BORDER="1" CELLSPACING="0" CELLPADDING="4" ALIGN="CENTER"> <TR> <TD><B>Od:</B></TD> <TD><B><? echo $INFO[3]; ?></B> </TD> </TR> <TR> <TD><B>Pro:</B></TD> <TD> <SELECT NAME="pro_id"> <? if($odpoved_id!=""): $sq=mysql_query("SELECT od_id,predmet,zprava FROM vzkazy WHERE id='$odpoved_id'"); $pro=mysql_fetch_row($sq); $predmet=$pro[1]; $zprava=$pro[2]; endif; @$sql = mysql_query("SELECT id,jmeno FROM uzivatele"); while ($data = mysql_fetch_row($sql)) { if($data[0]==$INFO[0]) continue; // zobrazíme výsledek ?> <OPTION VALUE="<? echo $data[0]; ?>" <? if($data[0]==$pro[0] or $data[0]==$pro_id)echo"SELECTED" ?>> <? echo $data[1];?></OPTION> <? } mysql_free_result($sql); ?> </SELECT> </TD> </TR> <TR> <TD><B>Předmět:</B></TD> <TD><INPUT TYPE="TEXT" NAME="predmet" VALUE="<? if($predmet!="" and $send!="true") echo "RE: ".$predmet; else echo $predmet; ?>" SIZE="56" MAXLENGTH=250></TD> </TR> <TR> <TD VALIGN="TOP"><B>Zpráva:</B></TD> <TD><TEXTAREA NAME="zprava" COLS="50" ROWS="10"><? if($zprava!="" and $send!="true") echo "\n\n\nPůvodní zpráva:\n----------------------\n".$zprava; else echo $zprava; ?></TEXTAREA> <INPUT TYPE="HIDDEN" NAME="odpoved_id" VALUE="<?=$odpoved_id?>"> </TD> </TR> <TR> <TD><B>Poslat upozornění na e-mail:</B></TD> <TD><INPUT TYPE="CHECKBOX" NAME="email" VALUE="true" <? if($email=="true") echo "CHECKED";?>></TD> </TR> <TR> <TD ALIGN="CENTER" COLSPAN="2"><INPUT TYPE="SUBMIT" VALUE="ODESLAT"></TD> </TR> </TABLE> </FORM> |
||
orava Profil |
#2 · Zasláno: 16. 5. 2008, 14:29:50
skus klasicky $_POST['zprava'] atd.
|
||
jakubroz Profil |
#3 · Zasláno: 16. 5. 2008, 14:32:31
a nevíte proč nejde tohle? když to na tom webu zveřejnili tak asi vědí proč ne?
|
||
nightfish Profil |
#4 · Zasláno: 16. 5. 2008, 14:35:29
jakubroz
a nevíte proč nejde tohle? když to na tom webu zveřejnili tak asi vědí proč ne? váš problém se jmenuje register_globals - skript počítá s jiným nastavením, než používáte vy (váš server) |
||
jakubroz Profil |
#5 · Zasláno: 16. 5. 2008, 14:37:34
takže stačí zapnout registr_globals?
|
||
jakubroz Profil |
#6 · Zasláno: 16. 5. 2008, 14:55:28
tak jsem za celý script přidal tohle:
<?php $zprava = $_POST['zprava']; $predmet = $_POST['predmet']; $pro_id = $_POST['pro_id']; ?> to by mělo už fungovat ne? no a ono nic |
||
nightfish Profil |
#7 · Zasláno: 16. 5. 2008, 14:58:23
tak jsem za celý script přidal tohle:
na konci skriptu to je houby platné jinak jak se dívám, ještě se tam používá <?, což nebude fungovat v případě short_open_tag = off |
||
jakubroz Profil |
#8 · Zasláno: 16. 5. 2008, 15:05:03 · Upravil/a: jakubroz
no tak jsem to dal na začátek.
|
||
jakubroz Profil |
#9 · Zasláno: 16. 5. 2008, 15:12:08
takže když to nahraju na mojí doménu webovestudio.eu tak to jde, protože tam mam register_globals na ON a na subdoméně to nejde.
Tak jak to bude nejjednodušší? zapnout registr globals nebo pomocí něčeho jiného? Kdyžtak poradte jak to udělat. dik |
||
jakubroz Profil |
#10 · Zasláno: 16. 5. 2008, 15:55:50
nevíte proč mi to ted dělá tohle:
http://rs2.webovestudio.eu/vzkazy/vzkazy.php přidal jsem tohle na začátek scriptu: <?php $zprava = $_POST['zprava']; $predmet = $_POST['predmet']; $pro_id = $_POST['pro_id']; ?> a do db to nevkládá |
||
nightfish Profil |
#11 · Zasláno: 16. 5. 2008, 17:17:32
nevíte proč mi to ted dělá tohle:
nevíme, co ti to dělá... na tom odkazu se zobrazí formulář s rozhozenou diakritikou to opravíš tak, že uvedeš správné kódování v HTTP nebo HTML hlavičkách |
||
jakubroz Profil |
#12 · Zasláno: 16. 5. 2008, 17:22:28
no tak to vim, ale když se pokusíš odeslat formulář tak uvidíš co se stane
|
||
jakubroz Profil |
#13 · Zasláno: 16. 5. 2008, 17:29:56
už to mam. dik všem
|
||
Časová prodleva: 16 let
|
0