2016-07-01 9 views
0

erstellen, wie der Titel sagt, ich kämpfe mit dem Erreichen dieses. Bis jetzt habe ich es geschafft, eine Verbindung mit der Datenbank herzustellen und Tabellen zu erstellen, aber es fällt mir schwer, das Eingabefeld für die Kommunikation mit der PHP zu bekommen, um die Variable zu kommunizieren. Unten ist mein Code, ist jede Hilfe dankbar:Ich versuche, eine PHP-Seite zu erstellen, die Eingabe nimmt und eine Tabelle mit dieser Eingabe

<html> 
<input type="text" name="firstname" /> 
</html> 

<?php 
$dbserver= "localhost"; 
$dbuser= "nyamamot_live"; 
$dbpass = "co6}]oJ5Db9v"; 
$dbname = "nyamamot_live"; 

//conncet 
$conn = new mysqli($dbserver, $dbuser, $dbpass, $dbname); 
//check 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

// make vars 
$tablename = "MyTable"; 
$col1 = "col1"; 


$firstname = $_POST["firstname"]; 


// sql to create table 
$sql = "CREATE TABLE $tablename (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
$firstname VARCHAR(30) NOT NULL, 
lastname VARCHAR(30) NOT NULL, 
email VARCHAR(50), 
reg_date TIMESTAMP 
)"; 

if ($conn->query($sql) === TRUE) { 
    echo "Table MyGuests created successfully\n"; 
} else { 
    echo "Error creating table: " . $conn->error; 
} 

$conn->close(); 

?> 
+1

Sie reichen das Formular nicht ein. –

Antwort

2

Sie auf eine Schaltfläche benötigen und eine Aktion für das Formular und testen Sie dann sicherstellen, dass es vor dem Ausführen von Code vorgelegt wird:

<html> 
    <form name="myform" action="myphp.php" method="post"> 
     <input type="text" name="firstname" /> 
     <input type="submit" name="submit" /> 
    </form> 
</html> 

Dann Test :

if(isset($_POST['firstname']) && '' != $_POST['firstname']){ 

    $dbserver= "localhost"; 
    $dbuser= "nyamamot_live"; 
    $dbpass = "co6}]oJ5Db9v"; 
    $dbname = "nyamamot_live"; 

//conncet 
    $conn = new mysqli($dbserver, $dbuser, $dbpass, $dbname); 
//check 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 

// make vars 
    $tablename = "MyTable"; 
    $col1 = "col1"; 


    $firstname = $_POST["firstname"]; 


// sql to create table 
    $sql = "CREATE TABLE $tablename (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    $firstname VARCHAR(30) NOT NULL, 
    lastname VARCHAR(30) NOT NULL, 
    email VARCHAR(50), 
    reg_date TIMESTAMP 
    )"; 

    if ($conn->query($sql) === TRUE) { 
     echo "Table MyGuests created successfully\n"; 
    } else { 
     echo "Error creating table: " . $conn->error; 
    } 

    $conn->close(); 
} 

Sie wollen auch sicher, dass Syntax Ihrer Tabellenerstellung machen, ist richtig und alle Variablen in der Anweisung verbrauchen gereinigt und richtig gehandhabt wird.

+1

nicht arbeiten, bitte Form-Tag mit Aktion auch. – Dharam

+0

Formular bearbeitet @Dharam –

+1

Sieht gut aus! Die Person, die die Frage gestellt hat, muss verstehen, dass "myphp.php" der Dateiname ist, unter dem dieser Code geschrieben wurde, sonst können Sie action = "" verwenden, um zur selben Seite zu gelangen. – Dharam

Verwandte Themen