 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
25.12.2004, 14:10
|
#1
|
|
TP-Junior
Registriert seit: Dec 2004
|
db per formular mit verschiedenen variablen
hey ho,
so schwer zu erklären was ich so genau mir vorstelle, aber hoffe denoch es verständnissvoll rüber zubringen
bin dabei eine lan seite zu basteln & schon recht weit gekommen. im moment versuche ich eine tunier anmeldung hinzubekommen. ich habe nun schon den html code dazu , um im adminbereich tuniere hinzuzufügen. dies ist nun ein kleiner auszug:
PHP-Code:
OpenTable();
print"<table width=\"100%\" border=\"1\" cellspacing=\"7\" cellpadding=\"0\">
<tr>
<td><div align=\"center\">Neues Tunier erstellen:</div></td>
</tr>
<tr>
<td>
<form action=\"\" method=\"POST\">
<table width=\"400\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"2\">
<tr>
<td>Schritt 1 von 2</td>
</tr>
<tr>
<td>Datenbankname:
<input name=\"textfield2\" type=\"text\" value=\"z.B. CoDeinsvseins\">
</td>
</tr>
<tr>
<td>Name des Tuniers:
<input name=\"text\" type=\"tuniername\" value=\"Spiel + Art\">
</td>
</tr>
<tr>
<td><p>Art:
<select name=\"select\">
<option selected>1vs1</option>
<option>2vs2</option>
<option>3vs3</option>
<option>4vs4</option>
<option>5vs5</option>
<option>6vs6</option>
<option>7vs7</option>
<option>8vs8</option>
<option>9vs9</option>
<option>10vs10</option>
</select>
</p>
</td>
</tr>
<tr>
<td><div align=\"center\">
<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td>
<div align=\"center\">
<input type=\"submit\" name=\"Submit\" value=\""._4n100."\">
</div>
</td>
</tr>
</table>
</div></td>
</tr>
</table>
</form>
</td>
</tr>
</table>";
CloseTable();
so... nun kommt mein problem. ich wollte das man den datenbanknamen im script eingibt und dieser dann über eine variable eigetragen wird bzw gleichzeitig noch ein paar werte.
ich habe aberabsolut keine ahnung wie ich es realisierenkann, das er die db erstellt und gleich was einträgt.
hatte noch folgendes script verwendet um erst mal die db zuerzeugen, aber dies bekomme ich nicht einmal hin...
PHP-Code:
if($Submit == _lan100) {
global $admin, $bgcolor2, $prefix, $dbi;
sql_query("CREATE TABLE `nuke_4nlan_tuniere_$datenbankname` (
`id` INT( 9 ) NOT NULL AUTO_INCREMENT ,
`tuniername` VARCHAR( 20 ) NOT NULL ,
`rang` VARCHAR( 2 ) NOT NULL ,
`team` VARCHAR( 20 ) NOT NULL ,
`gewonnen` INT( 3 ) NOT NULL ,
`verloren` INT( 3 ) NOT NULL ,
`next-gegner` VARCHAR( 20 ) NOT NULL ,
`zeitpunkt` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` )
);");
Header("Location: admin.php?op=neue-tuniere");
exit;
}
hoffentlich weiß einer weiter
mfg
awiniag
|
|
|
25.12.2004, 14:22
|
#2
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
|
Was spricht dort an dieser Stelle nach dem Create Table gegen normaler Data Manipulation Language => insert Into?
http://dev.mysql.com/doc/mysql/de/Da...ipulation.html
__________________
Zwei Dinge sind Unbestreitbar:- In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
- Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
|
|
|
25.12.2004, 15:14
|
#3
|
|
TP-Veteran
Registriert seit: Sep 2002
Ort: Schweiz
|
Hm.. ich versteh dein Vorhaben nicht ganz? Was meinst du mit Datenbank erstellen?!
Wenn ich dich richtig verstehe möchtest du doch einfach ein Formular machen, wo der Lan-Besucher sich für ein Turnier anmelden soll oder?! Dafür erstellst du halt eine Tabelle (per Script oder phpmyadmin) in deiner bestehenden Datenbank mit den passenden Feldern (name, spiel, clan usw..). Anschliessend ein Formular, mit dem du die Werte in die Db einträgst..
|
|
|
25.12.2004, 17:00
|
#4
|
|
TP-Junior
Registriert seit: Dec 2004
|
jepp... ich wollte es so machen, da ich nicht am anfang gleich dutzende datenbanken für die ganzen spiele erstellen wollte, das man dies dann über das adminmenu macht...
z.B:
Datenbankname: CSS5vs5
Tuniername: CSS - 5vs5
nun wird halt über eine variable eine tabelle in der db erstellt mit dem namen
..._CSS5vs5
und bei dieser können sich dann die teilnehmer eintragen.
nur weiß ich nicht wie man halt die datenbank erstellt und gleich was mit reinschreibt. hab das erstellen bis jetzt immer nur über den phpmyadmin gemacht. will aber nicht meine moderaroten zugriff auf die db geben.
mfg
awiniag
Geändert von awiniag (25.12.2004 um 20:06 Uhr).
|
|
|
25.12.2004, 17:03
|
#5
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
|
Daher insert into
http://dev.mysql.com/doc/mysql/de/HANDLER.html
PHP-Code:
$res = mysql_query( "INSERT INTO tabelle (spalte1,spalte2) VALUES(15,spalte1*2)");
__________________
Zwei Dinge sind Unbestreitbar:- In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
- Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
|
|
|
25.12.2004, 20:03
|
#6
|
|
TP-Junior
Registriert seit: Dec 2004
|
es wird ja leider nicht einmal die tabelle mit dem namen über die variable $datenbankname erstellt. weiß nicht wo da der fehler liegt.. :/
mfg
awiniag
|
|
|
25.12.2004, 20:10
|
#7
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
|
Naja, weil es ja auch nicht sql_query(...); heißt, sondern mysql_query( ... );
Wenn es dann immernoch nicht klappt, würde ich einfach mal ein echo mysql_error(); ausgeben, dann siehst du ja, wo der Fehler liegt!
Des weiterem ist aus dem Codefragment nicht erkenntlich, ob du schon eine Verbindung zu dem SQL Server aufgebaut hast, ob du schon eine Datenbank ausgewählt hast und - ob all dies überhaupt funktioniert hat 
__________________
Zwei Dinge sind Unbestreitbar:- In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
- Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
|
|
|
26.12.2004, 20:46
|
#8
|
|
TP-Junior
Registriert seit: Dec 2004
|
wie schon gesagt ist ein stückel aus dem ganzen script... verbindung vollkommen erfolgreich.
sql_query geht auch schon ein stückel drüber  .
hab aber nun bemerkt das es hierso nur mit mysql_query ght... komisch.
leider wird aber nicht der variablenname beim erstellen der tabelle verwendet. sondern die stelle einfach freigelassen:
mysql_query("CREATE TABLE `nuke_4nlan_tuniere_$datenbankname` (
`id` INT( 9 ) NOT NULL AUTO_INCREMENT ,
`tuniername` VARCHAR( 20 ) NOT NULL ,
`rang` VARCHAR( 2 ) NOT NULL ,
`team` VARCHAR( 20 ) NOT NULL ,
`gewonnen` INT( 3 ) NOT NULL ,
`verloren` INT( 3 ) NOT NULL ,
`next-gegner` VARCHAR( 20 ) NOT NULL ,
`zeitpunkt` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` )
);") or die ("kann tabelle nicht erstellen");
sprich, es wird nur nuke_4nlan_tuniere_ genommen ,wie könnte man es ändern, das der variablen namen mit genutzt wird ?
mfg
awiniag
danke erst mal für die hilfen 
|
|
|
26.12.2004, 20:53
|
#9
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
|
Woher kommt denn die Variable $datenbankname? Per post/get? Dann solltest du auch $_POST["datenbankname"] verwenden, oder die Variable vorher abfangen:
$datenbankname = $_POST["datenbankname"];
__________________
Zwei Dinge sind Unbestreitbar:- In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
- Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
|
|
|
26.12.2004, 21:39
|
#10
|
|
TP-Junior
Registriert seit: Dec 2004
|
die kommt aus nem formular ( wo man eigentlich den tabellen namen eingeben soll) was oben schon method=\"POST\" da stehen hat.
hab es auch mal mit $datenbankname = $_POST["datenbankname"];
versucht, geht trotzdem nicht... ich poste mal mein komplettes script:
PHP-Code:
if($Submit == _lan100) {
global $admin, $bgcolor2, $prefix, $dbi, $datenbankname;
$datenbankname = $_POST["datenbankname"];
mysql_query("CREATE TABLE `nuke_4nlan_tuniere_".$datenbankname."` (
`id` INT( 9 ) NOT NULL AUTO_INCREMENT ,
`tuniername` VARCHAR( 20 ) NOT NULL ,
`rang` VARCHAR( 2 ) NOT NULL ,
`team` VARCHAR( 20 ) NOT NULL ,
`gewonnen` INT( 3 ) NOT NULL ,
`verloren` INT( 3 ) NOT NULL ,
`next-gegner` VARCHAR( 20 ) NOT NULL ,
`zeitpunkt` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` )
);") or die ("kann tabelle nicht erstellen");
Header("Location: admin.php?op=neue-tuniere");
exit;
}
###########################################################
function lanmain() {
global $admin, $bgcolor2, $prefix, $servername, $serverbesitzer, $serverip, $servercpu, $serverram, $serverhdd, $serveros, $serverlanspeed, $serverdienste, $sponstext,$dbi,$version,$goingtext ,$notgoingtext,$goingselect,$notgoingselect,$goingok ,$notgoingok,$infotext,$eventdate,$location ,$details ,$games,$requirments ,$rules, $suggestions ,$adminemail, $tuniereins, $tunierzwei,$tunierdrei,$tuniervier,$tunierfuenf,$tuniersechs,$tuniersieben,$tunieracht;
include ("header.php");
GraphicAdmin();
include("navi-tuniere.php");
print"<br>";
OpenTable();
print"<table width=\"100%\" border=\"1\" cellspacing=\"7\" cellpadding=\"0\">
<tr>
<td><div align=\"center\">Neues Tunier erstellen:</div></td>
</tr>
<tr>
<td>
<form action=\"\" method=\"POST\">
<table width=\"400\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"2\">
<tr>
<td>Schritt 1 von 2</td>
</tr>
<tr>
<td>Datenbankname:
<input name=\"textfield2\" type=\"$datenbankname\" value=\"z.B. CoDeinsvseins\">
</td>
</tr>
<tr>
<td>Name des Tuniers:
<input name=\"text\" type=\"tuniername\" value=\"Spiel + Art\">
</td>
</tr>
<tr>
<td><div align=\"center\">
<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td>
<div align=\"center\">
<input type=\"submit\" name=\"Submit\" value=\""._lan100."\">
</div>
</td>
</tr>
</table>
</div></td>
</tr>
</table>
</form>
</td>
</tr>
</table>";
CloseTable();
print "<br>";
include("footer.php");
}
|
|
|
26.12.2004, 23:44
|
#11
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
|
Folgender Code stammt von deinem html Forumlar:
Code:
<td>Datenbankname:
<input name=\"textfield2\" type=\"text\" value=\"z.B. CoDeinsvseins\">
</td>
Also heißt es auch richtig:
Code:
$datenbankname = $_POST["textfield2"];
Sollte selbsterklärend sein, warum es nicht geklappt hat! 
__________________
Zwei Dinge sind Unbestreitbar:- In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
- Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Geändert von Dennis The Menace (26.12.2004 um 23:46 Uhr).
|
|
|
27.12.2004, 12:43
|
#12
|
|
TP-Junior
Registriert seit: Dec 2004
|
lol... sorry, hab mich da einwenig vertan. danke fein für die hilfe
jetzt geht es. *michganzdollfreu*
wie kann ich den nun die variable datenbankname mit zum auswerten in den nächsten schritt übernehmen,man weiß ja nicht welcher name gewählt wurde. hatte mir ja sowas gedacht wie include, aber da nimmt er ja die ganze seite...
könnte man die variable irgendwo temporär zwischenspeichern?
mfg
awiniag
Geändert von awiniag (27.12.2004 um 12:51 Uhr).
|
|
|
27.12.2004, 15:30
|
#13
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
|
Zitat:
|
könnte man die variable irgendwo temporär zwischenspeichern?
|
Jopp, dass geht mit Sessions.
http://php.net/Session
Funktioniert ganz einfach. Zu beginn jeder php Seite, die aufgerufen werden kann:
session_start();
schreiben, und sämtliche Variablen, die du in $_SESSION["irgendwas"] speicherst, kannst du dann auf anderen Seiten weiterverwenden!
__________________
Zwei Dinge sind Unbestreitbar:- In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
- Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
|
|
|
27.12.2004, 20:19
|
#14
|
|
TP-Junior
Registriert seit: Dec 2004
|
danke für den tipp, ich vrusche mich mal damit, wenn ich es nicht hinbekomme, melde ich mich wieder
schönen abend noch
awiniag
|
|
|
28.12.2004, 11:12
|
#15
|
|
TP-Junior
Registriert seit: Dec 2004
|
hey ho.. ich bin es noch einmal ... wünsche einen schönen guten morgen
ich bekomm es nicht hin *g*
ich weiß inzwischen das ich halt :
PHP-Code:
session_start();
$datenbankname = $_SESSION['datenbankname'];
als aller erstes oben stehen haben muss & das ich mit hilfe der SID auf eine andere seite verweisen muss um die $_SESSION zu übergeben
hab dies so versucht:
PHP-Code:
################### seite 1 ####################
session_start();
$_SESSION['datenbankname'] = '$datenbankname';
if($Submit == _lan100) {
global $admin, $bgcolor2, $prefix, $dbi, $datenbankname;
$datenbankname = $_POST["datenbankname"];
mysql_query("CREATE TABLE `nuke_4nlan_tuniere_".$datenbankname."` (
`id` INT( 9 ) NOT NULL AUTO_INCREMENT ,
`tuniername` VARCHAR( 20 ) NOT NULL ,
`rang` VARCHAR( 2 ) NOT NULL ,
`team` VARCHAR( 20 ) NOT NULL ,
`gewonnen` INT( 3 ) NOT NULL ,
`verloren` INT( 3 ) NOT NULL ,
`next-gegner` VARCHAR( 20 ) NOT NULL ,
`zeitpunkt` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` )
);") or die ("kann tabelle nicht erstellen");
Header("Location: admin.php?op=neue-tuniere2" . SID . "");
exit;
}
############## seite 2 #######################
session_start();
if($Submit == _lan100) {
global $admin, $bgcolor2, $prefix, $dbi, $datenbankname;
sql_query("INSERT INTO ".$prefix."_4nlan_tuniere_".$_SESSION['datenbankname']." (tuniername) VALUES ('$tuniername ')",$dbi) or die ("kann tuniernamen nicht eintragen");
Header("Location: admin.php?op=neue-tuniere3" . SID . "");
exit;
}
es kommt aber dann leider das raus:
HTML-Code:
Table 'meineseite.nuke_4nlan_tuniere_$datenbankname' doesn't exist
kann tuniernamen nicht eintragen
quasi, das er nicht die variable $datenbankname kennt. gibt es vielleicht eine leichtere sinvollere methode meine idee zu realisieren? sprich ein formular,wo mit ich eine tabelle erstelle und dort 2 einträge drin vor genommen werden. so bräuchte ich nicht so viel schreiben *G*.
mfg
awiniag
edit: hab das problem gelöst. schreibe sofort nachdem erstellen in die tabelle. wußte nicht das es so geht *G*. ist viel weniger zum schreiben und geht schneller  . danke für die ganzen hilfen. einen schönen tag euch noch.
edit2: jetzt ist nur noch die frage, wenn ich mehrere tabellen angezeigt haben will, also die namen, was muß ich da für ein befehl verwenden... ich wollt es so machen, das man die namen unter einander aufgelistet bekommt und sie dann anwählen und löschen kann. bei einzelnen einträgen weiß ich ja wie es geht, aber nicht bei tabellen.
mfg awiniag
Geändert von awiniag (28.12.2004 um 11:39 Uhr).
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
| | |