php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.04.2005, 20:29  
Gast
 
Beiträge: n/a
Standard formular-code strukturieren

hallo alle miteinander,

hier wird ja immer gepredigt, man soll sauber strukturierten code schreiben...
versuch ich auch, nur leider bin ich grad am verzweifeln wie ich ein formular in eine tabelle zwängen kann, das dabei noch irgendwie (halb-)dynamisch von php erzeugt wird.

ich wurschtel nun schon ziemlich lange rum, krieg das ganze aber nicht vernünftig eingerückt oder sonstwie lesbar hin.

mit den Vorschlägen von PEAR kann ich mich auch nicht wirklich anfreunden (sind mir zu strikt: wenn ich einrücken will, dann ist mir ein tab genau so recht wie 4 leerzeichen :/)

für die Mutigen unter euch: der Quellcode
bloss nicht versuchen dass geraffel durch den compiler zu jagen, ist meine "arbeitsversion" (keine kommentare etc =>bin numal chaot , das kommt bei mir erst wenns rennt *schäm*)

PHP-Code:
<?php
    $conn_db 
= @mysql_connect("$host","$usr","$pw");            //connect mat der db
    
if(!$conn_db)
    {
        echo(
'

keng Verbindung mam Server meiglech :(</p>'
);
        exit();
    }
    if (! @
mysql_select_db("$db") )
    {
        echo(
'

Datebank nöt fonnt :(</p>'
);
        exit();
    }
    
        global 
$HTTP_POST_VARS;
    
        
$n_joer=        $_POST['n_joer'];
        
$n_plaaz=        $_POST['n_plaaz'];
        
$n_dir=            $_POST['n_dir'];
        
$n_deg=            $_POST['n_deg'];
        
$n_joer['0']=    $_POST['n_joer0'];
        
$n_mount['0']=    $_POST['n_mount0'];
        
$n_daag['0']=    $_POST['n_daag0'];
        
$n_joer['1']=    $_POST['n_joer1'];
        
$n_mount['1']=    $_POST['n_mount1'];
        
$n_daag['1']=    $_POST['n_daag1'];
        
$PHP_SELF=        $_SERVER['PHP_SELF'];
        
$waat=            $_REQUEST['waat'];
        
        
    if(
$waat=='dran')
    {
        for(
$i=0;$i<=1;$i++)
        {
            
$n_datum[$i]=$n_joer[$i].'-'.$n_mount[$i].'-'.$n_daag[$i];
            echo 
$n_datum[$i];
        }
        
$n_dan=$n_deg.'e Dan';
        
$dramaan='INSERT INTO stages (dirigeant, degree, lieu1, date1, date2) VALUES (\''.$n_dir.'\',\''.$n_dan.'\',\''.$n_plaaz.'\',\''.$n_datum['0'].'\',\''.$n_datum['1'].'\')';
        
        if(
mysql_query($dramaan))
        {
            echo 
'Huet geklappt, den Stage ass an d\'Löscht derbäigemaach gin!';
        }
        else echo
'Do ass eppes schief gaang, Sorry
Scheckt dem Webmaster w.e.g. dei folgend Fehlermeldung:
'
.mysql_errno().': '.mysql_error();
    }
    
    
//if($waat=='nei')
    //{
        
$get_joer=mysql_query('SELECT YEAR(NOW())');
        
$mount=array('Januar','Februar','März','Abrëll','Mee','Juni','Juli','August','September','November','Dezember');
        
$dest_joer=mysql_fetch_array($get_joer);
        for (
$i=1;$i<=2;$i++)
        {
            
$dest_joer[$i]=$dest_joer['0']+$i;
        }
        echo 
'<h2 align="center">Neien Stage derbei maan</h2>
            
            <form ACTION="'
.$PHP_SELF.'?waat=dran" METHOD="POST">
                <table>
                    <tr>
                        <td>
                            Dirigeant vum Stage: 
                        </td>
                        <td>
                            <INPUT TYPE="TEXT" NAME="n_dir">
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Weivillten Dan huet den Dirigeant?
                        </td>
                        <td>
                        <INPUT TYPE="TEXT" NAME="n_deg" size="1">e Dan
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Wou ass den Stage?
                        </td>
                        <td>
                            <INPUT TYPE="TEXT" NAME="n_plaaz">
                        </td>
                    </tr>
                    <tr rowspan="3">
                        <td>
                            Weini ass de Stage?
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>
                            Joer 1: <SELECT NAME="n_joer0">'
;
                            for (
$i=0;$i<=2;$i++)
                            {
                                echo 
'<OPTION VALUE="'.$dest_joer[$i].'">'.$dest_joer[$i].'</OPTION>';
                            }
                            echo 
'</td></tr><tr><td></td><td></SELECT>Mount 1: <SELECT NAME="n_mount0">';
                            for (
$i=0;$i<12;$i++)
                            {
                                
$n_mount=$i+1;
                                echo 
'<OPTION VALUE="'.$n_mount.'">'.$mount[$i].'</OPTION>';
                            }
                            echo 
'</td></tr></SELECT>
Daag 1: <SELECT NAME="n_daag0">'
;

                            for (
$i=1;$i<=31;$i++)
                            {
                                echo 
'<OPTION VALUE="'.$i.'">'.$i.'</OPTION>';
                            }
                            echo 
'</SELECT></p>

Geet de Stage iwwert zwee Deeg? Dann w.e.g. daat ennendrenner och ausfellen: 
    Joer 2: <SELECT NAME="n_joer1">'
;
            for (
$i=0;$i<=2;$i++)
            {
                echo 
'<OPTION VALUE="'.$dest_joer[$i].'">'.$dest_joer[$i].'</OPTION>';
            }
            echo 
'</SELECT>
Mount 2: <SELECT NAME="n_mount1">'
;
            for (
$i=0;$i<12;$i++)
            {
                
$n_mount=$i+1;
                echo 
'<OPTION VALUE="'.$n_mount.'">'.$mount[$i].'</OPTION>';
            }
            echo 
'</SELECT>
Daag 2: <SELECT NAME="n_daag1">'
;

            for (
$i=1;$i<=31;$i++)
            {
                echo 
'<OPTION VALUE="'.$i.'">'.$i.'</OPTION>';
            }
            echo 
'
            
            </SELECT></p>
            

<INPUT TYPE="SUBMIT" VALUE="dran"></p>
            </table>
            </form> '
;
    
//}
?>
Sorry wenn ich so eine allgemeine anfänger frage heir in den raum werf, aber mir fehlt grad selber der überblick und hab zum 3. mal alles neu strukturiert und bin doch nicht zufrieden (von den dadurch erzeugten syntax-fehlern mal abgesehen)

wer sich das gemüll wirklich angeschaut hat merkt dass ich mittendrin keine lust mehr hatte, wie gesagt ist der 3. versuch etwas struktur reinzubringen

verwurschtelte grüsse

NerKnal
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.04.2005, 20:40  
Gast
 
Beiträge: n/a
Standard

Warum trennst du PHP und HTML nicht voneinander? Vor der ersten HTML-Anweisung wird das Script ausgeführt. Die Werte, die du im Formular oder für die Formulargenerierung brauchst speicherst du in Variablen zwischen. Diese lässt du dann im Formular durch eingeschobene PHP-Befehle ausgeben oder setzt zwischen einzelne HTML-Befehle Kontrollstrukturen (Schleifen, If, etc.).

Viele Grüße, zorn
 
Alt 26.04.2005, 20:43  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 2.603
Corvin befindet sich auf einem aufstrebenden Ast
Standard

Ich habe ehrlich gesagt, keine Lust micht da jetzt durchzuwühlen, aber
a) Ersetze mal das
PHP-Code:
<?php
   $conn_db 
= @mysql_connect("$host","$usr","$pw");         //connect mat der db
   
if(!$conn_db)
   {
      echo(
'

keng Verbindung mam Server meiglech Sad</p>'
);
      exit();
   }
   if (! @
mysql_select_db("$db") )
   {
      echo(
'

Datebank nöt fonnt Sad</p>'
);
      exit();
   }
?>
mit dem:
PHP-Code:
<?php
mysql_connect
($host,$usr,$pw) or die( mysql_error() );         //connect mat der db
mysql_select_db($db) or die( mysql_error() );
?>
b) Vielleicht mal das hier lesen:
http://tut.php-q.net/einruecken.html
Corvin ist offline  
Alt 27.04.2005, 06:52  
Gast
 
