Bilder einsetzen in Html Seite

devrim

Aktiver NGBler
Registriert
15 Juli 2013
Beiträge
1.072
Ort
/dev/null
Es geht um die Seite arenahilfe.de

Ich würde dort gerne Bilder einsetzen. Könnte mir da jemand helfen?

[src=php]<?php
require_once("Connection.php");

$conn = Connection::getInstance();

function td($content) {
return "<td>" . $content . "</td>";
}

function input($value, $name, $placeholder) {
return "<div class='input-control text'><input type='text' value='" . $value . "' name='" . $name . "' placeholder='" . $placeholder . "' /></div>";
}

function hidden($content) {
return "<span class='hidden'>" . $content . "</span>";
}

function input_hidden($name, $content) {
return "<input name='" . $name . "' type='hidden' value='" . $content . "' />";
}

$logged_in = false;
if($_COOKIE["logged_in"] === "true") $logged_in = true;
elseif(isset($_POST["username"]) && isset($_POST["password"])) {
$user = $conn->query("SELECT password FROM user WHERE username = :username", array("username" => $_POST["username"]));
$user = $user->fetch(PDO::FETCH_ASSOC);
if(sha1($_POST["password"]) == $user["password"]) {
setcookie("logged_in", "true");
$logged_in = true;
}
}
if(isset($_GET["delete"])) {
$conn->query("DELETE FROM clash WHERE id = :id", array("id" => $_GET["id"]));
} elseif(isset($_POST["id"]) && (isset($_POST["user"]) && $_POST["user"] != "") && (isset($_POST["guild"]) && $_POST["guild"] != "")) {
if($_POST["id"] == 0) {
$conn->query("INSERT INTO clash (user, guild, continent, notice) VALUES (:name, :guild, :continent, :notice)",
array("name" => $_POST["user"], "guild" => $_POST["guild"], "continent" => $_POST["continent"], "notice" => $_POST["notice"]));
} else {
$conn->query("UPDATE clash SET user = :user, guild = :guild, continent = :continent, notice = :notice WHERE id = :id",
array("user" => $_POST["user"], "guild" => $_POST["guild"], "continent" => $_POST["continent"], "notice" => $_POST["notice"], "id" => $_POST["id"]));
}
}

if(isset($_GET["logout"])) {
setcookie("logged_in", "false");
$logged_in = false;
}

$entries = $conn->queryReturnArray("SELECT * FROM clash");
?>
<html>
<head>
<meta charset="UTF-8" />
<title>Clash</title>

<link href="css/metro.min.css" rel="stylesheet">
<link href="css/metro-icons.min.css" rel="stylesheet">
<link href="css/metro-schemes.min.css" rel="stylesheet">

<link href="css/custom.css" rel="stylesheet">

