Kai: Fehler im Code! Nr:1064 Bitte helfen

Hallo, ich bin gerade da bei mir PHP näher zu bringen, doch leider kann ich mein jetztiges Problem nicht mit hilfe meiner Bücher und online Scripte lösen! Da ich aber weiß, dass hier immer viele Leute sind die mir bestimmt helfen können möchte ich hir um hilfe bitten!

Also ich habe ein Formular erstellt welches in meiner SQL Datenbank bei einer Tabelle schaut welche Variablen vorhanden sind. Dies ist ja auch noch kein Problem. s. 1. Script!!!

<font  color="#FF6633">

<?php

$Host     = $_GET['host'];
$db_name  = $_GET['db_name'];
$User     = $_GET['user'];
$Password = $_GET['password'];
$Tablename = $_GET['tablename'];

print ("<div align=center> ");
print ("<h1>Dateneingabe!!!</h1>");
print ("<table width=400 height=>");
print ("<form action=maske.php method='Get'>");
print ("<tr>");
print ("<td>Verwendeter Hostname =</td>");
print ("<td><input type=text name=host value=$Host></td>");
print ("</tr>");
print ("<tr>");
print ("<td>Benutzername</td>");
print ("<td><input type=text name=user value=$User></td>");
print ("</tr>");
print ("<tr>");
print ("<td>Password Eingabe</td>");
print ("<td><input type=password name=password value=$Password></td>");
print ("</tr>");
print ("<tr>");
print ("<td>Name der Datenbank</td>");
print ("<td><input type=text name=db_name value=$db_name></td>");
print ("</tr>");
print ("<tr>");
print ("<td>Name der zubearbeidende Tabelle</td>");
print ("<td><input type=text name=tablename value=$Tablename></td>");
print ("</tr>");
print ("<td></td>");
print ("<td></td>");
print ("<td><input type= password name=var value=verwaltung_eingabe.php  readonly></td>");
print ("</tr></div>");
print ("</table>");
print ("<br><br>");

echo "<table width=500 >";
        echo "<tr bgcolor=#C0C0C0><td width=100>Variable</td>";
        echo "<td width=75 align=center>Text</td>";

$db = @mysql_connect($Host, $User, $Password)
    or die ("Verbindungsaufnahme mit MySQL-Server fehlgeschlagen!");

@mysql_list_fields($db_name, $Tablename, $db)
    or die ("Die Verbindung mit der Datenbank ist fehlgeschlagen!");
    $result =mysql_list_fields($db_name, $Tablename, $db);

if($result) {
        for($i = 0; $i < mysql_num_fields($result); $i++) {

echo "<tr><td>".mysql_field_name($result, $i)."</td>";
        echo "<td><input type=text name=".mysql_field_name($result, $i)." value=".mysql_field_name($result, $i)." maxlength=500></td>";

}

}
        else {
        echo "Beim versuch die Tabelle auszulesem trat ein Fehler auf:
                <b>".mysql_errno($db)."</b><br>\nFehler-Ausgabe:
                <b>".mysql_error($db)."</b>";
                }

echo "<td><input type=text name=anzahlvar value=".mysql_num_fields($result)."  readonly></td>";
print ("<tr><td></td><td><br><input type=submit name=submit value=Eingabe></td></tr>");
    echo "</table>";
?>

Mit diesem Script werden die Variablen gefunden und ich habe die Möglichkeit Date einzugeben.
Jetzt mein Problem! Wie kann ich in der Ergebnis Datei dem Sever sagen, wieviele Variablen ankommen und das gerade diese ankommen.
Ich habe da mal was versucht jedoch funktioniert meine Schleife nicht.

Script 2 mit Fehler:

<?php

$Host     = $_GET['host'];
$db_name  = $_GET['db_name'];
$User     = $_GET['user'];
$Password = $_GET['password'];
$Tablename = $_GET['tablename'];
$anzahlvar = $_GET['anzahlvar'];

