flocky
sn0wner (analphabet)
|
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? <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: 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
|
funka
Legend ex-prophet(down below)
|
muahaah der boeseste zynismus seit langem genial
|
flocky
sn0wner (analphabet)
|
mist falsches forum, hab gar ned aufpasst wo das landet moven plz allerdings... wenn gefällt...
|
funka
Legend ex-prophet(down below)
|
|
funka
Legend ex-prophet(down below)
|
moved.
|
atrox
in fairy dust... I trust!
|
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
begehrt die rostschaufel
|
ich lös auf! if(empty($_POST['dbinput']))
{
echo "schass :-/";
echo "<br>";
}
else
{
$_POST['dbinput'] = $dbname;
echo $dbname;
}
have fun btw, isset geht a ned weil jede var die mit post übergeben wird autom. gesetzt ist (as atrox said)
|
atrox
in fairy dust... I trust!
|
else
{
$_POST['dbinput'] = $dbname;
echo $dbname;
}
trotzdem darf man im else zweig nicht einfach die frisch erhaltene variable überschreiben.
|
semteX
begehrt die rostschaufel
|
argl das hab ich ja ganz übersehen $dbname =$_POST['dbinput'] muss das natürlich heissn
|
Snoop
Here to stay
|
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
begehrt die rostschaufel
|
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
in fairy dust... I trust!
|
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
sn0wner (analphabet)
|
ua :verwirrt: 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 habs jetz umgestellt und jetz funzts 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 edit: eine frage noch: was bedeutet in der zeile echo $showdbs -> Database . "\n"; das Database? is das eine konstante oder was is das? das is die einzige zeile die ich bis jetz noch nicht verstehe und ich hasse sowas und wenn ich das richtig verstanden habe dann schreibt der pfeil -> die eigenschaften des objekts $showdbs in Database oder so?
Bearbeitet von flocky am 16.11.2003, 20:03
|
atrox
in fairy dust... I trust!
|
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
sn0wner (analphabet)
|
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
Bearbeitet von flocky am 16.11.2003, 20:09
|