<script src="js/jquery-2.1.4.min.js" language="javascript"></script>
<script src="js/metro.min.js" language="javascript"></script>
<script src="//cdn.datatables.net/1.10.8/js/jquery.dataTables.min.js" language="javascript"></script>
<script language="javascript">
$(function() {
$("#dataTable").DataTable({
"language": {
"lengthMenu": "Zeige _MENU_ Einträge pro Seite",
"zeroRecords": "Keine Einträge vorhanden",
"info": "Zeige Seite _PAGE_ von _PAGES_",
"infoEmpty": "Keine Einträge vorhanden",
"infoFiltered": "(gefiltert von _MAX_ Einträgen)",
"search": "Suche: ",
"paginate": {
"first": "Erste",
"previous": "<<",
"next": ">>",
"last": "Letzte"
}
}
});
});
</script>
<link rel="shortcut icon" href="favicon.ico">
</head>
<body>
<div class="page-content container" style="margin-top: 30px">
<?php if((isset($_POST["username"]) || isset($_POST["password"])) && !$logged_in) { ?>
<h1 style="color: #AA0000;">Falsche Daten!</h1>
<?php }
if($logged_in) { ?>
<a href="?logout" class="button">Ausloggen</a><br /><br />
<table id="dataTable" class="dataTable hovered bordered border">
<thead>
<th>User</th>
<th>Gilde</th>
<th>Kontinent</th>
<th>Bemerkung</th>
<th> </th>
</thead>
<tfoot>
<th>User</th>
<th>Gilde</th>
<th>Kontinent</th>
<th>Bemerkung</th>
<th> </th>
</tfoot>
<tbody>
<?php
foreach($entries as $entry) {
echo "<tr><form action='index.php' method='POST'>";
echo input_hidden("id", $entry["id"]);
echo td(hidden($entry["user"]) . input($entry["user"], "user", "Username"));
echo td(hidden($entry["guild"]) . input($entry["guild"], "guild", "Gilde"));
echo td(hidden($entry["continent"]) . input($entry["continent"], "continent", "Kontinent"));
echo td(hidden($entry["notice"]) . input($entry["notice"], "notice", "Bemerkung"));
echo "<td><button class='button' type='submit'>Update</button><a href='?delete&id=" . $entry["id"] . "' class='button'>Löschen</a></td>";
echo "</form></tr>";
}
echo "<tr><form action='index.php' method='POST'>";
echo input_hidden("id", 0);
echo td(input("", "user", "Username"));
echo td(input("", "guild", "Gilde"));
echo td(input("", "continent", "Kontinent"));
echo td(input("", "notice", "Bemerkung"));
echo "<td><button class='button' type='submit'>Einfügen</button></td>";
echo "</form></tr>";
?>
</tbody>
</table>
<?php } else { ?>
<button class="button" onclick='var dialog = $("#login_dialog").data("dialog"); dialog.open()'>Login</button><br /><br />
<table id="dataTable" class="dataTable hovered bordered border">
<thead>
<th>User</th>
<th>Gilde</th>
<th>Kontinent</th>
<th>Bemerkung</th>
<th> </th>
</thead>
<tfoot>
<th>User</th>
<th>Gilde</th>
<th>Kontinent</th>
<th>Bemerkung</th>
<th> </th>
</tfoot>
<tbody>
<?php
foreach($entries as $entry) {
echo "<tr>";
echo input_hidden("id", $entry["id"]);
echo td($entry["user"]);
echo td($entry["guild"]);
echo td($entry["continent"]);
echo td($entry["notice"]);
echo td("");
echo "</tr>";
}
echo "<tr><form action='index.php' method='POST'>";
echo input_hidden("id", 0);
echo td(input("", "user", "Username"));
echo td(input("", "guild", "Gilde"));
echo td(input("", "continent", "Kontinent"));
echo td(input("", "notice", "Bemerkung"));
echo "<td><button class='button' type='submit'>Einfügen</button></td>";
echo "</form></tr>";
?>
</tbody>
</table>
<?php } ?>
</div>
<div data-role="dialog" id="login_dialog" class="padding20 dialog" data-close-button="true" data-overlay="true" data-overlay-color="op-dark">
<h1 class="text-light">Login</h1>
<hr class="thin" />
<br />
<form action="index.php" method="POST">
<div class="input-control text">
<input type="text" name="username" placeholder="Nutzername" />
</div>
<br />
<div class="input-control password">
<input type="password" name="password" placeholder="Passwort" />
</div>
<br />
<button class="button" type="submit">Einloggen</button>
</form>
</div>
</body>
<a href="http://www.andyhoppe.com/" title="Besucherzaehler"><img
src="http://c.andyhoppe.com/1439753883" style="border:none" alt="Besucherzaehler" /></a>
</html>[/src]
 

Anhänge

  • Neue Bitmap.jpg
    Neue Bitmap.jpg
    30,3 KB · Aufrufe: 110
Zuletzt bearbeitet:
Was ist jetzt Deine konkrete Frage?

Btw: Kritik an Deinem Kot:
  • Auch in PHP kann man bzw. halbwegs umsetzen. PHP-Funktionen, die ganze HTML-Fragmente zurückgeben, gehen eigentlich gar nicht. Mach stattdessen HTML-Formulare, in denen du PHP-Funktionsaufrufe einbettest und PHP-Klassen für das Model und die Geschäftslogik.
  • GetInstance() riecht nach . Eine global verfügbare Klasse mit innerem Zustand kannst du auch über eine statische Klasse realisieren.
  • Du gibst im Header keinerlei HTML-Version an, was auf HTML5 schließen lässt. Es fehlt der Doctype. Anhand des Quellcodes könnte man aber X-HTML vermuten.
  • Table-Layout kann man machen. Allerdings sind Tabellen Tabellen. Zur Anordnung von Bildern wären wohl Divs besser gesehen.
 
Davon ausgehend, dass Du eine Fremdsoftware verwendest und die nicht umkrempeln willst/kannst, gibt es auch eine unschöne, aber einfache Lösung.

Du kannst um die bestehende Tabelle eine 9-zellige (3x3) Tabelle bauen, wobei die bestehende Tabelle in die horizontal und vertikal mittlere Zelle gesetzt wird.

Gruß, J.
 
  • Thread Starter Thread Starter
  • #4
Was ist jetzt Deine konkrete Frage?

