zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden PHP Kontaktforumlar allgemeiner aufbau

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 27.10.2009, 19:21
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 16.09.2009
Beiträge: 14
Krulle befindet sich auf einem aufstrebenden Ast
Standard PHP Kontaktforumlar allgemeiner aufbau

Gutan Tag!!!

zuallerst, denke ich, sollte ich mich ersteinmal votstellen. Ich heiße Toni, bin 23, und komme aus Heilbronn, nähe Stuttgart. Ich bin dabei, eine kleine Homepage zu basteln, unter anderem auch um etwas kaufen/bestellen zu können. Ich beschäftige mich nun seit rund 1 monat mit HTML und CSS, was auch sehr gut klappt, allerdings haperts bei php umsomehr.
Mir fehlen aktuell einfach die absoluten Grundlagen, die ich trotz Bücher und Tutorials leider nicht finden konnte. Vielleicht fehlt mir aktuell auch ein bisschen die Lust, da ich langsam ein fertiges Ergebnis sehen möchte und mich dieses rumprobiere doch langsam etwas anwidert.

zu meinem Problem:
folgendes HTML Grundgerüst steht, Variablen sind vergeben und teilweise schon etwas mit php rumexperimentiert,
Bestellung aufgeben
(da das noch ein komplette Testversion ist bitte nicht überall herumscnüffeln, da eh 3/4 der links nicht funktioniert ).
Zu meinem Problem:
wie baue ich soetwas grundsätzlich auf?
- Meine Überlegung wäre, das ganze über 3 html-seiten aufzubauen.
1. Eingabe der Daten
2. Bestätigung und ggf. Überarbeitung der Daten
3. Fertigstellung und Übertragung der Daten per Mail in mein Postfach.

nun ergeben sich damit aber ein paar Probleme.
1. Wie gebe ich nun erkenntlich Fehlermeldungen aus (am besten auf einer eigenen HTML-Seite)?
2. Wie kann ich die Felder nach dem drücken des "Rücksetzen"-buttons wieder leer bekommen? (aktuell mit JS eine Seite zurück, Felder werden dabei aber nicht geleert)
3. Wie funktioniert die E-Mailübertragung am besten? lieber erst in PDF oder sowas umwandeln und dann versenden, oder lieber in einem HTML format, oder gar nur einfach Stringvariablen? (umso einfacher, umso besser )
4. Wie kann ich auf die Bestätigungsbuttons mit php reagieren? (aktuelle macht das ja dieses <form> - element, das eine neue Seite aufruft.

So, wie ihr seht, hab ich absolut keinen blassen schimmer und hoffe, euch nicht zusehr mit meinem gesülze genervt zu haben. ich habe die schlimmer befürchtung, das ich grundlegend mit dem 3-seitenaufbau etwas falsch mache und alles durch php in einer datei generieren sollte.
Aber vielleicht könnt ihr mir ein paar grundlegende tipps geben, wie ich sowas am besten angehe, vielleicht hat jemand noch ein paar gute und ausführliche Tutorials, welche dieses Problem explizit behandeln (das meiste geht ja auf php/sql ein, das ich hier aber absolut nicht benötige.
Ich möchte auch keine fertigen php-lösungen, so lerne ich das ganze zeug nie.
dann bedanke ich mich schonmal im voraus und hoffe auf rege beteiligung.

schönen abend noch.

fast den php code vergessen:

@bestellen.php
PHP-Code:
<?php
//hier alle Variablen löschen
unset($name$strasse$plz$ort$email$bestellung$versand$agb)
?>
@bestellen_abschicken
PHP-Code:
   <?php
        error_reporting 
(E_ALL); //alle Fehlermeldungen ausklammern
        
        //funktionen
        
function array_leer($ar_ray,$wert)                        //prüft, ob array leer um Fehlermeldung zu vermeiden.
        
{
            if(
array_key_exists($wert$ar_ray))
            return (
$ar_ray[$wert]);
        }        
        
        
//Formular adresse
        
$name array_leer($_POST,'name');                        //eingegebener Name
        
$strasse array_leer($_POST,'strasse');
        
$plz array_leer($_POST,'plz');
        
$ort array_leer($_POST,'ort');
        
$email array_leer($_POST,'email');
        
//Forular bestellen
        
$bestellung array_leer($_POST,'bestell');
        
$versand array_leer($_POST,'versand');
        
//Formular AGB
        
$agb array_leer($_POST,'agb');
        
$bestaetigen array_leer($_POST,'Bestätigen');
        
//auswertungscode
        
if ($name == '')
        {
        echo 
"Du hast den Namen vergessen anzugeben.</br>";
        }
            if (
$strasse =='')
            {
            echo 
"Du hast die Straße vergessen anzugeben.</br>";
            }
        
        
        
      
?>
@bestellen_bestaetigung (funktioniert allerdings nicht, ist aber aktuell mein geringstes problem)
PHP-Code:
//mail mit Daten versenden

        
error_reporting (E_ALL); //alle Fehlermeldungen ausklammern
        
        //funktionen
        
function array_leer($ar_ray,$wert)                        //prüft, ob array leer um Fehlermeldung zu vermeiden.
        
{
            if(
array_key_exists($wert$ar_ray))
            return (
$ar_ray[$wert]);
        }        
        
        
//Formular adresse
        
$name array_leer($_POST,'name');                        //eingegebener Name

mail("bestellen@tkr-carbon.de""Bestellung"$name); 

Geändert von Krulle (27.10.2009 um 19:26 Uhr)
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 27.10.2009, 20:41
Benutzerbild von Pr0g
(^.^)
XHTMLforum-Mitglied
 
Registriert seit: 23.08.2005
Ort: Düsseldorf
Beiträge: 535
Pr0g wird schon bald berühmt werden
Standard

Warum in drei Dateien auslagern, würde alles in eine packen.

Zu 1: In diesem Post hatte ich schonmal ein Beispiel für eine einfache Struktur gepostet, sieh es dir mal an.

Zu 2: Reset-Button.

Zu 3: Um was für Daten handelt es sich, ein Umwandeln in PDF erachte ich als unnötig. Meist reicht ein reiner Text aus.

Zu 4: Du kannst im Script prüfen ob Daten abgeschickt wurden (also Formular versendet wurde) oder nicht (also noch nichts verschickt), siehe dazu auch den Code aus Punkt 1.


bestellen.php: Was wird dort gelöscht und warum?

array_leer wird man sich sparen können, abgesehen von Checkboxen sind alle Felder im $_POST Array vorhanden, selbst wenn leer. Und bei AGB kannst du es dann so machen:
PHP-Code:
$agb_aktzeptiert = isset($_POST['agb']); 
Kannst ja auf genauere Punkte/Fragen dann eingehen
__________________
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 27.10.2009, 22:51
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 16.09.2009
Beiträge: 14
Krulle befindet sich auf einem aufstrebenden Ast
Standard

jap, werde ich tun, vielen Dank erstmal.
Mit Zitat antworten
  #4 (permalink)  
Alt 28.10.2009, 11:08
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 29.07.2005
Beiträge: 1.073
xm22 befindet sich auf einem aufstrebenden Ast
Standard

Es ist zwar löblich, dass Du das in Eigenregie machen willst, aber trotzdem eine Warnung und ein Hinweis: Einsteiger übersehen oft Sicherheitslücken und rechtliche Fallstricke. Daher solltest Du vielleicht lieber auf ein vorhandenes Shop-System wie xt:commerce nutzen, sonst kannst Du ganz schnell auf die Nase fallen.
__________________
... Meine Meinung
Mit Zitat antworten
  #5 (permalink)  
Alt 28.10.2009, 17:54
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 16.09.2009
Beiträge: 14
Krulle befindet sich auf einem aufstrebenden Ast
Standard

ja, ich weiß, die agb sind ne heikle sache, werde dazu auch nen anwalt zurate ziehen. allerdings lohnt sich ein shop mit warenkorb, anmeldung und firlefanz für mich nicht... zumindest aktuell noch nicht
ich könnte auch einfach schreiben, das bestellungen per mail zu bewerkstelligen sind, so böse möchte ich allerdings nicht sein und doch ein kleines bisschen den bestellvorgang erleichtern...
Mit Zitat antworten
  #6 (permalink)  
Alt 25.11.2009, 01:49
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 16.09.2009
Beiträge: 14
Krulle befindet sich auf einem aufstrebenden Ast
Standard

so, nach ewig rumdoktorei bin ich zu einem doch gut funktionierendem ergebnis gekommen, allerdings gestaltet sich die einbindung einer anderen lieferadresse doch etwas schwierig.
aktuelle version ist hier einzusehen: Bestellung aufgeben
so, mein problem:
wenn ich nun das häckchen bei abweichender lieferadresse setze, meine lieferadresse eingebe, verschwinden die daten, die ich vorher eingegeben habe. ich weiß allerdings nicht warum. ich hab alles relativ laienhaft in eine datein geschrieben (php code und html code), allerdings sollte das nicht das problem sein.
ich denke, dass das problem an dem <form></form> statement hängt, wobei ich diese methode auch weiter unten nutze und diese hier problemlos funktioniert.
vielleicht ist es auch einfach nur zu spät und ich habe keinen kopf mehr für die ganze sache

ich häng den kompletten code mal an:
um nicht durch alles durchsteigen zu müssen, hab ich den teil der nicht funktioniert mal mit ### hervorgehoben.
ich danke euch schonmal im voraus für die hoffentlich kommenden tipps

PHP-Code:
<?php header('Content-Type: text/html; charset=UFT-8');?>
<head>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Bestellung aufgeben</title>
<link href="css-datei/spezial.css" rel="stylesheet" type="text/css" />
<link href="css-datei/html.css" rel="stylesheet" type="text/css" />
<link href="css-datei/navi.css" rel="stylesheet" type="text/css" />
<link href="css-datei/rahmen.css" rel="stylesheet" type="text/css" />

<!--[if lt IE 7]>
<style type="text/css">@import url(css-datei/ie5-6.css);</style>
<![endif]-->
</head>

<body bgcolor="#000033" text="#999999" link="#999999" vlink="#999999" alink="#999999">
<!--******************
Haupfenster, 900 px breit, inkl. Navigation, über die ganze Datei
****************** -->
<div class="container">
  <div class="kopfzeile"></div>
  <div class="logo"></div>

<!--==================
obere Navigation
================== -->
    <!--Styling der oberen Navigation-->

      <!--Liste Anfang-->
      <ul class="oberenavi">
        <li><a href="index.html">Startseite</a></li>
        <li><a href="ueber.html">&uuml;ber TKR Carbon</a></li>
        <li><a href="produkte.html">Produkte</a></li>
        <li><strong><a href="bestellen.html">Bestellung</a></strong></li>
        <li><a href="service.html">Service</a></li>
        <li><a href="info.html">Informationen</a></li>
        <li><a href="impressum.html">Impressum</a></li>
      </ul>
      <!--ende Liste-->
  <!--ende styling der Navigation -->

<div class="h_rahmen">
  <div class="innerer_ohne_navi_rahmen">
<?php
        error_reporting 
(E_ALL); //alle Fehlermeldungen ausklammern
        
        //funktionen
        
function array_leer($ar_ray,$wert)                        //prüft, ob array leer um Fehlermeldung zu vermeiden.
        
{
            if(
array_key_exists($wert$ar_ray))
            return (
$ar_ray[$wert]);
        }
        
        
//Formular adresse
        
$name array_leer($_POST,'name');                        //eingegebener Name
        
$strasse array_leer($_POST,'strasse');
        
$plz array_leer($_POST,'plz');
        
$ort array_leer($_POST,'ort');
        
$email array_leer($_POST,'email');
        
//Formular Lieferadresse
        
$firma_liefer array_leer($_POST,'firma');
        
$name_liefer array_leer($_POST,'name1');
        
$strasse_liefer array_leer($_POST,'strasse1');
        
$plz_liefer array_leer($_POST,'plz1');
        
$ort_liefer array_leer($_POST,'ort1');
        
//Forular bestellen
        
$bestellung array_leer($_POST,'bestell');
        
//Formular AGB
        
$agb array_leer($_POST,'agb');
        
$bestaetigen array_leer($_POST,'abs');    //bestätigen 1 seite
        
$liefer array_leer($_POST'abs_liefer');
        
$ch_box_liefer array_leer($_POST,'liefer');
        
$clear array_leer($_POST'Löschen');

if (
$bestaetigen == '')
{
?>          
<form action="bestellen.php" method="post">
   <div class="ausrichten_formular">
    <fieldset>
      <legend>Anschrift</legend>
         <p><label class="addr_label" for="name">Name: </label>
          <input class="addr" name="name"  type="text" size="20" maxlength="50" value="" /></p>
       <p><label class="addr_label" for="strasse">Straße: </label>
          <input class="addr" name="strasse" type="text" size="20" maxlength="50" value="" /></p>
        <p><label class="plz" for="plz">Postleitzahl:</label>
        <input name="plz" type="text" class="plz" size="10" maxlength="7"  />
        <label class="ort" for="ort">Ort: </label>
        <input class="ort" name="ort" type="text" size="20" maxlength="50" />
        </p>
        <p><label class="addr_label" for="email">E-Mailadresse: </label>
        <input class="addr" name="email" type="text" size="20" maxlength="80"/></p>
        <p>abweichende Lieferadresse: <input name="liefer" type="checkbox" value="liefer" /></p>
    </fieldset>
    <fieldset>
      <legend>Bestellung</legend>
         <p><label for="bestell">Bestellung (Anzahl, Bestellnummer, Bemerkungen):</br>
         z.b. in dieser Form: 1x RIRR (Bemerkungen)</label>
      <textarea name="bestell" cols="50" rows="5"></textarea><br/></p>
    </fieldset>
    <fieldset>
      <legend>AGB bestätigen</legend>
        <p><a class="link" href="agb.html">Die AGB hab ich gelesen, verstanden und akzeptiert:</a> 
          <input name="agb" type="checkbox" value="1" /></p>
        <p><input  class="button_abs" name="abs" type="submit" value="weiter" />
        </p>
    </fieldset>
   </div>    
</form>
<?php
}            
//******************************************************************************************************************
###
###
###
if ($bestaetigen == 'weiter' && $ch_box_liefer == 'liefer'
{
?>
<form action="bestellen.php" method="post">
<fieldset>
  <legend>Lieferadresse</legend>
      <p><label class="addr_label" for="firma">Firma: </label>
      <input class="addr" name="firma"  type="text" size="20" maxlength="50" value="<?php echo $firma_liefer?>" /></p>
    <p><label class="addr_label" for="name1">Name: </label>
      <input class="addr" name="name1"  type="text" size="20" maxlength="50" value="<?php echo $name_liefer?>" /></p>
    <p><label class="addr_label" for="strasse1">Straße: </label>
      <input class="addr" name="strasse1" type="text" size="20" maxlength="50" value="<?php echo $strasse_liefer?>" /></p>
    <p><label class="plz" for="plz1">Postleitzahl:</label>
    <input name="plz" type="text" class="plz1" size="10" maxlength="7" value="<?php echo $plz_liefer?>" />
    <label class="ort" for="ort1">Ort: </label>
    <input class="ort" name="ort1" type="text" size="20" maxlength="50" value="<?php echo $ort_liefer?>"/>
    </p>
    </br>
    <p><input  class="button_abs" name="abs" type="submit" value="weiter" /></p>
</fieldset>
</form>
<?php
}
###
###
###
if ($bestaetigen == 'weiter')
{
    if (
$name == '')
    {
    echo 
"Du hast den Namen vergessen anzugeben.</br>";
    }
    if (
$strasse == '')
    {
    echo 
"Du hast die Straße vergessen anzugeben.</br>";
    }
    if (
$plz == '')
    {
    echo 
"Du hast die Postleitzahl vergessen anzugeben.</br>";
    }
    if (
$ort == '')
    {
    echo 
"Du hast den Ort vergessen anzugeben.</br>";
    }
    if (
$email == '')
    {
    echo 
"Du hast deine E-Mail adresse vergessen anzugeben.</br>";
    }
    if (
$bestellung == '')
    {
    echo 
"Du hast die Bestellung vergessen anzugeben.</br>";
    }
    if (
$agb == '')
    {
    echo 
"Du musst die AGB akzeptieren!</br>";
    }
}
else if (
$bestaetigen == 'weiter' && $ch_box_liefer == 'liefer')
{
    if (
$name_liefer == '')
    {
    echo 
"Du hast den Liefername vergessen anzugeben!</br>";
    }
    if (
$strasse_liefer == '')
    {
    echo 
"Du hast die Strasse an die geliefert werden soll vergessen anzugeben!</br>";
    }
    if (
$plz_liefer == '')
    {
    echo 
"Du hast die Postleitzahl an die geliefert werden soll vergessen anzugeben!</br>";
    }
    if (
$ort_liefer == '')
    {
    echo 
"Du hast den Ort an den geliefert werden soll vergessen anzugeben!</br>";
    }
}
//***********************************************************************************************************************
if ($bestaetigen == 'weiter' && $ch_box_liefer == '' && $name != '' && $strasse != '' && $plz != '' && $ort != '' && $email != '' && $bestellung != '' && $agb != '')  
{
echo 
"Bitte überprüfe und korrigiere ggf. deine Eingabe:";
?>
<form action="bestellen.php" method="post">
   <div class="ausrichten_formular">
    <fieldset>
      <legend>Anschrift</legend>
        <p><label class="addr_label" for="name">Name: </label>
          <input class="addr" name="name"  type="text" size="20" maxlength="50" value="<?php echo $name?>" /></p>
        <p><label class="addr_label" for="strasse">Straße: </label>
          <input class="addr" name="strasse" type="text" size="20" maxlength="50" value="<?php echo $strasse?>" /></p>
        <p><label class="plz" for="plz">Postleitzahl:</label>
        <input name="plz" type="text" class="plz" size="10" maxlength="7" value="<?php echo $plz?>" />
        <label class="ort" for="ort">Ort: </label>
        <input class="ort" name="ort" type="text" size="20" maxlength="50" value="<?php echo $ort?>"/>
        </p>
        <p><label class="addr_label" for="email">E-Mailadresse: </label>
        <input class="addr" name="email" type="text" size="20" maxlength="80" value="<?php echo $email?>"/></p>  
    </fieldset>
<?php
if ($bestaetigen == 'weiter' && $ch_box_liefer == 'liefer' && $name_liefer != '' && $strasse_liefer != '' && $plz_liefer != '' && $ort_liefer != '')
{
?>
<fieldset>
  <legend>Lieferadresse</legend>
      <p><label class="addr_label" for="firma">Firma: </label>
      <input class="addr" name="firma"  type="text" size="20" maxlength="50" value="<?php echo $firma_liefer?>" /></p>
    <p><label class="addr_label" for="name1">Name: </label>
      <input class="addr" name="name1"  type="text" size="20" maxlength="50" value="<?php echo $name_liefer?>" /></p>
    <p><label class="addr_label" for="strasse1">Straße: </label>
      <input class="addr" name="strasse1" type="text" size="20" maxlength="50" value="<?php echo $strasse_liefer?>" /></p>
    <p><label class="plz" for="plz1">Postleitzahl:</label>
    <input name="plz" type="text" class="plz1" size="10" maxlength="7" value="<?php echo $plz_liefer?>" />
    <label class="ort" for="ort1">Ort: </label>
    <input class="ort" name="ort1" type="text" size="20" maxlength="50" value="<?php echo $ort_liefer?>"/>
    </p>
    </br>
    <p><input  class="button_abs" name="abs_liefer" type="submit" value="weiter" /></p>
</fieldset>
<?php
}
?>
    <fieldset>
      <legend>Bestellung</legend>
         <p><label for="bestell">Bestellung (Anzahl, Bestellnummer, Bemerkungen):</br>
         z.b. in dieser Form: 1x RIRR (Bemerkungen)</label>
      <textarea name="bestell" cols="50" rows="5"><?php echo $bestellung?></textarea><br/></p>
    </fieldset>
    <fieldset>
      <legend>AGB bestätigen</legend>
        <p><a class="link" href="agb.html">Die AGB hab ich gelesen, verstanden und akzeptiert:</a> 
          <input name="agb" type="checkbox" <?php echo "checked" ?> /></p>
        <p><input  class="button_abs" name="abs" type="submit" value="Bestätigen" />
        <input class="button_rueck" name="clear" type="submit" value="Alles löschen"/></p>
    </fieldset>
   </div>    
</form>
<?php
}
//***********************************************************************************************************+
if ($clear == 'Löschen')
{
unset (
$name$strasse$ort$plz$email$firma$name1$strasse1$ort1$plz1$bestellung$firma_liefer$name_liefer$strasse_liefer$plz_liefer$ort_liefer);
?>
<form action="bestellen.php" method="post">
   <div class="ausrichten_formular">
    <fieldset>
      <legend>Anschrift</legend>
        <p><label class="addr_label" for="name">Name: </label>
          <input class="addr" name="name"  type="text" size="20" maxlength="50" value="<?php echo $name?>" /></p>
        <p><label class="addr_label" for="strasse">Straße: </label>
          <input class="addr" name="strasse" type="text" size="20" maxlength="50" value="<?php echo $strasse?>" /></p>
        <p><label class="plz" for="plz">Postleitzahl:</label>
        <input name="plz" type="text" class="plz" size="10" maxlength="7" value="<?php echo $plz?>" />
        <label class="ort" for="ort">Ort: </label>
        <input class="ort" name="ort" type="text" size="20" maxlength="50" value="<?php echo $ort?>"/>
        </p>
        <p><label class="addr_label" for="email">E-Mailadresse: </label>
        <input class="addr" name="email" type="text" size="20" maxlength="80" value="<?php echo $email?>"/></p>
    </fieldset>
    <fieldset>
      <legend>Bestellung</legend>
         <p><label for="bestell">Bestellung (Anzahl, Bestellnummer, Bemerkungen):<br/></label>
      <textarea name="bestell" cols="50" rows="5"><?php echo $bestellung?></textarea><br/></p>
    </fieldset>
    <fieldset>
      <legend>AGB bestätigen</legend>
        <p><a class="link" href="agb.html">Die AGB hab ich gelesen, verstanden und akzeptiert:</a> 
          <input name="agb" type="checkbox" <?php echo "checked" ?> /></p>
        <p><input  class="button_abs" name="abs" type="submit" value="weiter" />
        <input class="button_rueck" name="clear" type="submit" value="Alles löschen"/></p>
    </fieldset>
   </div>    
</form>
<?php
}
//***************************************
if ($bestaetigen == 'Bestätigen')
{
//hier Bestellung abschicken
//++++++++++++++++++++++mailto+++++++++++++++++++++
echo "<p>Vielen Dank für Deine Bestellung.</p>";
echo 
"<p>Du wirst eine E-Mail mit einer Bestellbestätigung erhalten.</p>";
}
?>    
  </div>
</div>

<div class="fusszeile">
    &copy; TKR Carbon 2009
  </div>
<!--******************
ende Haupfenster, 900 px breit, inkl. Navigation, über die ganze Datei
****************** -->
</div>
<!--php abfrage-->

<!--ende body -->
</body>
</html>
Mit Zitat antworten
  #7 (permalink)  
Alt 29.11.2009, 16:35
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 16.09.2009
Beiträge: 14
Krulle befindet sich auf einem aufstrebenden Ast
Standard

so, weiter gehts.
problem mit der lieferadresse gelöst und schon wartet das nächste, der mailversand.
ich möchte nun gerne die daten an die mailadresse schicken, die ich bei dem hoster mit eingerichtet habe. nur funktioniert das nicht. schicke ich an eine externe adresse von z.b. yahoo oder co funktioniert der versand tadellos.
geht das grundsätzlich nicht? oder gibt es dafür ne andere klasse/funktion?
wenn es grundsätzlich nicht geht, hat mir jemand ne andere lösung, über einen umweg vielleicht?

vielleicht hat ja jemand eine idee.

danke und grüße
Mit Zitat antworten
  #8 (permalink)  
Alt 29.11.2009, 17:03
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 26.03.2007
Beiträge: 178
Thorben befindet sich auf einem aufstrebenden Ast
Standard

Ein kleiner Hinweis am Rande:

Du verwendest ja schon das label-Element; wenn du jetzt noch den dazugehörigen Inputs eine ID gibst, springt man beim Klicken auf das Label direkt in das Eingabefeld. Zum Beispiel:

Code:
<p>
    <label class="addr_label" for="strasse">Straße: </label>
    <input id="strasse" class="addr" name="strasse" type="text" size="20" maxlength="50" />
</p>
Mit Zitat antworten
  #9 (permalink)  
Alt 30.11.2009, 00:05
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 16.09.2009
Beiträge: 14
Krulle befindet sich auf einem aufstrebenden Ast
Standard

hey danke, guter tipp
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 16.06.2010, 01:57
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 16.09.2009
Beiträge: 14
Krulle befindet sich auf einem aufstrebenden Ast
Standard

Guten Abend!!!

Ich habe mal wieder ein kleines technisches Problem.
Habe die Homepage nun mal komplett überarbeitet, da mir das Design absolut nicht gefallen hat; man wächst ja schließlich mit seinen Aufgaben
Am besten poste ich mal einen Screen vom aktuellen Stand:
Imageshack - screenbestellung.jpg
Hier noch der (php)-code dazu:
(auf der Hauptseite)
PHP-Code:
<?php
        error_reporting 
(E_ALL); //alle Fehlermeldungen ausklammern //E_ALL
        
        //funktionen
        
function array_leer($ar_ray,$wert)                        //prüft, ob array leer um Fehlermeldung zu vermeiden.
        
{
            if(
array_key_exists($wert$ar_ray))
            return (
$ar_ray[$wert]);
        }
        
        
//Variablen    
        //Buttons
        
$button1 array_leer($_POST,'liste_uebernehmen');
        
$button2 array_leer($_POST,'position_loeschen');
        
$button3 array_leer($_POST,'liste_loeschen');
        
$button4 array_leer($_POST,'weiter_fenster1');
        
$button5 array_leer($_POST,'loeschen_fenster1');
        
$button6 array_leer($_POST,'weiter_fenster2');
        
        

// Seite 1 
if (!isset($button4)||isset($button1)||isset($button3)||isset($button2)){ //seite 1 bearbeiten
    //array definieren
    
$anzeigen_tabelle = array();
    
    
//Liste komplett löschen
    
if(isset($button3)){ 
        unset(
$_SESSION['tabelle'], $_SESSION['index'], $_SESSION['rechnungsbetrag']);
    }
    
    
//Liste Aktualisieren
    
if (isset($button1)||isset($button2)){ 
        
        
//SESSION-Variable laden
        
$index                         $_SESSION['index'];
        
$anzeigen_tabelle =    $_SESSION['tabelle'];
        
$rechnungsbetrag     $_SESSION['rechnungsbetrag'];
        
        
//POST-Variable laden
        
$index_checkbox array_leer($_POST,'checkbox_tabelle');
        
$produktwahl array_leer($_POST,'best_nr'); //Variable Bestellnummer
        
        //Position/en Löschen
        
if(isset($button2)){ 
            unset(
$anzeigen_tabelle[$index_checkbox]);
                
            
//und wieder in die Session schreiben
            
$_SESSION['tabelle'] = $anzeigen_tabelle
        }
            
        
// Block gilt nur, wenn eine Auswahl getroffen wurde
        
if (isset($produktwahl)){                            
            
            
//Tabelle bzw. array mit den Daten für die Bestellung einbinden
            
include 'datensatz.php';        
            
            
//Werte aus "datensatz.php" lesen
            
$bestellnummer $produkt[$produktwahl][0]; 
            
$beschreibung $produkt[$produktwahl][1];
            
$e_preis $produkt[$produktwahl][2];
            
            
//weitere Variablen definieren
            
$anzahl_produkte 1;
            
$g_preis $e_preis $anzahl_produkte// Gesamtpreis ausrechnen
            
$rechnungsbetrag $g_preis $rechnungsbetrag;             
            
$position $index;
            
            
//Erstellen der Listenvariable:
            
$table =     
            
'<tr>
                <td align="center">'
.$position.' <input id="position" name="checkbox_tabelle" type="checkbox" value="'.$index.'"></td>
                <td>'
.$bestellnummer.'</td>
                <td>'
.$beschreibung.'</td>
                <td align="center"><input name="anzahl'
.$index.'" type="text" value="'.$anzahl_produkte.'" size="4" maxlength="2"></td>
                <td>'
.$e_preis.'€</td>
                <td>'
.$g_preis.'€</td>
            </tr>
            '
;
            
            
// und $table ins array schreiben
            
$anzeigen_tabelle[$index] = $table;
            
            
//Alle veränderten Daten Global speichern
            
$_SESSION['index']++;
            
$_SESSION['tabelle'] = $anzeigen_tabelle;
            
$_SESSION['rechnungsbetrag'] = $rechnungsbetrag;
        } 
// ende Produktwahl
                
    //nun noch den HTML-code ausgeben
    
include 'seite1.php';
    }
//ende button 1 (list aktualisieren)
    
    //erster Durchgang, Seite 1 ausgeben und $index auf 1 setzen
    
else{
        include 
'seite1.php'
        
// Index am Anfang mit dem Wert = 1 beladen
        
$_SESSION['index'] = 1;
    }
}
?>
(hier wird das array auf "Seite1.php" eingebunden)
PHP-Code:
<?php                
                            
foreach($anzeigen_tabelle as $wort){
                                echo 
$wort;
                            }
                            
?>
(und hier noch der "datensatz.php"; eigentlich einfach nur eine Tabelle)
PHP-Code:
<?php
//Einschreiben des Datensatzes für die Bestell-Variablen in einem Array
//Wert [0] = Bestellnummer
//Wert [1] = Beschreibung
//Wert [2] = Preis
$produkt = array();
$produkt[1] = array("MERI-K""Ritzelabdeckung für ME/RP in Köperbindung""65");
$produkt[2] = array("MERI-L""Ritzelabdeckung für ME/RP in Leinwandbindung""65");
$produkt[3] = array("RRRI-K""Ritzelabdeckung für RR in Köperbindung""55");
$produkt[4] = array("RRRI-L""Ritzelabdeckung für RR in Leinwandbindung""55");
$produkt[5] = array("HABK-K""Halter für Brems/Kupplungsflüssigkeitsbehälter in Köperbindung""25");
$produkt[6] = array("HABK-L""Halter für Brems/Kupplungsflüssigkeitsbehälter in Leinwandbindung""25");
$produkt[7] = array("RRAH-K""Auspuffhalter für RR in Köperbindung""140");
$produkt[8] = array("RRAH-L""Auspuffhalter für RR in Leinwandbindung""140");
?>
So, nun hab ich 2 Probleme damit:
1. Wie kann ich mehrer Radiobuttons anklickbar in php integrieren? - Man kann zwar mehrere anklicken, allerdings werden diese nicht in der Globalen Post-Variable eingelesen (immer nur der zuletzt gedrückte Button wird eingelesen).

2. Wie kann ich die Nummer an erster Position Variabel ausführen? Sobald ich eine Position mitten drin lösche, ist hier eine Zahlenlücke aufgetreten (allerdings wird der Schlüssel des arrays aufgeschoben; kann ich diesen irgendwie auslesen und dort einfügen?). Ich habe schon überlegungen über ein mehrdimensionales array angestellt ( das Problem wird auch bei der Spalte mit "Anzahl" auftreten), allerdings gibts hier probleme mit der foreach-Schleife bei der Ausgabe.

Nun habe ich - denke ich - genug geschrieben, ich wäre für weitere tipps sehr dankbar und werd mich nun erstmal aufs Ohr haun.

Adé
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
php Seiten online stellen online Serveradministration und serverseitige Scripte 7 27.03.2009 13:13
php Datei in css webseite einbinden X5-599 Serveradministration und serverseitige Scripte 14 19.05.2008 10:52
Dateien auslagern - Include und PHP ArcVieh Serveradministration und serverseitige Scripte 17 27.03.2008 19:09
Skript Aufbau Frage ? dan_23 Serveradministration und serverseitige Scripte 9 14.03.2008 01:01
PHP lernen? Grafiken später hinzufügen? chilla Offtopic 0 21.07.2007 15:54


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:49 Uhr.