pomoc s php

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

pomoc s php

Příspěvek od esso82 »

caute...chcem si spravit stranku mojweb/skuska.php, ktora obsahuje formular, ktory pri odoslani zapise udaje do DB,ale v php iba zacinam programovat tak som narazil na maly problem.

vypis z DB funguje dobre, ale mam problem s pridavanim do DB, resp s POSTom...takze mam formular, ktory obsahuje dve polia a submit, takze
subor skuska.php
form method="post" action="skuska.php"
name="a"
name="b"

ide o to, ze to chcem mat v jednom subore, takze pred ten formular som pridal skript:

Kód: Vybrat vše

if(isset($_POST['a']) && isset($_POST['b'])) {zapis do DB};
lenze nefunguje to, vrati mi prazdnu stranku a vypis HTML sa zastavi pri <body>

viete mi s tym pomoct
loading...

PSN ID: esso82
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: pomoc s php

Příspěvek od OndraSter »

Co třeba sem ten kód dát? :D
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

Re: pomoc s php

Příspěvek od esso82 »

som si myslel ze odpises iba ty:)))) ...ok je to tu a pokial sa ti to zda povedome, tak ano...je to php-fusion

Kód: Vybrat vše

<?php

require_once "../maincore.php";
require_once THEMES."templates/admin_header_mce.php";
include LOCALE.LOCALESET."admin/shortnews.php";

if (!checkrights("N") || !defined("iAUTH") || $_GET['aid'] != iAUTH) { redirect("../index.php"); }
global $settings;

if (isset($_GET['status'])) {
	if ($_GET['status'] == "sn") {
		$message = $locale['105'];
	} elseif ($_GET['status'] == "su") {
		$message = $locale['106'];
	} elseif ($_GET['status'] == "del") {
		$message = $locale['107'];
	}
	if ($message) {	echo "<div class='admin-message'>".$message."</div>\n"; }
		}

if(isset($_POST['save']) && isset($_POST['snews_subject']) && isset($_POST['snews_extended'])) {
	$snews_subject = stripinput($_POST['snews_subject']);
	$snews_extended = stripinput($_POST['snews_extended']);
	$result = dbquery("INSERT INTO fusion_short_news (snews_subject, snews_extended VALUES ('$snews_subject', '$snews_extended')");
		redirect(FUSION_SELF.$aidlink."&status=sn");
		} else {
			redirect(FUSION_SELF.$aidlink);
				}

	
if(!isset($_POST['snews_id'])) {
	$snews_subject = "";
	$snews_extended = "";
	}
	
	opentable($locale['103']);
	echo "<form name='inputform' method='post' action='".FUSION_SELF.$aidlink."' onsubmit='return ValidateForm(this);'>\n";
	echo "<table cellpadding='0' cellspacing='0' class='center'>\n<tr>\n";
	echo "<td width='100' class='tbl'>".$locale['110']."</td>\n";
	echo "<td width='80%' class='tbl'><input type='text' name='snews_subject' value='".$snews_subject."' class='textbox' style='width: 250px' /></td>\n";
	echo "</tr>\n<tr>\n";
	echo "<td width='100' class='tbl'>".$locale['111']."</td>\n";
	echo "<td width='80%' class='tbl'><input type='text' name='snews_extended' value='".$snews_extended."' class='textbox' style='width: 250px' /></td>\n";
	echo "<tr><td class='tbl'></td>";
	echo "<td class='tbl'>";
	echo "<input type='submit' name='save' value='".$locale['121']."' class='button' /></td>\n";	
	echo "</tr>\n</table>\n";
	echo "</form>\n";
	closetable();
	echo "<script type='text/javascript'>\n"."function DeleteNews() {\n";
	echo "return confirm('".$locale['123']."');\n}\n";
	echo "function ValidateForm(frm) {\n"."if(frm.news_subject.value=='') {\n";
	echo "alert('".$locale['122']."');\n"."return false;\n}\n}\n";
	echo "function SetRatings() {\n"."if (inputform.news_comments.checked == false) {\n";
	echo "inputform.news_ratings.checked = false;\n"."inputform.news_ratings.disabled = true;\n";
	echo "} else {\n"."inputform.news_ratings.disabled = false;\n}\n}\n</script>\n";	
	

	
	
require_once THEMES."templates/footer.php";

?>
loading...

PSN ID: esso82
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

Re: pomoc s php

Příspěvek od esso82 »

sry...uz som prisiel na to, preco to neslo - lebo som kokoko :-D

ja som dal podmienku, ze ak je ten POST, tak nieco sprav (ale on samozrejme pri prvotnom nacitani stranky neni), inak presmeruj na tu stranku znova .....ja som dilino :shock:
loading...

