Ich bin auf der Suche nach dem besten Weg, ein PHP-Skript zu überspringen, um direkt an meinen HTML-Code zu übergeben. Hier ein Beispiel:PHP auf der Suche nach dem besten Weg, 'goto' zu verwenden, um PHP-Skript zu überspringen
<?php
include 'ws/main.php';
include 'ws/database/connection.php';
$error = false;
$routes = getCurrentParameters();
if (!isset($routes[0]) && !$error)
{
$error = traduction("No promotion entered in the URL");
goto end;
}
else if (!isset($routes[1]) && !$error)
{
$error = traduction("No page entered in the URL");
goto end;
}
if (!$error)
{
$result = $connection->query("SELECT * FROM promotion WHERE name = '$routes[0]'");
$promo = $result->fetch_row();
if (empty($promo) && !$error)
{
$error = traduction("The promotion '". $routes[0] ."' do not exist");
goto end;
}
else if (!file_exists("page/" . $routes[1] . ".php"))
{
$error = traduction("The page '". $routes[1] ."' do not exist");
goto end;
}
$result = $connection->query("SELECT * FROM traduction WHERE promotion_id = $promo[0]");
$traduction = $result->fetch_all();
}
end:
?>
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Start CSS import -->
<link rel='stylesheet' href='<?php echo BASE_PATH ?>assets/css/bootstrap.css' />
<link rel='stylesheet' href='<?php echo BASE_PATH ?>assets/css/font-awesome.css' />
<link rel='stylesheet' href='<?php echo BASE_PATH ?>assets/css/animate.css' />
<link rel='stylesheet' href='<?php echo BASE_PATH ?>assets/css/main.css' />
<!-- End CSS import -->
</head>
<body>
<?php if (!$error) // If the app do not catch any error
{
include "page/$routes[1].php";
}
else // If the app already catch an error
{
// Include the error.php page
include "page/error.php";
} ?>
<!-- Start JS import -->
<script type='application/javascript' src='<?php echo BASE_PATH ?>assets/js/jquery.js'></script>
<script type='application/javascript' src='<?php echo BASE_PATH ?>libs/js/tether/dist/js/tether.js'></script>
<script type='application/javascript' src='<?php echo BASE_PATH ?>assets/js/bootstrap.js'></script>
<script type='application/javascript' src='<?php echo BASE_PATH ?>assets/js/moment.js'></script>
<script type='application/javascript' src='<?php echo BASE_PATH ?>assets/js/bootbox.js'></script>
<script type='application/javascript' src='<?php echo BASE_PATH ?>assets/js/sweetalert.js'></script>
<script type='application/javascript' src='<?php echo BASE_PATH ?>assets/js/main.js'></script>
<!-- End JS import -->
<script>
$(".img").css("background", "url(<?php echo $promo[2]; ?>) no-repeat center center")
</script>
</body>
</html>
Also, wenn Sie alle meinen Code gelesen haben, weicht nicht kompliziert ist, ich suche nur für den besten Weg, um meinen PHP-Skript zu beenden, in der Spitze, gehen dirrectly zu mein HTML-Code, wenn ich ein Problem in meiner Datenbank habe oder die Informationen nicht übereinstimmen. Derzeit verwende ich die 'goto' Methode mit einem Tag 'end:' am Ende des Skripts. Ich weiß, dass die "Goto" -Methode überhaupt nicht optimal ist, also suche ich nach einem besseren Weg, denn ich bin mir ziemlich sicher, dass es bereits eine existierende Methode gibt.
Bietet PHP 'goto'? Wozu? – axiac
warum brauchst du das 'goto'? Sie haben bereits den 'if (! $ error)' um den Teil des Skripts, den Sie überspringen wollen –
[obligatorischer Link zu xkcds "goto" Comic-Strip] (https://xkcd.com/292/) –