Formulardaten in txt schreiben + Datenbank erstellen
planloser
- php
hi, ich hab eine Datei mit Formular, welches die Daten per $_POST an sich selbst schickt.
Aus diesen Daten sollen mit ";" getrennt in eine txt geschrieben werden.
Zudem soll eine Tabelle in einer SQL-Datenbank erstellt werden.
könnt ihr mir meine Fehler sagen??
<?php
if (isset ($_POST['db-host']) && ($_POST['db-user']) && ($_POST['db-pw']) && ($_POST['db-name']) && ($_POST['db-user']) && ($_POST['admin']) && ($_POST['ad_pw']))
{
//Variablen setzen
$dbhost = $_POST['db-host'];
$dbuser = $_POST['db-user'];
$dbpw = $_POST['db-pw'];
$dbname = $_POST['db-name'];
//Datenbankverbindung testen
$sqlt1 = mysql_pconnect($dbhost, $dbuser, $dbpw);
$sqlt2 = mysql_select_db($dbname);
mysql_close();
if ($sqlt1 == FALSE)
{
echo '<pf>Verbindungstest: fehlgeschlagen (Eigaben überprüfen!)<pf>';
}
else
{
echo '<pg>Verbindungstest: erfolgreich<pg>';
if ($sqlt2 == FALSE)
{
echo '<pf>Datenbank konnte nicht ausgewählt weden (DB-Name überprüfen!)<pf>';
}
else
{
echo '<pg>Datenbank auswählen: erfolgreich<pg>';
//Datenbank erstellen
mysql_connect($dbhost, $dbuser, $dbpw);
mysql_select_db($dbname);
$sql1 = "CREATE TABLE sp_daten (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
spname VARCHAR(20) NOT NULL,
jahrg INT(4) NOT NULL,
pos VARCHAR(25) NOT NULL,
vorbild VARCHAR(20) NOT NULL,
vereineVARCHAR(50) NOT NULL,
motto TEXT NOT NULL,
bildname VARCHAR(15) NOT NULL,
PRIMARY KEY (id
)"
$erg = mysql_query($sql1);
mysql_close();
if ($erg == FALSE)
{
echo '<pf>Tabelle konnte in der Datenbank nicht erstellt weden!<pf>';
}
else
{
echo '<pg>Tabelle erstellen: erfolgreich<pg>';
//cfg schreiben
$handle = fopen ('cfg2.txt', 'w+'); //mehr bekomm ich nicht zu stande
}
}
}
}
else { echo ('<pf>Es sind nicht alle Felder gefüllt</pf>');
}
?>
Hi,
könnt ihr mir meine Fehler sagen??
nicht ohne eine Fehlerbeschreibung von Dir.
Cheatah
if (isset ($_POST['db-host']) && ($_POST['db-user']) && ($_POST['db-pw']) && ($_POST['db-name']) && ($_POST['db-user']) && ($_POST['admin']) && ($_POST['ad_pw']))
{
Ich weiß nicht ob mir irgendwas entgangen ist, aber normalerweise müsste man doch wenn man alle POST-Einträge mit isset() überprüfen will, auch alle Werte an die Funktion isset() übergeben.
if (isset($_POST['db-host']) && isset($_POST['db-user']) && isset($_POST['db-pw']) && isset($_POST['db-name']) && isset($_POST['db-user']) && isset($_POST['admin']) && isset($_POST['ad_pw']))
funktionieren tuts aber auch so
(und auch so, wie es von mir beabsichtigt ist)
funktionieren tuts aber auch so
(und auch so, wie es von mir beabsichtigt ist)
Du fragst damit quasi für jedes ab if($_POST[dbuser]), ...
Sollte irgendwo FALSE oder etwas gleichbedeutendes (0, NULL) drin stehen, so würde der if-Zweig insgesamt nicht durchlaufen. Die Funktion isset() wird nur bei der ersten Bedingung angewandt. Dort könnte auch einer der obigen Werte TRUE ergeben.
//Datenbank erstellen
mysql_connect($dbhost, $dbuser, $dbpw);
mysql_select_db($dbname);
Zeile 149: »» $sql1 = "CREATE TABLE sp_daten (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
spname VARCHAR(20) NOT NULL,
jahrg INT(4) NOT NULL,
pos VARCHAR(25) NOT NULL,
vorbild VARCHAR(20) NOT NULL,
vereineVARCHAR(50) NOT NULL,
motto TEXT NOT NULL,
bildname VARCHAR(15) NOT NULL,
PRIMARY KEY (id
)"
$erg = mysql_query($sql1);
mysql_close();
hier bringt er folgenden Fehler:
Parse error: syntax error, unexpected T_VARIABLE in /usr/export/www/hosting/.../install.php on line 149
Außerdem scheinen die KLammern am Ende falsch zu sein (ende der If-Else)
Hallo,
hi, ich hab eine Datei mit Formular, welches die Daten per $_POST an sich selbst schickt.
Die Ausgabe des Scripts ist also (X)HTML?
echo '<pf>Verbindungstest: fehlgeschlagen (Eigaben überprüfen!)<pf>';
echo '<pg>Verbindungstest: erfolgreich<pg>';
echo '<pg>Datenbank auswählen: erfolgreich<pg>';
echo '<pf>Tabelle konnte in der Datenbank nicht erstellt weden!<pf>';
echo '<pg>Tabelle erstellen: erfolgreich<pg>';
else { echo ('<pf>Es sind nicht alle Felder gefüllt</pf>');
Was sind dann <pf> und <pg> für phantasievolle Tags? Zumal du nicht, wie ich erwarten würde, ein öffnendes und ein schließendes Tag verwendest, sondern ausschließlich öffnende (oder leere).
Egal wie - du kannst nicht einfach neue HTML-Elemente erfinden. In besten Fall ignoriert sie der Browser.
So long,
Martin
as ganze ist PHP! <pf> und <pg> brauche ich nur für css - wobei ich zugeben muss, dass ich da Detliche male das "/" vergessen habe.
Das meinte ich jetzt aber nicht mit meinem Problem. - Ich wollte wissen, wie ich die Tabelle richtig erstelle und wie ich die Variablen in die txt bekomme.
Hallo,
as ganze ist PHP!
natürlich, so schlau war ich auch. Aber dein PHP-Script gibt trotzdem HTML-Code aus, oder?
<pf> und <pg> brauche ich nur für css
Sowas habe ich vermutet. Trotzdem: Du kannst nicht einfach neue HTML-Elemente erfinden. Auch nicht, um sie mit CSS zu gestalten. Ich weiß, Firefox akzeptiert das und wendet das CSS sogar an. Aber du darfst nicht davon ausgehen, dass CSS reproduzierbare Ergebnisse liefert, wenn es auf invalides HTML angewendet wird (der IE beispielsweise ignoriert das einfach).
Wenn du Elemente nur verwenden willst, um einen Ansatzpunkt für CSS zu haben, ohne dass die im HTML eine Wirkung haben, dann nimm span-Elemente mit einer Klasse oder ID. Oder noch besser: Wende dein CSS auf das übergeordnete Element an, verfeinere das soweit nötig mit dem Nachfahrenselektor. Wenn dein Dokument sinnvoll strukturiert ist, dann ist die Chance sehr groß, dass du diese zusätzlichen Elemente nicht brauchst.
So long,
Martin
der SQL Teil hatte einige Fehler, habe diese aber gefunden!
Wie schreibe ich jetzt die Daten in eine TXT???
Hallo
der SQL Teil hatte einige Fehler, habe diese aber gefunden!
Inclusive dem fehlenden Semikolon in Zeile 149? ;-)
Wie schreibe ich jetzt die Daten in eine TXT???
Man öffne eine Datei (fopen()
), schreibe die gewünschten Zeichen hinein (fputs()
) und schließe die Datei (fclose()
).
Weitere Infos: PHP-Manual: Funktionen des Dateisystems
Tschö, Auge