PSN ID: esso82
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

Re: pomoc s php

Příspěvek od esso82 »

stejne mi to nejde, ked kliknem na submit button, tak tie indexy su prazdne...ale preco?
loading...

PSN ID: esso82
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: pomoc s php

Příspěvek od OndraSter »

print_r($_POST); na začátek vypíše co?

Co to je za produkt? Píšeš modul pro php Fusion?
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

Re: pomoc s php

Příspěvek od esso82 »

jj...jedna sa o php-fusion a vypisalo to Array() ...to je vsetko .... uz som zufaly..sa s tym serkam druhy den...asi napisem cely skript znova od zaciatku

PS. este sa chcem spytat, lebo to neovladam, ked sa odosle formular metodou POST, tak vznikne pole s tymi hodnotami, ale kedy sa to pole znova vynuluje? lebo neviem ci by to teda tak fungovalo, ale myslel som, ze ak uz odoslem formular, ktory sa odkazuje na ten isty subor, vytvori sa pole a ak pred formom bude podmienka na ulozenie databaze, tak sa vykona, ale co ak stlacim v prehliadaci F5 pre refresh stranky? To pole tam stale je a znova je podmienka pravdiva...viem ze by sa to dalo osetrit priradenim tych indexov premennym a za podmienkou premenne vynulovat, ale da sa to urobit aj sikovnejsie?
loading...

PSN ID: esso82
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: pomoc s php

Příspěvek od OndraSter »

Dal si to print_r úplně na začátek, nebo až za to require apod?

Podivej se do toho, co ti pošle zpátky server (tzn pravý klik -> zobrazit zdrojový kód).
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

Re: pomoc s php

Příspěvek od esso82 »

no dal som to teraz pred require a napise to to iste, tentokrat uplne na vrchu stranky este pred DOCTYPE, ale neva...spravim to zas od zaciatku....snazim sa to pochopit, tak som si spravil taky skusobny kod...

Kód: Vybrat vše

<?php

if(isset($_POST['save'])) {
$meno = ($_POST['meno']);
unset ($_POST['save']);
echo "volas sa ".$meno;
$meno = "";
}


echo "<form method='post' action='http://localhost/fusion/pokus.php'>";
echo "<input type='text' name='meno' style='width:200px;' value='".$meno."'>";
echo "<input type='submit' name='save' value='posli'>";
echo "</form>";
echo "";
?>
funguje to OK, dokonca som si ECHOm overil, ze ten POST je unset, ale nejde mi do palice, ako je mozne, ze ten skript sa nezastavi pri tej premennej $meno vo formulari ked bezi prvy krat, lebo na zaciatku neni definovana, kedze POST je prazdny a ten IF teda preskoci a ide priamo na formular...

Ondro..prosim...vysvetli mi to...dakujem
loading...

PSN ID: esso82
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: pomoc s php

Příspěvek od OndraSter »

To jsem nějak nepochopil. Jaké zastavování ve formuláři?

Při prvním průchodu by se ta podmínka vůbec neměla splnit.

Jinak poprvé by to správně mělo vyhodit WARNING, že nebyla definovaná proměnná $meno, pokud tomu tak není, napiš hned za <?php

Kód: Vybrat vše

error_reporting(E_ALL);
ale není to nutné.

Když se na to dívám teď zpětně, tak asi myslíš to, že PHP se má zastavit, když není proměnná definovaná? Nene, to není jako C#, který se ani nezkompiluje. PHP vesele jede, jakmile narazí na nedefinovanou proměnnou tak to za ní dosadí NULL a vyhodí varování.
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
l_iNu$
Začátečník
Začátečník
Uživatelský avatar
Registrován: 01. pro 2005

Re: pomoc s php

Příspěvek od l_iNu$ »

OndraSter píše:PHP vesele jede, jakmile narazí na nedefinovanou proměnnou tak to za ní dosadí "" (prázdný text) a vyhodí varování.
Nikoliv prázdný řetězec ale NULL.


// OndraSter - jo, máš pravdu, večer jsem už nad tím nemyslel. Díky za upozornění.
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

Re: pomoc s php

Příspěvek od esso82 »

dik ludia, uz zacinam chapat, no ten skript som prepisal a uz to fachci, najprv som mal maly problem s tym, ze po refreshovani stranky sa pridal znova ten isty zaznam do DB, ale potom mi bliklo, ze tam treba ten redirect a uz to ide ako basen.....vdaka
loading...

PSN ID: esso82
Odpovědět

Zpět na „Programování a web“