2016-10-29 5 views
-2

私は、すべての顧客をリストアップしたWebフォームを作成しようとしています。次に、顧客のリストを削除ボタンが表示された場所に表示して、データベースから顧客を削除することができます。お客様の名前の追加と削除に使用されるwebformの問題

私はこれを動作させています。まず、PHPスクリプトの内容をエコーし​​ます。私は何をする必要があるかわからない。

<html> 
<body> 

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "manager"; 

$conn = new mysqli($servername, $username, $password, $dbname); 

if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT url from customers"; 
$result = $conn->query($sql); 

$tempArray = array(); 
if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     $tempArray[] = $row["url"]; 
    } 
} else { 
    echo "0 results"; 
} 
$conn->close(); 
?> 

<table> 
<tr> 
    <td><u>URL</u></td> 
    <td><u>Action</u></td> 
</tr> 
<?php foreach ($tempArray as $row) : ?> 
<tr> 
    <td><?php echo $row; ?></td> 
    <td><form action="disable_customer.php" method="get"><input type="submit" name="url" value="Disable Customer2"/></form></td> 
</tr> 
<?php endforeach; ?> 
</table> 

<form action="add_customer.php" method="get"> 
<input type="text" name="url"> <input type="submit" name="add" value="Add Customer"/> 
</form> 

</body> 
</html> 

はここに私のadd_customers.phpファイルです:

<html> <body> 

Added <?php echo $_GET['url']; ?><br> 

<?php 

$servername = "localhost"; $username = "root"; $password = "test123"; $dbname = "manager"; 

// Create connection $conn = new mysqli($servername,$username,$password,$dbname); // Check connection if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); } 

$sql = "INSERT INTO customers (url) VALUES ('$url')"; 

if ($conn->query($sql) === TRUE) { 
    echo "New record created successfully"; } else { 
    echo "Error: " . $sql . "<br>" . $conn->error; } 

$conn->close(); ?> 

</body> </html> 

はここに私のdisable_customer.phpファイルです:

<html> 
<body> 

<$php 
session_start(); 
$SESSION['username']="Test"; 
$SESSION['authuser']=1; 

$url = $_GET['url']; 
echo "<br>" . $url . "<br>"; 

$servername = "localhost"; 
$username = "root"; 
$password = "test123"; 
$dbname = "manager"; 

// Create connection 
$conn = new mysqli($servername,$username,$password,$dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
if (isset($_REQUEST["btn_submit"])) { 
    echo "yyyyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayyyyyyyyyy"; 
} 

$sql = "DELETE FROM customers WHERE customers.url = " . "'$url'"; 
echo "---------------------\n"; 
echo $sql . "\n"; 
echo "---------------------\n"; 
if ($conn->query($sql) === TRUE) { 
    echo "Record successfully deleted."; 
} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 

$conn->close(); 
?> 

</body> 
</html> 
+1

それは<あるべきライン上のPHP:?disable_customer.php 4ファイルではありません<$ php –

+0

ありがとう。私はそれを修正しましたが、今はそれをエコーし​​ます--------------------- customers.url = 'Disable Customer2' --------- ------------レコードが正常に削除されました。 – ZDog

+0

これはあなたがここにエコーしたからです - 'echo $ sql。 "\ n"; "とその周りの4行。レコードは今データベースから削除されているはずです。 –

答えて

0

インデックスを変更してみてください

は、ここに私のindex.phpファイルです。これからのPHP:

これに

<form action="disable_customer.php" method="get"> 
put the url in here: <input type="text" name="url"/> 
<input type="submit" value="submit"/> 
</form> 

それがはたらく場合 - しかし、あなたは、ユーザーが自分のURLを入力したくない - あなたが最初のデータベースのうち、それらのURLを読んでする必要があります。

ボタンの「値」属性に出力するためのURLの値をforeachのを変更、バックindex.phpの中にあなたの元のコードに行く:

<?php foreach ($tempArray as $row) : ?> 
    <tr> 
     <td><?php echo $row; ?></td> 
     <td><form action="disable_customer.php" method="get"><input type="submit" name="url" value="<? echo $row['url'] ?>"/></form></td> 
    </tr> 
<?php endforeach; ?> 
+0

ありがとうサイモン。ユーザーが削除したい顧客の名前を入力する必要がないため、2番目の提案を試しました。今、私は、各ユーザーの名の横にいくつかのボタンを取得し、各ボタンには、ラベル、次のしている: '
警告を:オフセット不正な文字列を「ウル」Cで:\ xamppの\ htdocsに\行にのindex.php
y' – ZDog

+0

さて、私はこれを考え出したと思います。 – ZDog

関連する問題