Design mit persönlichem Touch!

Mein Notizblock

Hier schreibe ich alle möglichen Dinge auf, die ich mir im Zusammenhang mit Webdesign und sonstigem Design merken möchte. Falls jemand hier was Brauchbares für sich findet, fein! Falls jemand zu einem Thema weitere Vorschläge oder Verbesserungen weiß, nur her damit!

Back
Datenbanken, PhP und sowas...
December 20th, 2014 7:35 pm
Für ein neues Projekt hab ich mir ausgedacht, dass ich gerne Artikel schreiben möchte und diese dann in einer Datenbank haben möchte, die dann im nächsten Schritt irgendwann auch per php auf einer anderen Seite wieder ausgelesen werden können... 

Für mich als noob tatsächlich eine anspruchsvolle Aufgabe... dank Internet aber lösbar... 

Also - hier eine Beschreibung für den ersten Schritt, nämlich:

1. Datenbank anlegen! 


Ich hab mir also überlegt, welche Eigenschaften so ein Artikel haben könnte und welche ich eventuell brauchen könnte, um in der Zukunft diese Artikel auch gut auslesen zu können... Zuerst ist also wichtig einmal eine Vorstellung davon zu haben, was man tun will... ich hab mich dann für eine Datenbank entschieden, die ich schlicht und einfach "artikel" genannt hab. 

Wichtig ist, eine Art Index zu haben in der Datenbank - daher gibt es zum einen als Eigenschaft für einen Artikel eine "id". Für diesen Eintrag ist als "extra" ein "Auto_Increment" eingestellt, die Datenbank zählt also pro Artikel einfach von selbst hoch.... 

Weitere Eigenschaften sind natürlich die Inhaltlichen: 
  • "titel" (für die Überschrift)
  • "zusammenfassung" (für einen kleinen Abstract)
  • "content" (hier kommt dann der ganze Artikel rein)
  • "image_paths" (hier will ich einfach die URLs zu den Bildern eines Artikels sammeln)
  • "feat_image_paths" (hier will ich URLs zu den Bildern sammeln, die eine Vorschau geben sollen)
  • "kategorie" (es wird im Endprodukt hinterher mindestens 2 Kategorien von Artikeln geben)
  • "article_path" (soll die URL des Artikels speichern)
  • zudem gibt es noch "datum" und die vorher schon erwähnte "id"
Wie sinnvoll das alles ist, wird sich im Verlauf des Projektes noch zeigen! 

Sooo... nachdem die Datenbank angelegt war, stand ich vor der Frage: Wie bekomme ich da jetzt einen Artikel rein? Entschieden habe ich mich dafür: Ich hab mir ein kleines Formular geschrieben, mit Eingabefeldern, die mit den Datenbank-Eigenschaften übereinstimmen... Plan ist, in dieses Formular meine Artikel zu schreiben... Also: 

2. Formular schreiben! 


Das sieht in HTML erstmal ganz einfach aus, ich lege hier noch keinen Wert auf irgendeine optische Gestaltung: 


<form action="artikel.php" method="post">
<table border="0">
<tr>
<td><strong>Titel:</strong></td>
<td colspan="2"><input name="titel" type="text" id="titel" size="90" maxlength="200"></td>
</tr>
<tr>
<td><strong>Zusammenfassung:</strong></td>
<td colspan="2"><textarea name="zusammenfassung" id="zusammenfassung" rows="10" cols="100"></textarea></td>
</tr>
<tr>
<td><strong>Content:</strong></td>
<td colspan="2"><textarea name="content" id="content" rows="30" cols="100"></textarea></td>
</tr>
<tr>
<td><strong>Images - enter paths:</strong></td>
<td colspan="2"><input type="text" name="image_paths" id="image_paths"></td>
</tr>
<tr>
<td valign="top"><strong>Featured Image:</strong></td>
<td colspan="2"><input type="text" name="feat_image_paths" id="feat_image_paths"></td>
</tr>
                <tr>
<td valign="top"><strong>Kategorie:</strong></td>
<td colspan="2"><select name="kategorie" size="1">
<option>Fun</option><option>Ernst</option></select></td>
</tr>
<tr>
<td></td>
<td><input type="submit" class="Button" value="Absenden"></td>
<td align="center"><input type="reset" id="abbrechen" class="Button" value="Abbrechen"></td>
</tr>
</table>
</form>

3. die php-Datei schreiben, die dann den Artikel in die Datenbank schreibt


Danach kam dann der komplizierte Teil... die php Datei... Programmieren kann ich ja nicht, daher hab ich mir hier im Internet beholfen.... mit folgenden Seiten konnte ich die Aufgabe lösen: 
Da ich nicht vorhabe, mein "Tool zum Artikel schreiben" für jemand anderen zugänglich zu machen, konnte ich jetzt erstmal alle Sicherheitsaspekte außen vorlassen... Also wichtig, falls das jemand zur Anregung nimmt: So würde ich das hier nicht online stellen! Da kann viel zu viel passieren.... Das hier ist nur zum Verstehen gedacht, also voll "basic"... und für mich tut's das erstmal... 

Hier also der php Code: 

<?php
 
// Datenbankverbindung aufbauen:
    mysql_connect("hostname", "User", "Password");
 
// Datenbank auswählen
mysql_select_db("database") or die(mysql_error());
 
// Restliche Datenfelder vorbereiten:
    $datum = time(); 
 
    // Artikel in Datenbanktabelle 'artikel' schreiben:
 
$titel = $_POST["titel"];
$zusammenfassung = $_POST["zusammenfassung"];
$content = $_POST["content"];
$image_paths = $_POST["image_paths"];
$feat_image_paths = $_POST["feat_image_paths"];
$kategorie = $_POST["kategorie"];
 
$eintrag = mysql_query("INSERT INTO artikel (datum, titel, zusammenfassung, content, image_paths, feat_image_paths, kategorie) VALUES ('$datum', '$titel', '$zusammenfassung', '$content', '$image_paths', '$feat_image_paths', '$kategorie')") or die(mysql_error());
?>

...ok, also Obacht, an der obigen Datei stimmt noch a bissl was nicht, zum Beispiel wird mir das Datum nicht richtig eingetragen. Mit der Time Funktion in PhP beschäftige ich mich ein anderes mal... und: den article_path hab ich vergessen, sowohl im Formular als auch in der php Datei, das hol ich auch ein andermal nach.... 

Im Moment bin ich einfach nur sehr sehr sehr zufrieden, dass alles andere zu funktionieren scheint... 

Je weiter das Projekt voranschreitet, desto mehr werd ich hier auch erklären... also - wie man dann Daten ausliest und so, das kommt alles später. Jetzt ging's erstmal nur ans Anlegen...

Design by Uta Kaemper