Sida 1 av 1

Integrera admin.php i me6

InläggPostat: 21 okt 2018, 22:34
av Marxesso
Tjenare
Lyckas inte få min update att fungera när jag integrerar den i me6, om jag däremot kör vanlig phpsida så funkar den. Är det något jag har missat och isåfall kan ni guida mig i rätt väg?
Har mestadels följt Kennets kmom06


<-----process.php---->
<?php
include "config.php";
include "session/src/functions.php";
// om inte type finns, så blir de en tom sträng, om inte ID finns då blire null
$id = $_POST["id"] ?? null;
$type = $_POST["type"] ?? "";
$color = $_POST["color"] ?? "";
$amount = $_POST["amount"] ?? 0;
//action för att veta vilken knapp man trycker på
$action = $_POST["action"] ?? "";

$db = connectToDatabase($dsn);

if ($action == "Create") {
$stmt = $db->prepare("INSERT INTO fruits (Type, Color, Amount) VALUES (?, ?, ?)");
$params = [$type, $color, $amount];
$stmt->execute($params);
}

if ($action == "Update") {
$stmt = $db->prepare("UPDATE fruits SET Type = ?, Color = ?, Amount = ? WHERE Id = ?");
$params = [$type, $color, $amount, $id];
$stmt->execute($params);
}
if ($action == "Delete") {
$stmt = $db->prepare("DELETE FROM fruits WHERE id = $id");
$stmt->execute();
}

header("Location: admin.php?page=read");

<----update.php---->
<?php

include "session/src/functions.php";
include "config.php";

$db = connectToDatabase($dsn);
$fruit = $_GET["fruit"] ?? null;
$res = getOne($db, $fruit);
//print_r($res);


?>

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Update</title>
</head>
<body>
<div class="content">
<form action="admin.php?page=process" method="POST">
<label for="id">Id: </label>
<input type="text" name="Id" id="Id" value="<?=$res["Id"]?>" readonly>
<label for="type">Type: </label>
<input type="text" name="type" id="type" value="<?=$res["Type"]?>">
<label for="color">Color: </label>
<input type="text" name="color" id="color" value="<?=$res["Color"]?>">
<label for="amount">Amount: </label>
<input type="number" name="amount" id="amount" value="<?=$res["Amount"]?>">
<input type="submit" name="action" value="Update">
</form>

</div>

</body>
</html>

<----functions.php---->

function printFruitsResultsetToHTMLTable($res)
{
//$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
//echo "<pre>", print_r($res, true), "</pre>";
$rows = "";

foreach ($res as $row) {
$rows .= "<tr><td>{$row["Id"]}</td>";
$rows .= "<td>{$row["Type"]}</td>";
$rows .= "<td>{$row["Color"]}</td>";
$rows .= "<td>{$row["Amount"]}</td>";
$rows .= "<td><a href ='admin.php?page=update&fruit={$row["Id"]}'>Update</a> | <a href ='admin.php?page=delete&fruit={$row["Id"]}'>Delete</a></td></tr>";
}
return $rows;
}
function getOne($db, $fruit)
{
$params = [$fruit];
$stmt = $db->prepare("SELECT * FROM fruits WHERE Id = ?");
$stmt->execute($params);
// get the reults as an array with columns names as arary keys
return $stmt->fetch();

}

<----- read.php ----->


<?php
include "session/src/functions.php";
include "config.php";


$db = connectToDatabase($dsn);

//prepare and execute the SQL statement
$stmt = $db->prepare("SELECT * FROM fruits");
$stmt->execute();
// get the reults as an array with columns names as arary keys
$res = $stmt->fetchAll();
$rows = printFruitsResultsetToHTMLTable($res);

echo <<<EOD
<table>
<tr>

<th>Id</th>
<th>Type</th>
<th>Color</th>
<th>Amount</th>
<th>Action</th>
</tr>
$rows
</table>
EOD;

Re: Integrera admin.php i me6

InläggPostat: 22 okt 2018, 08:03
av mos
Försök avgränsa problemet till en fil.

Försök se om det är felmeddelande som visas.

Gör exit i processingsidan för att se felmeddelanden där.

Sedan försök avgränsa problemet till en kodsektion.
Använd echo för att skriva ut saker så att du vet vilken kod som exekveras och inte.

Re: Integrera admin.php i me6

InläggPostat: 22 okt 2018, 10:33
av Marxesso
Fick löst det! hade blandat små och stora bokstäver, modifierade databasens tabeller i db så funkade det :)