php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.09.2005, 18:59  
Gast
 
Beiträge: n/a
Standard Mein eigenes kleines Projekt

Hallo.
Ich habe vor langer Zeit mal PHP gelernt mittels eines Buchs von Kevin Yank. Ich sage einfach mal was ich machen m�chte:

Es soll eine Tabelle existieren die folgendes beinhaltet:
Es soll in einer Tabelle einige Daten gezeigt werden: Es geht um Konsolenbefehle eines Computerspiels. Ich m�chte diese weiter erl�utern. in der Tabelle wird also stehen: der Name der Konsolenbefehls, der Standardparameter den man direkt nach dem Befehl eingeben soll/kann, und dann noch ein gr��eres Textfeld mit der Beschreibung und Empfehlungen. Nat�rlich werden nicht nur ein Befehl, sondern gleich eine ganze Menge Befehle erkl�rt. Es soll also erst eine Tabelle erstellt werden mit dem Inhalt f�r den ersten Eintrag, dann dadrunter eine baugleiche Tabelle mit dem zweiten Eintrag usw usw, bis alle Eintr�ge gezeigt sind. Die Eintr�ge sollen nach dem Alphabet geordnet sein, und zwar soll sich die Reihenfolge nach dem Haupteintrag "Konsolenbefehl" richten.

Meine MySQL-Tabelle sieht im Kopf folgenderma�en aus:
ID, befehlsname, sdwert (f�r "standardwert"), beschreibung.

Ich denke ich mache mir zwei php dateien.
Eine php datei die einfach alle datens�tze anzeigt (also die seite die der normale surfer sehen soll). also soweit ich weiss muss ich einfach eine while-schleife erstellen. ich baue also erstmal in dieser php datei eine verbindung zu datenbank auf, lasse dann alle datens�tze selektieren (und sie dabei irgendwie nach dem alphabet ordnen). dann die while-schleife, indem ich mysql_fetch_array meiner selectanfrage mache, dann �ber $array["befehlsname" etc.] meine neuen variablen raushole und diese dann echo'n lasse (mitsamt der n�tigen Tags f�r die Tabelle und den zwischenr�umen der tabellen)

bei der zweiten datei gestaltet es sich schon etwas schwieriger: sie ist die Administrationsseite. Ich habe vermutlich keine Lust auch noch ein Loginscript per php zu machen, drum werd ich zum schutz einfach htaccess benutzen.

Die adminseite soll eine �bersicht aller konsolenbefehle zeigen. also nicht gleich zu jedem konsolen befehl die ganze tabelle, sondern nur die befehle selbst, alle untereinander (einfach um mehr �bersicht zu haben).

ganz oben (oder ganz unten, wie man will) soll ein Link sein der "neuen eintrag erstellen" heisst. klicke ich ihn an, werden die ganzen befehle ausgeblendet und es erscheint eine Rohtabelle die eigentlich so aussieht wie die vielen Tabellen mit Inhalt die der End-benutzer sieht, nur dass anstatt des Texts eben Eingabefelder da sind mittels denen ich einen neuen Datensatz erstellen kann. klicke ich dann auf "absenden" wird der neue dateneintrag erstellt. man kehrt zur�ck zur haupt-adminseite.

rechts neben jedem befehl soll es zwei links geben: "�ndern" und "l�schen". klickt man auf l�schen, wird der Konsolenbefehl (und auch die dazugeh�rigen werte wie "sdwert" und "beschreibung") gel�scht. klickt man auf "�ndern", so wird die seite die ich vorhin beschrieben haben (die zum Neu-Erstellen eines Datensatzes) ge�ffnet, allerdings sind die Felder bereits ausgef�llt, eben mit den Werten die der Datensatz den ich �ndern will, bereits hat. Ich kann dann in den Feldern �nderungen vornehmen und diese einfach speichern.

soweit das Konzept.
also eigentlich glaube ich, dass ich genug weiss, um das alles selbst zu coden. habe durch das Kevin Yank Buch auch viel Unterst�tzung . "Schwierig" k�nnte f�r mich die Umstellung auf die SuperGlobal irgendwas-dinger werden, oder auch sonst k�nnte ich irgendwo h�ngen bleiben.

