php, forms und $_POST

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_forms_und_post_98698/page_1 - zur Vollversion wechseln!


flocky schrieb am 16.11.2003 um 03:05

ich hab den unten stehenden code und möchte mit der form den eingegebenen wert von der text-box als post-variable weitergeben, aber anscheinend funzts nicht, was mach ich falsch?

Code:
<html>
<body>
<?php
echo "<form name=dbnameform action=createdb2.php method=post>";
echo "<input type=text name=dbinput>";
echo "<input type=submit value=\"Datenbank erstellen\">";
echo "</form>";
?>
<?php
 $connection = mysql_connect("localhost","flocky","")
 or die("Verbindung fehlgeschlagen:".mysql_error());
 echo "s0xessfullY connected";
 echo "<br>";
 
 if($_POST['dbinput'] == '')
 {
 	echo "schass :-/";
 	echo "<br>";
 }
 else
 {
 	$_POST['dbinput'] = $dbname;
 	echo $dbname;
 }
 //$dbname = "oaschloch";
 $create = mysql_create_db($dbname);
 if($create)
 {
 	echo "db s0xessfullY created :]";
 }
 else
 {
 	echo "db creating failed >:[";
 }
 echo "<br>";
 
 $fuckdb = mysql_drop_db($dbname);
 if($fuckdb)
 {
 	echo "db s0xessfullY fucked >:]";
 }
 else
 {
 	echo "db fucking failed >:[";
 }
 echo "<br>";
 
 $listdbs = mysql_list_dbs($connection);
 if($listdbs)
 {
 	echo "<br>";
 	echo "<u>db's @ localhost:</u>";
 	echo "<br>";
 	while($showdbs = mysql_fetch_object($listdbs))
 	{
 	echo $showdbs -> Database . "\n";
 	echo "<br>";
 	}
 }
 else
 {
 	echo "listing fehlgeschlagen >:[";
 }
 mysql_close($connection);
?>
</body>
</html>

ausgabe:
Code:
s0xessfullY connected
db creating failed >:[
db fucking failed >:[

db's @ localhost:
mysql 
test 

also anscheinend dürfte $_POST["dbinput"] ned leer sein, sonst würd er schass ausgeben, aber ausgeben tut er den wert davon auch ned :confused:


funka schrieb am 16.11.2003 um 03:11

muahaah der boeseste zynismus seit langem
genial :D


flocky schrieb am 16.11.2003 um 03:12

mist :p
falsches forum, hab gar ned aufpasst wo das landet :rolleyes: moven plz

allerdings... wenn gefällt... :D


funka schrieb am 16.11.2003 um 03:32

:(


funka schrieb am 16.11.2003 um 03:32

moved.


atrox schrieb am 16.11.2003 um 14:13

Zitat
Code:
 if($_POST['dbinput'] == '')
 {
 	echo "schass :-/";
 	echo "<br>";
 }
 else
 {
 	$_POST['dbinput'] = $dbname;
 	echo $dbname;
 }

sieht sehr verdächtig aus...
bevor ich da eine seitenlange abhandlung schreibe, was der unterschied zwischen dem ist, was du gemeint haben könntest, und was du hier geschrieben hast, schau es dir doch selber nochmal an.
hinweise: eine nichtgesetzte variable ist nicht automatisch '', und wenn sie doch gesetzt ist, überschreiben wir sie mit $dbname ?


semteX schrieb am 16.11.2003 um 14:16

ich lös auf!

Code:
if(empty($_POST['dbinput']))
{
 echo "schass :-/";
 echo "<br>";
}
else
{
 $_POST['dbinput'] = $dbname;
 echo $dbname;
}

have fun :D

btw, isset geht a ned weil jede var die mit post übergeben wird autom. gesetzt ist (as atrox said)


atrox schrieb am 16.11.2003 um 14:19

Zitat
Code:
else
{
 $_POST['dbinput'] = $dbname;
 echo $dbname;
}
trotzdem darf man im else zweig nicht einfach die frisch erhaltene variable überschreiben.


semteX schrieb am 16.11.2003 um 14:23

argl das hab ich ja ganz übersehen :)
$dbname =$_POST['dbinput'] muss das natürlich heissn :)


Snoop schrieb am 16.11.2003 um 17:08

viel interessanter is, dass er im html tag nicht die " " macht, und deswegen der browser eigentlich das wort dbinput parsen müsste, daher wirds wahrscheinlich auch die var net geben

2. wurde der andere fehler schon angegeben


semteX schrieb am 16.11.2003 um 17:33

aja eines noch: gib deinen vars gscheite namen! 1. wirks ned so peinlich und 2. wirds dich GEWALTIG zerlegn falls du in nem monat an dem script weiterschreibst


atrox schrieb am 16.11.2003 um 17:45

das nicht verwenden von anführungszeichen " ist zwar nicht zeitgemäß, wurde aber von früheren HTML-Standards erlaubt und von den browsern daher auch noch verstanden. dbinput ist imho kein problem, da beim html-attribut nach dem = genau ein wort erwartet wird. ausserdem werden die parser nicht willkürlich im wort ein anderes tag zu suchen beginnen, sonst dürftest ja gar kein b i p u ..usw verwenden.


flocky schrieb am 16.11.2003 um 19:13

ua :verwirrt: :D
ich hab die if-abfrage für die $_POST-variable nur gemacht damit ich sicher sein kann ob der syntax richtig is...
und ich hab immer gedacht x = y is das selbe wie y = x :eek:
habs jetz umgestellt und jetz funzts :cool:

danke an alle

² semteX

was meinst mit den variablen? welche sind da ned übersichtlich? und naja ich hab erst letzte woche mit php und mysql angefangen, das is auch mein erstes script :D

edit: eine frage noch: was bedeutet in der zeile echo $showdbs -> Database . "\n"; das Database? is das eine konstante oder was is das? :confused: das is die einzige zeile die ich bis jetz noch nicht verstehe und ich hasse sowas :rolleyes: und wenn ich das richtig verstanden habe dann schreibt der pfeil -> die eigenschaften des objekts $showdbs in Database oder so?


atrox schrieb am 16.11.2003 um 19:59

das gilt bei vergleichen... a == b ist das gleiche wie b == a

bei zuweisungen muß es eine quelle und ein ziel geben... und die wurden in den meisten prozeduralen dritt-generations sprachen so definiert: Quelle <- Ziel

"<-" ist in pascal und modula := während es in c, php, java und perl = ist.


flocky schrieb am 16.11.2003 um 20:07

also ist der -> eine zuweisung und das selbe wie = ?

edit: übrigens funktionert das mit dem '' vergleich, wenn ich submitte ohne einen namen angegeben zu haben kommt schass :D




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026