print ("<div align=center> ");
print ("<h1>Dateneingabe!!!</h1>");
print ("<table width=400 height=>");
print ("<form action=maske.php method='Get'>");
print ("<tr>");
print ("<td>Verwendeter Hostname =</td>");
print ("<td><input type=text name=host value=$Host></td>");
print ("</tr>");
print ("<tr>");
print ("<td>Benutzername</td>");
print ("<td><input type=text name=user value=$User></td>");
print ("</tr>");
print ("<tr>");
print ("<td>Password Eingabe</td>");
print ("<td><input type=password name=password value=$Password></td>");
print ("</tr>");
print ("<tr>");
print ("<td>Name der Datenbank</td>");
print ("<td><input type=text name=db_name value=$db_name></td>");
print ("</tr>");
print ("<tr>");
print ("<td>Name der zubearbeidende Tabelle</td>");
print ("<td><input type=text name=tablename value=$Tablename></td>");
print ("</tr>");
print ("<td></td>");
print ("<td></td>");
print ("<td><input type= password name=var value=dateneingabeform2.php  readonly></td>");
print ("</tr></div>");
print ("</table>");
print ("<br><br>");

$db = @mysql_connect($Host, $User, $Password)
    or die ("Verbindungsaufnahme mit MySQL-Server fehlgeschlagen!");

@mysql_list_fields($db_name, $Tablename, $db)
    or die ("Die Verbindung mit der Datenbank ist fehlgeschlagen!");
    $result =mysql_list_fields($db_name, $Tablename, $db);

//$variname = "for($i = 0; $i < mysql_num_fields($result); $i++) { .mysql_field_name($result, $i)., }";
$variname = "mysql_field_name($result, $i)";
//$variname = "datum";

@mysql_select_db($db_name, $db)
    or die ("Die Verbindung mit der Datenbank ist fehlgeschlagen!");
    $sql_insert = "Insert INTO $tablename ( $variname)
      Values ('$variname' )";
        $result = mysql_query($sql_insert, $db);
                if($result) {
                echo "Datensatz ist erfolgreich eingefügt worde.";
        }

else {
        echo "Beim versuch die Tabelle auszulesem trat ein Fehler auf:
                <b>".mysql_errno($db)."</b><br>\nFehler-Ausgabe:
                <b>".mysql_error($db)."</b>";
                }

print ("<tr><td></td><td><br><input type=submit name=submit value=Eingabe></td></tr>");
    echo "</table>";