Was mir zun�chst mal auff�llt: bei der adminseite werde ich eine ganze menge Fallunterscheidungen machen m�ssen. also hier w�ren das:
"user will neuen eintrag machen>Tabelle mit leeren Formular zeigen"
"user will einen Eintrag �ndern>>Tabelle mit bereits ausgef�lltem Formular zeigen"
"user hat nichts spezielles gemacht>>einfach eine auflistung der befehle zeigen"
"user hat auf Absenden f�r einen neuen/ge�nderten Eintrag geklickt>>soll auf die Standard-adminseite zur�ckgeschickt werden (wobei es auch hier dann den unterschied gibt dass entweder der update befehl oder insert befehl ausgef�hrt wird)"
"user hat auf den 'löschen'-link neben einem eintrag geklickt >> Eintrag soll gelöscht werden und man gelangt auf die hauptseite"

das sind vorerstmal alle Fälle die mir einfallen. jetzt stellt sich mir die Frage: wie macht man solche unterscheidungen "Konkret" (also codebeispiel?)

und wie löse ich folgendes codetechnisch:
a) ich erstelle für jeden Fall einen eigenen abschnitt in der php datei und schreibe die kompletten aktionen die zu tun sind, also auch droppen/updaten/inserten und danach anzeigen der standardseite bei jedem abschnitt rein - oder...
b) am anfang der php datei lasse ich zunächst überprüfen, ob die seite mit den formularen geöffnet wurde, falls ja steht in der if schleife am ende "exit()" damit die normale auflistung der befehle nicht angezeigt wird. danach folgen die "script soll beitrag gegebenenfalls löschen/updaten/inserten, da auf einen löschen link, bzw auf einen Absenden/Updaten button geklickt wurde" und danach die normale auflistung des codes (zu der es ja nur kommt wenn das php script nicht ge-exit'ed wurde). funktioniert das ? istdas besser so ?

Jo, sorry is ne Menge info auf einmal ^^. Ich möchte einfach Feedback hören ob ich das alels soweit richtig geplant habe, ob ihr tipps habt usw.

MfG
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.10.2005, 18:42  
Gast
 
Beiträge: n/a
Standard

ok, also wie ich es vorausgesagt habe hänge ich am code fest:

PHP-Code:
<style>
#uebertext   { font-size:13px; padding-left:5px;}
#haupttext {font-size:10px; padding-left:5px;padding-top:2px;padding-bottom:2px;}
#uebertext2   { font-size:12px;}
</style>
<?php
$conn
=mysql_connect("localhost","***","***");
if (
$conn) {
    echo (
"Erfolgreich zu MySQL verbunden!
"
);
}

if (@
mysql_select_db("***"))
{
    echo (
"DB gefunden!");
}

?>
....
<?php //Erstellung der while-Schleife
$ergebnis=mysql_query("SELECT id, name, sdwert, beschr, empf FROM tunings");

while (
$row mysql_fetch_array($ergebnis) )
{
$namen $row["name"];
$standardwert $row["sdwert"];
$beschreibung $row["beschr"];
$empfehlung $row["empf"];
echo 
"<table style="border-collapse:collapsecolor#fff;" align="center" width="650">"; //echo für zeile eins, meines wissens nach korrektes syntax, interpreter macht aber alarm
echo "<tr><td width="78%" height="20" align="left" valign="top" bgcolor="#335A6E" style="border:1px solid #000;" align="center"><div id="uebertext">[b]" . $namen "[/b]</div></td>"; 
//echo für zeile 2. Syntax korrekt. WÜRDE aber sicherlich auch fehler geben. evtl kommt php mit der css direktformatierung und deren semikolons nicht zurecht?
//ich versuche es nicht mehr weiter, da zwecklos
    
<th width="22%" height="20" align="left" valign="top" bgcolor="#335A6E" style="border:1px solid #000;"><div id="uebertext">[b]Standardwert:[/b$standardwert</div></td>
    </
tr>
    </
table>
    
    <
table style="border-collapse:collapse; color: #fff;" align="center" width="650">
    <
tr>
    <
td align="left" valign="top" bgcolor="#2B3F50" style="border:1px solid #000;"><div id="haupttext">
    <
div id="uebertext2">[b]Beschreibung:[b]</div>

    
$beschreibung.
    </
td></tr>
    <
tr><td align="left" valign="top" bgcolor="#2B3F50" style="border:1px solid #000;">
    <
div id="haupttext">
    <
div id="uebertext2">[b]Empfehlung:[b]</div>

    
$empfehlung    
    
</div></td></tr>
    </
table>
}
?>
...
ich habe entsprechende vermerke in form von kommentaren gemacht

MfG
 
Alt 01.10.2005, 18:50  
Gast
 
Beiträge: n/a
Standard

*g*
Zitat:
evtl kommt php mit der css direktformatierung und deren semikolons nicht zurecht?
also....du kannst nicht (z.b.):
PHP-Code:
<?php
echo "<input type="text">";
?>
benutzen!!

damit interpretiert der parser den echo befehl genau bis: "<input type="

benutze:
PHP-Code:
<?php
//1. möglichkeit:
echo '<input type="text">';
//2. möglichkeit:
echo "<input type=\"text\">";
?>
du hast eh ein riesen chaos in deinem code (php <--> html)

stego87
 
Alt 01.10.2005, 18:53  
Gast
 
Beiträge: n/a
Standard

ach ja...innerhab von phptags kannst du nicht einfach html hinscheiben

alles innerhalb von <?php inhalt ?> wird an den php-interpreter geschickt und was will der mit html...klar macht der ein error

mein tip: lern PHP

stego87
 
Alt 01.10.2005, 18:54  
Gast
 
Beiträge: n/a
Standard

ah, es hat geklappt in dem ich die Anführungsstriche durch ' ersetzt habe

mir kam das zuerst nich in den sinn da ich ein tutorial mal durchgemacht hatte, dass das nicht beinhaltet hat und es trotzdem funktioniert hatte

naja, matrix halt ;D
 
Alt 01.10.2005, 18:59  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

@NameZero912:
Kosten Zeilenumbrüche bei Deinem Webhoster extra?
Wenn nicht würde ich dringend mal empfehlen, die super extra mega langen und damit unlesbaren Zeilen mal zu kürzen.
Dann sieht man die im Editor auch wieder ganz und hier sieht es auch nicht so besch***en aus.

Wär nett, wenn Du das mal editieren könntest.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 02.10.2005, 09:41  
Gast
 
Beiträge: n/a
Standard

@Gerhard: habs versucht etwas lesbarer zu machen ^^

nun eine ganz andere frage:
ich baue mir zur zeit die administrations-php-datei. man kann dadurch sowohl neue einträge erstellen als auch welche editieren.
In die großen formularfelder, die den Hauoptbestandteil ausmachen, werden aber auf jeden fall Zeichen wie ", ä, ü, ö, ß vorkommen.
ich weiss bis jetzt um die funktionen html specialchars und htmlentities, bin mir aber nicht sicher ob, und vor allem an welcher stelle ich sie einbauen soll.

ich muss dazu sagen, dass ich ja die einträge gegebenfalls wieder editieren möchte, udn ich habe dann keine lust, mich dann auf der editseite im komischen html-schlamassel wiederzufinden .

Was ich soweit sagen kann ist: wenn ich einen Eintrag über das Formular mache, sieht der, wenn ich ihn mir dann in phpmyadmin anschaue, eigentlich korrekt aus. zeilenumbrüche, ö,ä,ß,ü," usw. werden da auch richtig dargestellt.
wenn ich es aber dann in einer php datei ausgeben lassen stimmt zwar die darstellung dieser sonderzeichen, allerdings stehen diese auch als solche im quelltext, und nicht etwa in form von &ouml; sondern "ö" etc.
Ausserdem wurden die Zeilenumbrüche nicht übernommen, ka wieso.
 
Alt 02.10.2005, 13:06  
Gast
 
Beiträge: n/a
Standard

zeilenumbrücheübernehmen: nl2br()
 
Alt 02.10.2005, 22:12  
Gast
 
Beiträge: n/a
Standard

vielen dank

hauptproblem aus meinem anderen thread habe ich übrigens beheben können. war letzendlich (neben ein paar anderen fehlern) nur eine vertauschung von GET mit POST
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
kleines bis mittleres Projekt [phpler gesucht] AllOnline Beitragsarchiv 7 18.06.2008 14:54
Forum in eigenes Projekt einbinden SingleSignOn agrajag PHP Tipps 2008 4 12.10.2007 15:15
Kommerzielles PHP Projekt und PEAR? HStev Off-Topic Diskussionen 1 27.09.2005 14:08
PHP Programmierer und Grafiker für größeres Projekt gesucht Beitragsarchiv 9 11.08.2005 22:56
Spezialisten fuer 1-2 Jahres Projekt in Hong Kong Beitragsarchiv 8 24.12.2004 14:29
Suche Scripte für Projekt Beitragsarchiv 3 08.12.2004 22:15
[Erledigt] -!- Neues Projekt aber Server fehlt... Off-Topic Diskussionen 5 14.09.2004 10:21
CMS + Smarty? oder eigenes Templatesystem? Corvin PHP-Fortgeschrittene 9 04.09.2004 11:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
internetportal erstellen, mein eigenes php projekt, sag einfach mal nein projekt, mein eigenes projekt

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:46 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.