Beiträge: n/a
Standard

Jo erstmal Danke für die Tipps,

@Corvin: was ist an "die" besser, ausser dass es kürzer zum schreiben ist? Sorry mag ne dumme Frage sein, aber ich erhebe auch keinen Anspruch auf Intelligenz

@Zorn: eingeschobenens PHP? also quasi normales htm,l und zwischen drin mal ein <?php $variable ?> oder wie eminstu das?

gruss

nerknal


[/code]
?>[/php]
 
Alt 27.04.2005, 08:50  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard Re: formular-code strukturieren

Zitat:
Zitat von NerKnal
wenn ich einrücken will, dann ist mir ein tab genau so recht wie 4 leerzeichen :/)
Nur dass die Einstellungen der Tabulatoren vom verwendeten Editor abhängig sind und so ein ganz anderes Bild entstehen kann, v.a. dann, wenn noch Tabs und Leerzeichen gemischt werden.
Zitat:
Zitat von NerKnal
@Corvin: was ist an "die" besser, ausser dass es kürzer zum schreiben ist? Sorry mag ne dumme Frage sein, aber ich erhebe auch keinen Anspruch auf Intelligenz Wink

@Zorn: eingeschobenens PHP? also quasi normales htm,l und zwischen drin mal ein <?php $variable ?> oder wie eminstu das?
Vieles ist natürlich auch Geschmacksache. Ob die() oder exit() ist ziemlich egal, aber mysql_error() sagt dir möglicherweise, warum etwas nicht funktioniert hat.
Auch über das eingeschobene PHP gehen die Meinungen auseinander. Ich persönlich mag es nicht, auch wenn es möglicherweise etwas schneller ist.
Ich denke der Link von Corvin ist eine sehr gute Grundlage. Aber es gibt immer Fälle, die mit gesundem Menschenverstand gelöst werden müssen. Auf jeden Fall soll der Code von Anfang an formatiert werden (automatisches Einrücken des Editors kann dabei helfen), dann findet man auch Fehler, z.B. fehlende Klammern viel schneller. Das nachträgliche Formatieren bringt schlussendlich nur noch für die Wartung etwas.
__________________
Gruss
L
lazydog ist offline  
Alt 27.04.2005, 10:30  
Gast
 
