# [HTML/CSS/PHP] Problem bei div-Positionierung



## Floletni (31. Januar 2011)

Ich arbeite grad an einer Anmeldeseite. Leider gibt es ein Problem bei der Pisitionierung einer <div>-Box wo ein Formular drin ist. Diese Box reagiert auf keine Höhenangaben usw. Sobald ein seitlicher Kasten angelegt wird rutscht das Formular ans Seitenende. Ich sehe im besten Willen kein Fehler (leider sind meine Kenntnise zu HTML eingerostet, deswegen könnte ich was übersehen haben).


```
<html>
<head>

<style type="text/css">
<!--
#kopf { width:1000px; height:75px; background-color:#366C63;}
#seite { width:50px; height:800px; top:75; background-color:#7C0142;}
#textfeld { width:950px; height:725px; top:120px; left:20px;background-color:#E3EDA5;}

-->
</style>
<?php
include 'connect.php';
$imma = $_POST["imma"];
?>
</head>
<body>
<div id="kopf"></div>
<div id="seite"></div>
<div id="textfeld">
<form action="eintragen.php" method="post">
<table border="0" th width="800px">
        <tr>
                <td>
                        Vorname/ first name:
                </td>
                <td>
                        <input type="text" size="30" maxlength="50"
                        name="vorname">
                </td>
        <tr>
                <td>
                        Nachname/ family name:
                </td>
                <td>
                        <input type="text" size="30" maxlength="50"
                        name="nachname">
                </td>
        </tr>
                <td>
                        Geburtsdatum/ date of birth:
                </td>
                <td>
                        <select name="gebtag" size="1">
                        <?php
                        $tag = 1;
                        while ($tag < 32)
                         {
                         echo "<option>".$tag."</option>";
                         $tag++;
                         }
                        ?>
                        </select>
                        <select name="gebmonat" size="1">
                        <option>Januar</option>
                        <option>Febuar</option>
                        <option>März</option>
                        <option>April</option>
                        <option>Mai</option>
                        <option>Juni</option>
                        <option>Juli</option>
                        <option>August</option>
                        <option>September</option>
                        <option>Oktober</option>
                        <option>November</option>
                        <option>Dezember</option>
                        </select>
                        <select name="gebjahr" size="1">
                        <?php
                        $anfang = date('Y')-85;
                        $ende = date('Y')-15;
                        echo $anfang."<br>".$ende;
                        while ($anfang < $ende)
                         {
                         echo "<option>".$anfang."</option>";
                         $anfang++;
                         }
                        ?>
                        </select>
                </td>
        <tr>
                <td>
                        E-Mail:
                </td>
                <td>
                        <input type="text" size="30" maxlength="50"
                        name="email">
                </td>
        </tr>
</table>
<br>
<input type="submit" value="Abschicken / send">
</form>
</div>
</body>
</html>
```
Ich hoffe ihr seht wenigstens woran es hängt. Danke schon im vorraus. Im Anhang ist noch ein Bild wie es momentan aussieht.


----------



## zcei (31. Januar 2011)

Guck dir mal bei css4you.de die Eigenschaft "float" an 
Damit sollte das gehen. Wenn mich nicht alles täuscht, muss die Anmeldebox ein float:left bekommen


----------



## Mr.Blade (31. Januar 2011)

Jep, so sieht's aus.

```
<html> <head>  <style type="text/css"> <!-- #kopf { width:1000px; height:75px; background-color:#366C63;} #seite { width:50px; height:800px; top:75; background-color:#7C0142; float:left;} #textfeld { width:950px; height:725px; top:120px; left:20px;background-color:#E3EDA5;}  --> </style> <?php include 'connect.php'; $imma = $_POST["imma"]; ?> </head> <body> <div id="kopf"></div> <div id="seite"></div> <div id="textfeld"> <form action="eintragen.php" method="post"> <table border="0" th width="800px">         <tr>                 <td>                         Vorname/ first name:                 </td>                 <td>                         <input type="text" size="30" maxlength="50"                         name="vorname">                 </td>         <tr>                 <td>                         Nachname/ family name:                 </td>                 <td>                         <input type="text" size="30" maxlength="50"                         name="nachname">                 </td>         </tr>                 <td>                         Geburtsdatum/ date of birth:                 </td>                 <td>                         <select name="gebtag" size="1">                         <?php                         $tag = 1;                         while ($tag < 32)                          {                          echo "<option>".$tag."</option>";                          $tag++;                          }                         ?>                         </select>                         <select name="gebmonat" size="1">                         <option>Januar</option>                         <option>Febuar</option>                         <option>März</option>                         <option>April</option>                         <option>Mai</option>                         <option>Juni</option>                         <option>Juli</option>                         <option>August</option>                         <option>September</option>                         <option>Oktober</option>                         <option>November</option>                         <option>Dezember</option>                         </select>                         <select name="gebjahr" size="1">                         <?php                         $anfang = date('Y')-85;                         $ende = date('Y')-15;                         echo $anfang."<br>".$ende;                         while ($anfang < $ende)                          {                          echo "<option>".$anfang."</option>";                          $anfang++;                          }                         ?>                         </select>                 </td>         <tr>                 <td>                         E-Mail:                 </td>                 <td>                         <input type="text" size="30" maxlength="50"                         name="email">                 </td>         </tr> </table> <br> <input type="submit" value="Abschicken / send"> </form> </div> </body> </html>
```

Grüße


----------



## Floletni (3. Februar 2011)

Bin jetzt schon ein paar Schritte weiter gekommen (Sprachauswahl zum Bleistift) _Danke für die Hilfe_.

Eine Frage hätte ich noch. Wie kann während einer Paasworteingabe überprüfen, ob die eingegebenen Passwörter identisch sind? Quasi "on the Fly". Nicht erst durch eine zusätzliche Seite, wo sie kontrolliert werden.


----------



## zcei (4. Februar 2011)

Also du meinst bei der Registrierung zB?

Ich hab grad keine Zeit für den kompletten code deswegen nur schnell paar Stichwörter:

- javascript

```
<input type="text" size="30" name="pw_confirm" onkeyup="this.check()" />
```

dann in der check funktion prüfen lassen ob die beiden felder (abfrage per: this.form.pw.value == this.form.pw_confirm.value)

und wenns true ist zB nen icon mit nem grünen haken einbinden lassen bei falsch halt nen rotes x


----------



## Puepue (5. Februar 2011)

Javascript funktioniert aber auch immer nur wenns aktiviert ist 
Du solltest sicherheitshalber auch noch (zusätzlich, Javascript ist ja nichts böses) "normale" Fehlermeldungen einbauen
Nehmen wir mal an, ich habe kein Javascript aktiviert und gebe 2 verschiedene Passwörter ein - dann kann ich mich entweder trotzdem registrieren (=> Doof), wenn du keine PHP-Abfrage eingebaut hast oder ich merke nicht, warum ich mich nicht registrieren kann (=> Auch doof).

Du musst ja nicht auf eine Extra-Seite umleiten, eine Fehlermeldung oben auf der Seite nach abschicken des Formulars, sofern ein Fehler auftritt, ist eigentlich sogar der Normalfall.

Das wäre dann bspw.


```
<?php
   if ($_POST['passwort'] != $_POST['repeat']) {
      echo "Du hast 2 verschiedene Passwörter eingegeben! Versuchs nochmal...";
   }
?>
```


----------



## zcei (5. Februar 2011)

schon klar, dass es PHP-seitig nochmal überprüft werden sollte.
Früher hab ich auch so wenig wie möglich mit JavaScript gearbeitet, aber es ist einfach saupraktisch und bietet erst dieses "Web2.0-Feeling" und sei es nur AJAX bei ner Flugbuchung or Whatever


----------



## Floletni (11. Februar 2011)

PHP-mäßig überprüfe ich die Eingabe eh noch mal überprüft. Mit dem Javascriptteil bekommt man aber einen besseren "Bedienkompfort" hin. Man muss nicht erst auf die nächste Seite schauen um zu merken das sein Passwort falsch ist. Wobei das mit dem ausgeschaltetem Java egal ist. Die kommen auf min 2 Igel-Rechner und die können dann entsprechend eingestellt werden, wenn ich mit dem Verantwortlichen rede.

Ne andere Sache zum selben Projekt. Mittlerweile hat sich viel getan. Nun gibt es aber nen Problem beim Übergang vom eigenem Rechner (mit dem neusten XAMPP und phpMy Admin) auf dem Server wo nur PHP 4.irgendwas drauf läuft.
Bei mir wird alles super angezeigt. Nur auf dem Server nicht. Dort erscheint eine blanke Seite. Nicht mal Quelltext. 
Könnte es daran liegen wie ich die Seite aufgebaut hab? Schematische Darstellung:


```
<?php Code ?>
<html>
<?php Code ?>
HTML Zeug
<?php Code ?>
HTML Zeug
</html>
```

Der erste php-Teil wird ausgegeben. Der zweite und folgende Teile dann nicht mehr.


----------