Btw: Kritik an Deinem Kot:
  • Auch in PHP kann man bzw. halbwegs umsetzen. PHP-Funktionen, die ganze HTML-Fragmente zurückgeben, gehen eigentlich gar nicht. Mach stattdessen HTML-Formulare, in denen du PHP-Funktionsaufrufe einbettest und PHP-Klassen für das Model und die Geschäftslogik.
  • GetInstance() riecht nach . Eine global verfügbare Klasse mit innerem Zustand kannst du auch über eine statische Klasse realisieren.
  • Du gibst im Header keinerlei HTML-Version an, was auf HTML5 schließen lässt. Es fehlt der Doctype. Anhand des Quellcodes könnte man aber X-HTML vermuten.
  • Table-Layout kann man machen. Allerdings sind Tabellen Tabellen. Zur Anordnung von Bildern wären wohl Divs besser gesehen.

Das z.B. ich verstehe kein Wort davon.

Ich dachte das jetzt einer sagt, gib mal in zeile 50 das ein für das bild und in 60 für das andere.
Mein Gedanke ist, das es kein grosser Akt sein kann ein Bild einzufügen.
 
Nun ja, du kannst nach <body> auch einfach ein Bild setzen. Ganz normal per <img src="pfad/blah.jpg">. Und das Selbe am Ende. Also vor </body>. Links und rechts neben der Tabelle wird schon komplizierter. Sowas könntest du per lösen.
 
  • Thread Starter Thread Starter
  • #7
eraser ich bin froh das ein user hier mir die Tabelle gemacht hat. Ich kenne mich null, aber so richtig null mit aus.
 
Deshalb habe ich dir auch die Seite verlinkt. Dort steht sogar mit Beispielen, wie man seinen Code sicherer gestalten kann. Den aus deinem Beispiel solltest du definitiv nicht online stellen.
 
Ich kenne mich null, aber so richtig null mit aus.
Wer hat Dich dann an die Aufgabe rangesetzt?

Ok, es ist nur 'ne Webseite.

Der Quelltext ist leider ein Musterbeispiel dafür, warum PHP so verflucht wird. Ich hab früher mal richtig gern in PHP Webseiten gebaut. Macht man das richtig sauber, dann gibt's wenig Unterschiede zu C++, Java & Co. Leider macht PHP es einem aber auch richtig einfach, richtig dreckigen Quellcode zu produzieren (= Deine Seite).

Tu der Welt einen Gefallen: Lern entweder programmieren, oder setz jemanden ran, der wenigstens die Grundlagen davon beherrscht.
 
Das z.B. ich verstehe kein Wort davon.

Ich dachte das jetzt einer sagt, gib mal in zeile 50 das ein für das bild und in 60 für das andere.
Mein Gedanke ist, das es kein grosser Akt sein kann ein Bild einzufügen.

Natürlich ist das nicht so schwer und um so schlimmer ist, dass du es nicht selbst hinbekommst.
Dir könnte hier jeder so ziemlich alles hin schreiben und du müsstest wohl davon ausgehen, dass das, das ist, was du möchtest.
Und.. letztlich haftest du für alles, was auf deinem Webspace/Server passiert. Deshalb ist es wichtig, dass du verstehst, was du tust. :unknown:

Die Kritik von musv an dem Code ist berechtigt. Eine saubere Trennung zwischen Model, View und Controller macht aus diversen Gründen Sinn. Schon allein für Entwickler, die den Code lesen und verstehen müssen. Dazu hat er dir sogar mindestens einen sehr ausführlichen Artikel verlinkt. Auch die anderen Punkte sind nicht verkehrt. Zum fehlenden DocType, müsste sowieso Quirksmode verwendet werden.
Wenn du wirklich keinen der von musv angeführten Punkte verstehst, dann solltest du dich mit den Grundlagen von Webdesign, PHP und SQL auseinandersetzen.
 
  • Thread Starter Thread Starter
  • #11
Ich habe mich damit auseinandergesetzt. Mit der Folge, das ich die Seite jetzt gelöscht habe.
Um ehrlich zu sein kann ich jetzt keine Grundlagenforschung betreiben.

Würde ich soetwas längerfristig machen, dann würde ich mich damit auseinandersetzen. Aber mir scheint es gerade so, als ob ich Meeresbiologie studieren müsste
um einmal einen Fisch zu essen.

Ich bin zur Zeit mit Arduino und C++ am üben und muss parallel dazu noch Pyhton wegen FHEM und meiner Hausautomatisierung in den Griff kriegen.
Und wenn ich dann jetzt noch mitkriege, das mir hier skripte untergejubelt werden wo Tür und Tor offen stehen, dann höre ich lieber auf.
 
Klein anfangen und eins nach dem anderen.
Wenn du unbedingt eine Webseite brauchst, dann setz dir bspw. Wordpress auf. Du kannst dann vielleicht nicht alles perfekt 1 zu 1 so gestalten, wie du es möchtest, aber immerhin kannst du dir sicher sein, dass das CMS einigermaßen sicher ist. Von Plugins und Themes mal abgesehen.
 
Zurück
Oben