Beiträge: n/a
Standard

@lazydog: Meiner Meinung mach sollten PHP-Code und HTML weitestgehend voneinander getrennt sein. Scriptänderungen und vor allem Designänderungen lassen sich so viel einfacher umsetzen. Im HTML benötigt man meist nur wenig PHP-Befehle, meist nur für Ausgaben oder Kontrollstrukturen.
Aber wie du schon gesagt hast, das ist geschmackssache

@NerKnal: Genau so meinte ich das

Viele Grüße, zorn
 
Alt 27.04.2005, 15:16  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 2.603
Corvin befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
was ist an "die" besser, ausser dass es kürzer zum schreiben ist?
Wie du schon sagst, die() ist kürzer (und dadurch übersichtlicher) und ein Tick schneller.
Corvin ist offline  
 


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
Problem mit IF und Formular Black-Devil PHP Tipps 2008 12 03.03.2008 17:54
Dynamischer Text in einer Grafik per Formular einfügen PHP Tipps 2005-2 2 19.08.2005 00:55
[Erledigt] Hilfe bei Formular für Datenerhebung benötigt PHP Tipps 2005-2 3 16.07.2005 10:43
[Erledigt] Lesbarkeit von Code Off-Topic Diskussionen 6 14.07.2005 14:48
code aus db mit eval replacen chief-thomson PHP Tipps 2005-2 4 08.07.2005 15:33
[Erledigt] PHP Formular ~~wichtig~~ PHP Tipps 2005 27 29.05.2005 19:38
Schleife in Formular Auswertung DDogg PHP Tipps 2005 2 20.04.2005 15:44
Benutzereingaben von Formular prüfen (Sicherer Code?) PHP Tipps 2005 6 27.01.2005 10:16
Im Formular user abfragen? Datenbanken 3 06.01.2005 10:51
Formular PHP Tipps 2005 2 05.01.2005 22:17
Fehleranzeige im Formular tikal PHP Tipps 2004 4 07.10.2004 14:57
BB-Code in Formular einfügen TheSkaterFriend HTML, Usability und Barrierefreiheit 2 28.08.2004 20:03
Brauche PHP Formular Beitragsarchiv 9 16.08.2004 16:23
[Erledigt] Formular mit Daten werden auf anderer Seite zusammengefasst PHP Tipps 2004 4 15.08.2004 15:44
formular und email PHP Tipps 2004 5 18.06.2004 21:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php code strukturieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:58 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.