Autor | Zpráva | ||
---|---|---|---|
croux Profil * |
#1 · Zasláno: 2. 8. 2008, 22:16:03
Ahoj, snažíms e vložit tento kód do mysql
<script type="text/javascript" src="http://www.jeroenwijering.com/embed/swfobject.js"></script> <div id="playeerr" style="margin-left:90px;">This text will be replaced</div> <script type="text/javascript"> var so = new SWFObject('http://www.jeroenwijering.com/embed/player.swf','mpl','375' ,'300','9'); so.addParam('allowscriptaccess','always'); so.addParam('allowfullscreen','true'); so.addParam('flashvars','file=http://www.youtube.com/v/Hqz9i4nPBBo&aut ostart=true'); so.write('playeerr'); </script> bohužel se mi při výpisu vypíše This text will be replaced var so = new SWFObject('http://www.jeroenwijering.com/embed/player.swf','mpl','375' ,'300','9'); so.addParam('allowscriptaccess','always'); so.addParam('allowfullscreen','true'); so.addParam('flashvars','file=http://www.youtube.com/v/Hqz9i4nPBBo&aut ostart=true'); so.write('playeerr'); nevímte čím to může být myslíte že je to uvozovkami? |
||
krteczek Profil |
#2 · Zasláno: 2. 8. 2008, 22:32:48
pro ošetření vstupních dat do databáze použij vždy následující funkci:
<?php function o($polozka) { # slouží k ošetření vstupních dat do databáze if((!is_numeric($polozka))) { # není to číslo, ošetříme $polozka = "'" . (function_exists('mysql_real_escape_string') ? mysql_real_escape_string($polozka) : (function_exists('mysql_escape_string') ? mysql_escape_string($polozka) : addslashes($polozka)) ) . "'"; } # je to číslo return $polozka; } # volání funkce: $text = o($_POST['text']); ?> vyhneš se tím právě těmto problémům. Pro použití je nutno být již připojen k databázi a mít nastaveno kódování pro spojení s databázi! |
||
croux Profil * |
#3 · Zasláno: 2. 8. 2008, 23:13:35
no zkusil sjemtu tvoji funkci, ale nějak mi nefunguje tady je celý kód i s mysql dotazem :)
function o($polozka) { # slouží k ošetření vstupních dat do databáze if((!is_numeric($polozka))) { # není to číslo, ošetříme $polozka = "'" . (function_exists('mysql_real_escape_string') ? mysql_real_escape_string($polozka) : (function_exists('mysql_escape_string') ? mysql_escape_string($polozka) : addslashes($polozka)) ) . "'"; } # je to číslo return $polozka; } $id = $_POST['id']; $cz_text = o($_POST['cz_text']); $at_text = o($_POST['at_text']); $sql = mysql_query('UPDATE text SET cz_text="$cz_text", at_text="$at_text" WHERE id=".$id."') or die(mysql_error()); echo ' <div style="width:500px;text-align:center;"><br /><br />Text byl úspěšně upraven.<br /><br /><br /> <a href="javascript: window.close();">Zavřít okno</a></div> '; kde mám chybu? odešlu data do formuláře, data přijdou přes $_POST ale už se nedostanou přes tu funkci aby se mohli v db upravit |
||
krteczek Profil |
#4 · Zasláno: 2. 8. 2008, 23:36:16
přidej na začátek scriptu: error_reporting(E_ALL); a uvidíme co ti to vrátí
|
||
croux Profil * |
#5 · Zasláno: 3. 8. 2008, 09:27:03
vrátilo mi to 6135
|
||
croux Profil * |
#6 · Zasláno: 3. 8. 2008, 10:57:18
kde mámm tady chybu moc prosím :) spěchá to
|
||
šárinka Profil |
#7 · Zasláno: 4. 8. 2008, 17:10:35
pordte pls stále to nemohu vyřešit
|
||
joe Profil |
#8 · Zasláno: 4. 8. 2008, 17:23:30
$sql = mysql_query("UPDATE text SET cz_text='$cz_text', at_text='$at_text' WHERE id=" . $id) or die(mysql_error());
|
||
pmg Profil |
#9 · Zasláno: 4. 8. 2008, 17:34:42
Dotaz je uzavřen v apostrofech, proměnné se proto nepřevedou. Funkce s výstižným názvem o uzavře řetězec do uvozovek automaticky. Zkus použít tento řádek:
$sql = mysql_query("UPDATE text SET cz_text=$cz_text, at_text=$at_text WHERE id=$id") or die(mysql_error()); Funkcí o prožeň všechny předávané hodnoty, jinak hrozí SQL injection. Nebo radši použij dibi a máš po problémech. Nespěchej, nevyplatí se to;-) |
||
nightfish Profil |
#10 · Zasláno: 4. 8. 2008, 17:43:18
pmg
chybí ti apostrofy kolem zjevně textových proměnných v dotazu, což je špatně... takže spíš $sql = mysql_query("UPDATE text SET cz_text='$cz_text', at_text='$at_text' WHERE id=$id") or die(mysql_error()); (za předpokladu, že sloupce cz_text a at_text jsou typu char, varchar, varbinary, *text a id je typu *int) |
||
šárinka Profil |
#11 · Zasláno: 4. 8. 2008, 18:06:10
nightfish
sloupce mám nastavený tak jak píšeš, ale píše mi to chybu You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fdsfsdfsdfsdfsdfsdfsdf\r\n'' WHERE id=1' at line 1 |
||
pmg Profil |
#12 · Zasláno: 4. 8. 2008, 18:15:52
nightfish
Ten příklad je vytržen z kontextu. Položky jsou uzavřeny do apostrofů už dříve (viz #3). Ale doporučil bych spíš mrknout na tu knihovnu dibi. Velmi usnadní práci! |
||
Časová prodleva: 16 let
|
0