Autor | Zpráva | ||
---|---|---|---|
lokutus7323 Profil * |
#1 · Zasláno: 26. 11. 2007, 12:49:46
Ahoj,
v PC jsem si nainstaloval EasiPHP 1.7 a začal jsem si dělat první php scripty s využitím MySQL. A toto jsem vykutil: <html> Udělal jsem si něco jako adresář, kam se ukládá do MySQL jméno a mail nějakého člověka. Již mám bezproblému fungující skript,který z MySQL vytáhne a vypíše data. Jenomže už od rána se dělám s tímto scriptem. Tento script má přidávat do MySQL jména a maily. Problém však je, že řetězec "mysql_query("INSERT INTO adresar values ('$jmeno', '$mail')");" si netahá proměné a i b. Když ovšem místo těchto proměných napíšu např: Michal, neco@centrum.cz, bez problému se vše provede. Chybu tedy jistě nemám v připojení databáze. Chci vás požádat, jestli bystem i neřekli, proč si to z inputů netahá "value"... Děkuji |
||
Měsíček Profil |
#2 · Zasláno: 26. 11. 2007, 12:53:56
submit neví co má odesílat = nějákou akci, dále dělej globální proměnné = $jmeno = $_POST["jmeno"];
|
||
Měsíček Profil |
#3 · Zasláno: 26. 11. 2007, 12:56:23
<html>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> <input name='jmeno' type='text' value='neco'> <input name='mail' type='text' value='nic'> <input type='submit' name='ok' value='Přidat'> </form> </html> <?php if(isset($_POST["ok"])){ $jmeno = $_POST["jmeno"]; $mail = $_POST["mail"]; require_once "pripoj.php"; mysql_select_db($db, $spojeni); mysql_query("INSERT INTO adresar values ('$jmeno', '$mail')"); } ?> |
||
wnc Profil |
#4 · Zasláno: 26. 11. 2007, 12:56:34
Ahoj.
Pravděpodobně nemáš v PHP zaplou možnost register globals. To vpraxi znamená, že nemůžeš automaticky používat $jmeno, $mail. K těmto hodnotám se dostaneš skrz asociované pole $_GET resp. $_POST v závislosti na použité metodě. V praxi: mysql_query("INSERT INTO adresar values ('".$_GET["jmeno"]."', '".$_GET["mail"]."')"); Pro jistotu si ještě upřesni metodu:
|
||
Měsíček Profil |
#5 · Zasláno: 26. 11. 2007, 12:57:33
wnc : tady se člověk snaží o opak :-)))
|
||
wnc Profil |
#6 · Zasláno: 26. 11. 2007, 13:01:11
Měsíček:
sorry, byl jsi rychlejší :-) |
||
Měsíček Profil |
#7 · Zasláno: 26. 11. 2007, 13:02:29
to nic máš to taky dobře až na tohle : ".$_GET["mail"]."' by mělo být ".$_GET['mail']."
|
||
lokutus7323 Profil * |
#8 · Zasláno: 26. 11. 2007, 13:02:55
Děkuji za odpovědi.
To Měsíček: Mohl bys mi prosim ještě popsat co jsou to ty globální proměnné. Myslím, že člověk, který ví o čem mluví to popíše líp, než nějakej rádoby pisílek na internetu co zná ctrl + c. To WNC: Ano, register_globals mám vyplé. Na internetu jsem četl, jak to změnit na "on". Postupoval jsem vždy podle návodu, ale vedlo to k tomu, že jsem musel přeistalovat PHPEasy a stejně se nic nezměnilo... Všude popisijí, že se musí změnit soubor php.ini, tam jsem to přepsal na on, znovu spustil aplikaci, ael nic se nezměnilo. |
||
Měsíček Profil |
#9 · Zasláno: 26. 11. 2007, 13:06:21
lokutus7323 : Globální proměnné : http://php.interval.cz/clanky/metody-post-a-get/ lépe bych to popsat neuměl :-)) jinak jestli to máš na lokále tak ti doporučuji si nainstalovat WAMP (jsou tam všechny verze nejnovější a velmi jednoduše se instaluje) nezkolabuje hned jak EasyPHP když se něco změní ...
|
||
nightfish Profil |
#10 · Zasláno: 26. 11. 2007, 13:10:20
Měsíček
to nic máš to taky dobře až na tohle : ".$_GET["mail"]."' by mělo být ".$_GET['mail']." nějak nevidím rozdíl... a to, jestli uzavřeš řetězcový index asociativního pole do apostrofů nebo uvozovek je v tomto případě šumák Mohl bys mi prosim ještě popsat co jsou to ty globální proměnné. globální proměnné jsou proměnné s platností v celém skriptu (opak lokálních proměnných ve funkcích, kdy proměnná definovaná v rámci funkce neovlivňuje stejně pojmenovanou proměnnou definovanou mimo funkci) na to, aby se nějaká proměnná chovala ve funkci jako globální je potřeba tuto "zglobálnit" pomocí zápisu global $jmenoprommene; v těle funkce (další možností je použití $GLOBALS['jmenopromenne'], kde použití "global" odpadá) a superglobální proměnné jsem v PHP takové, že jejich obsah je automaticky dostupný ve kterékoliv části skriptu (sem patří již zmíněná pole $_GET a $_POST) jinak http://www.linuxsoft.cz/php tam je tato věc taktéž popsána |
||
Měsíček Profil |
#11 · Zasláno: 26. 11. 2007, 13:13:32
nightfish :
"to nic máš to taky dobře až na tohle : ".$_GET["mail"]."' by mělo být ".$_GET['mail']." " máš pravdu omlouvám se jak wnc tak i tobě .. myslel jsem, že jsou dable """" .., ale je to řetězec omlouvám se ... |
||
wnc Profil |
#12 · Zasláno: 26. 11. 2007, 13:17:09
ono holt " není ''
|
||
Časová prodleva: 16 let
|
0