?>

  1. Ich noch mal, als mein Fehler muß ich diesem Bereich des Scriptes liegen!
    Es währe schon wenn die Anweisung $sql_insert solange nach variablen aus der Tabelle sucht bis keine mehr da sind, das müßte doch mit "mysql_field_name($result, $i)"; gehen, aber wie baue ich es ein???
    Mit dem Anschließenden Inhalt habe ich dann auch das selbige Problem!

    $db = @mysql_connect($Host, $User, $Password)
        or die ("Verbindungsaufnahme mit MySQL-Server fehlgeschlagen!");

    @mysql_list_fields($db_name, $Tablename, $db)
        or die ("Die Verbindung mit der Datenbank ist fehlgeschlagen!");
        $result =mysql_list_fields($db_name, $Tablename, $db);

    //$variname = "for($i = 0; $i < mysql_num_fields($result); $i++) { .mysql_field_name($result, $i)., }";
    $variname = "mysql_field_name($result, $i)";
    //$variname = "datum";

    @mysql_select_db($db_name, $db)
        or die ("Die Verbindung mit der Datenbank ist fehlgeschlagen!");
        $sql_insert = "Insert INTO $tablename ( $variname)
          Values ('$variname' )";
            $result = mysql_query($sql_insert, $db);
                    if($result) {
                    echo "Datensatz ist erfolgreich eingefügt worde.";
            }

    else {

    1. Hi,

      Es währe schon wenn die Anweisung $sql_insert solange nach variablen aus der Tabelle sucht bis keine mehr da sind, das müßte doch mit "mysql_field_name($result, $i)"; gehen, aber wie baue ich es ein???

      hast Du Dir die PHP-Doku zu diesem Befehl mal angesehen? Meinst Du nicht eigentlich einen ganz anderen?

      Cheatah

      --
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. Hallo

        "mysql_field_name($result, $i)";

        Meinst Du nicht eigentlich einen ganz anderen?

        Ich glaube eigentlich schon, dass ich mit diesem Befehl arbeiten kann! Ich möchte halt mit dem Befehl ("mysql_field_name($result, $i)";" die Namen von den Variablen aus der Datenbank lesen welche dort enthalten sind! Jedoch kann ich dann ja nicht den Befehl nur einmal durch laufen lassen, sondern er muß mir so oft werte (die Namen der Variablen) liefern wie bis die letzte erreicht ist!
        Doch mein Problem  ist er lässt scheinbar keine Schleife in dem --> $sql_insert = "Insert INTO $tablename ( ..., ..., ... usw. ) zu!
        Anstelle der (..., ..., ..., ) müßten ja mit Hilfe des Befehls meine Variablen erscheinen, geht aber nicht.

        Vieleicht ist mein Problem jetzt etwas deutlicher. Und du oder ihr könnt mir helfen.

        Danke

  2. Hi,

    <font  color="#FF6633">

    deprecated. Bitte CSS verwenden.

    print ("<div align=center> ");

    Falsche HTML-Schachtelung.

    print ("<h1>Dateneingabe!!!</h1>");

    Schlechtes Deutsch.

    print ("<table width=400 height=>");

    *Grotten*falsches HTML.

    print ("<form action=maske.php method='Get'>");

    Nichtliteraler Attributwert ungequotet.

    print ("<td><input type=text name=host value=$Host></td>");
    print ("<td><input type=text name=user value=$User></td>");

    Dito.

    print ("<td><input type=password name=password value=$Password></td>");

    Passwörter ***NIEMALS*** in irgendeinen Code schreiben.

    print ("<td><input type=text name=db_name value=$db_name></td>");
    print ("<td><input type=text name=tablename value=$Tablename></td>");
    print ("<td><input type= password name=var value=verwaltung_eingabe.php  readonly></td>");

    Siehe oben.

    print ("<br><br>");

    Bitte CSS benutzen.

    echo "<tr bgcolor=#C0C0C0><td width=100>Variable</td>";

    Nichtliterale.

    echo "<td><input type=text name=".mysql_field_name($result, $i)." value=".mysql_field_name($result, $i)." maxlength=500></td>";

    Ebenso.

    echo "Beim versuch die Tabelle auszulesem trat ein Fehler auf:

    Falsch HTML-Schachtelung.

    echo "<td><input type=text name=anzahlvar value=".mysql_num_fields($result)."  readonly></td>";

    Schon wieder.

    Jetzt mein Problem! Wie kann ich in der Ergebnis Datei dem Sever sagen, wieviele Variablen ankommen und das gerade diese ankommen.

    Häh?

    print ("<div align=center> ");
    print ("<h1>Dateneingabe!!!</h1>");

    Kommt mir bekannt vor. Bitte Codes auf den *relevanten* Teil kürzen.

    Also: Massenweise HTML-Fehler, aber Dein Problem ist mir überhaupt nicht klar.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Na wenigstens hat sich schon mal wer meiner angenommen!
      Was meist du mit

      Falsch HTML-Schachtelung.

      ??

      Also wegen meiner Problemstellung habe ich eben noch mal geschrieben s. letzte Post!!!

      Es währe schön wenn du mir helfen könntest! Wie gesagt ich bin noch ein noob in PHP, sory. Aber es macht halt Spaß!

      1. Hi,

        Falsch HTML-Schachtelung.
        ??

        die HTML-Elemente dürfen so nicht geschachtelt werden. http://validator.w3.org/ verrät Dir das aber auch.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes