Autor | Zpráva | ||
---|---|---|---|
Hrášek Profil * |
#1 · Zasláno: 29. 5. 2013, 20:53:17
$order = "INSERT INTO Terminovka (ASO, DATUM, TYP, MISTO, RAZENI) VALUES ($_POST['ASO'],$_POST['datum'],$_POST['typ'],$_POST['misto'],$_POST['razeni'])";
|
||
Camo Profil |
#2 · Zasláno: 29. 5. 2013, 20:55:48
Hrášek:
Hodnoty ak sú to reťazce musia byť v úvodzovkách. |
||
Hrášek Profil * |
#3 · Zasláno: 29. 5. 2013, 21:01:48
$order = "INSERT INTO Terminovka (ASO, DATUM, TYP, MISTO, RAZENI) VALUES ("$_POST['ASO']","$_POST['datum']","$_POST['typ']","$_POST['misto']","$_POST['razeni']")";
Parse error: syntax error, unexpected T_VARIABLE in /data/web/virtuals/16062/virtual/www/subdom/termin/odeslat.php on line 15 |
||
Camo Profil |
Hrášek:
No tak to som fakt nečakal... Ak chceš použiť úvodzovky, tak musíš použiť \ alebo použi miesto úvodzoviek ' PS: A to do tej databázy hádžeš len tak, bez kontroly??? |
||
Hrášek Profil * |
#5 · Zasláno: 29. 5. 2013, 21:07:17 · Upravil/a: Hrášek
A teď?
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /data/web/virtuals/16062/virtual/www/subdom/termin/odeslat.php on line 15 <?php mysql_connect('wm20.wedos.net', 'uzivatel', 'heslo');//database connection mysql_select_db("databaze"); $order = "INSERT INTO Terminovka (ASO, DATUM, TYP, MISTO, RAZENI) VALUES ( '$_POST['ASO'] ', '$_POST['datum'] ', '$_POST['typ'] ', '$_POST['misto'] ', '$_POST['razeni'] ')"; $result = mysql_query($order); //order executes if($result){ echo("<br>Akce byla úspěšně nahrána"); } else{ echo("<br>Došlo k chybě"); } ?> |
||
martin1312 Profil |
#6 · Zasláno: 29. 5. 2013, 21:18:48
reťazce sa spojujú s bodkou.
|
||
Camo Profil |
#7 · Zasláno: 29. 5. 2013, 21:20:26
Hrášek:
Lepšie bude ak to celé dáš do apostrofov a tie premenné pospájaš tak ako sa spája reťazec s premennou. Alebo si daj tie polia do {zložených zátvoriek} |
||
juriad Profil |
#8 · Zasláno: 29. 5. 2013, 21:20:58
Úplně dokonale takto (za předpokladu, že všechny sloupce jsou textové):
$order = "INSERT INTO Terminovka (ASO, DATUM, TYP, MISTO, RAZENI) VALUES ( '" . mysql_real_escape_string($_POST['ASO']) . "', '" . mysql_real_escape_string($_POST['datum']) . "', '" . mysql_real_escape_string($_POST['typ']) . "', '" . mysql_real_escape_string($_POST['misto']) . "', '" . mysql_real_escape_string($_POST['razeni']) . "')"; |
||
Hrášek Profil * |
#9 · Zasláno: 29. 5. 2013, 21:22:01 · Upravil/a: Hrášek
A můžete mi to prosím ukázat jak to má být?
[#8] juriad Vše má být textové kromě razení kde je datum ve formátu 20012-08-05 Už to funguje jak má, ještě mám problém s češtinou, nějaký nápad? |
||
Camo Profil |
#10 · Zasláno: 29. 5. 2013, 21:36:38
|
||
Hrášek Profil * |
#11 · Zasláno: 30. 5. 2013, 09:30:21
Ahoj stále s tím mám problém, poradíte?
|
||
peta Profil |
#12 · Zasláno: 30. 5. 2013, 09:42:44
Ja bych to resil takto
$keys = explode('ASO,datum,typ,misto,razeni'); $data = array(); foreach($keys as $value) {$data[$value] = isset($_POST[$value]) ? mysql_real_escape_string($_POST[$value]) : '';} $query = "INSERT INTO Terminovka (ASO, DATUM, TYP, MISTO, RAZENI) VALUES ('%s','%s','%s','%s','%s')"; $query = vsprintf($query, $data); Hrášek: "mám problém s češtinou" mam rozbity pocitac, nejaky napad? Co mi na to muzes poradit? Nic? Asi spatne formulovany dotaz |
||
Hrášek Profil * |
#13 · Zasláno: 30. 5. 2013, 09:56:55
Ahoj, http://termin.hrasek.net/terminovka-admin.php
Zkus si něco zadat a uvidíš sám |
||
Tori Profil |
#14 · Zasláno: 30. 5. 2013, 10:11:52
Hrášek:
A upravil jste si radu od Camo, ano? (tj. když používáte mysql_* funkce, tak nebude mysqli_set_charset , ale mysql_set_charset)
Co přesně to dělá špatně: data jsou i špatně uložená, anebo se jen špatně vypisují? (zkontrolujte např. v PhpMyAdmin). Resp. nejdřív bych vyprázdnila DB tabulku (protože některá data se vypisují správně a některá ne), a pak teprv testovala a hledala chybu. |
||
Hrášek Profil * |
#15 · Zasláno: 30. 5. 2013, 10:20:58
data jsou i špatně uložená
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title></title> </head> <body> <?php mysql_connect('wm20.wedos.net', 'jmeno', 'heslo');//database connection mysql_select_db("d16062_hrasek"); $order = "INSERT INTO Terminovka (ASO, DATUM, TYP, MISTO, RAZENI) VALUES ( '" . mysql_real_escape_string($_POST['ASO']) . "', '" . mysql_real_escape_string($_POST['datum']) . "', '" . mysql_real_escape_string($_POST['typ']) . "', '" . mysql_real_escape_string($_POST['misto']) . "', '" . mysql_real_escape_string($_POST['razeni']) . "')"; $result = mysql_query($order); //order executes if($result){ echo("<br>Akce byla úspěšně nahrána"); } else{ echo("<br>Došlo k chybě"); } ?> <?php $spojenie = mysql_connect('wm20.wedos.net', 'jmeno', 'heslo'); if (!$spojenie) { die('Nemozem sa pripojit na databazu: ' .mysql_error()); } mysql_query('set names utf8'); mysql_query('SET COLLATION_CONNECTION=utf8'); mysql_query("set names 'utf8'"); mysql_query("SET character_set_client=utf8"); mysql_query("SET character_set_connection=utf8"); mysql_query("SET character_set_results=utf8"); $vybratie = MySQL_Select_Db("d16062_hrasek"); if (!$vybratie) { die('Nemozem sa spojit s databazou: ' .mysql_error()); } ?> <form method="post" enctype="multipart/form-data" action="odeslat.php"> <input type="text" name="ASO" size="30" value="ASO" class="formik" /> <input type="text" name="datum" size="30" value="Datum" class="formik" /> <input type="text" name="typ" size="30" value="Typ akce" class="formik" /> <br> <input type="text" name="misto" size="30" value="Místo" class="formik" /> <input type="text" name="razeni" size="30" value="Datum pro řazení" class="formik" /> <input type="submit" name="odeslat" value="Odeslat" class="buttonek" /> <br><br><br> <table width="610px" border="1xp solid black;"> <tr><td style="background-color: pink;">ASO</td><td style="background-color: pink;">Termín</td><td style="background-color: pink;">Typ akce</td><td style="background-color: pink;">Místo</td></tr> <?php $srchQ = "SELECT * FROM Terminovka ORDER BY razeni"; $srch = MySQL_Query($srchQ); $rows = MySQL_Num_Rows($srch); if ($rows==0) echo "Žádne informace"; ?> <?php for ($i=0;$i<$rows;$i++): $zaznam = MySQL_Fetch_Array($srch); ?> <tr ><td><?php echo $zaznam[ASO] ?></td><td><center><?php echo $zaznam[DATUM] ?></center></td><td><?php echo $zaznam[TYP] ?></td><td><?php echo $zaznam[MISTO] ?></td></tr> <?php endfor; ?> </table> |
||
Tori Profil |
#16 · Zasláno: 30. 5. 2013, 10:28:48
Řádek 30 přesuňte na ř.12, zbytek řádků 26-36 bych vyhodila (zbytečně podruhé navazujete totéž spojení, navíc
SET character_* funguje stejně jako SET NAMES ).
|
||
Hrášek Profil * |
#17 · Zasláno: 30. 5. 2013, 10:35:12 · Upravil/a: Hrášek
Super funguje to
Děkuji velice |
||
Časová prodleva: 11 let
|
0