"Bitte nur soviel Platz verbrauchen wie nötig aber bitte alle gleich viel"
genau das suche ich ![]()
Schade. Dachte es gibt da evtl irgentwas.
ich probiers mal mit
"Bitte nur soviel Platz verbrauchen wie nötig aber bitte alle gleich viel"
genau das suche ich ![]()
Schade. Dachte es gibt da evtl irgentwas.
ich probiers mal mit
Moin,
suche Ideen zur Gestaltung meines Scripts. Also eher die Gestaltung des CSS Teils.
Hier ein Screenshot: html-seminar.de/woltlab/attachment/494/
Wie man sieht sind die Table alle unterschiedlich groß.
Suche jetzt eine Möglichkeit um alle Table irgentwie "gleich" aussehen zu lassen.
Das ganze läuft über display:inline-table damit nicht ein Table über die ganze Breite geht, sondern sich ein oder mehrere Table bei genügend Platz nebeneinander legen.
Nur wie bekomm ich die einigermaßen gleich?
Beisp-Seite: http://vertex.selfhost.bz/index.html
Kann ich grad nix mit anfangen =)
btw - das script ist schon wieder outdated. Hab alles nochmal auf Anfang gesetzt und jetzt wird es professionell =)
Hab nur noch paar Probleme mit tables die colspan verwenden. Aber das bekomm ich auch noch hin.
EDIT: neue version in action: http://vertex.selfhost.bz/index.html
feedback erwünscht =)
css is nicht meine Stärke, aber ich denke div wäre sinnvoller.
Bei einer Tabelle hättest Du 3 feste Spalten. Bei divs hättest Du den Vorteil, dass die container sich (display:inline) der Breite nach "zurechtwürfeln".
Wenn die Seite also kleiner wird, dann "rutschen" die divs auf der rechten seite runter und Du hättest 2 Spalten.
Das würde alerdings eine feste Breite der container voraussetzen.
index.php
<?php
session_start();
/*zum test POST simulieren:*/ $_POST['vorname'] = "test";
if(
$_POST['vorname'] == "test"
/* ... */
){
$_SESSION['eingeloggt'] = true;
header("Location: geschuetzt.php");
exit(0);
}else{
$_SESSION['eingeloggt'] = false;
}
?>
Alles anzeigen
geschuetzt.php:
<?php
session_start();
if(!isset($_SESSION['eingeloggt']) or $_SESSION['eingeloggt'] !== true){
header("Location: index.php");
exit(0);
}
echo 'session: ';
var_dump($_SESSION['eingeloggt']);
?>
Alles anzeigen
pfad musst du noch anpassen
Das else kann weg.
Du musst Dich mit den Funktionen die Du verwendest ein bissl auseinander setzen.
Immer gut ist zB auf php.net die docu und die Bsp anzusehen. Aber nicht nur drüber gucken und gut, sondern auch verstehen.
Denn wenn Du ein Script für einen Geschützten Bereich schreibst, dann aber nicht genau verstehst was die Funktionen eigtl machen,
dann wissen warscheinlich andere mehr über evtl Lücken/Fehler als Du.
Jetz wirds komisch =)
Warum denn erst $_SESSION und dann aber dort wo es gebraucht wird ein GET Wert in die Session packen?
Zur index.php:
alles was nach dem header(...) kommt wird nicht ausgeführt. Daher ist $_SESSION['eingeloggt'] nie true.
Also das mit dem GET wieder weg und
<?php
if(@$_GET['vorname']=="test"
and @$_GET['nachname']=="test"
and $_GET['email']=="test"
and $_GET['tag']=="test"
and $_GET['monat']=="test"
and $_GET['jahr']=="test")
{
$_SESSION['eingeloggt'] = true;
/* echo "<h1>hat geklappt</h1>"; <--- wird sowieso nicht angezeigt ... also weg */
header("Location: http://localhost/test/geschuetzt.php); #sofort weiterleiten nach geschuetzt.php
}
?>
Alles anzeigen
und in geschuetzt.php:
<?php
//echo @$_GET['session'];
?>
<?php
session_start();
if($_SESSION['eingeloggt'] !== true)
{
header("Location: http:index.php");
}
else
{
# weiter gehts ...
}
?>
Alles anzeigen
Du kannst aber auch gleich in der index.php prüfen, ob weitergeleitet werden muss.
Fänd ich sinnvoller erst weiter zu leiten, wenn login erfüllt ist.
=)
Mitgeben brauchste nix.
Was mir auf Anhieb einfällt wäre, dass Du evtl in der geschuetzt.php die Session nicht gestartet hast.
(wenn Du die Weiterleitung header(...) abfeuerst, dann läuft das Programm nicht weiter, sondern startet in der geschuetzt.php neu)
teste mal in der geschuetzt.php die session mit
echo $_SESSION[...]; die;
Dann wird es demnach:
Weiterhin sage ich in der geschuetzt.php, wenn die Session in index.php nicht gesetzt wurde, dann header("Location: http://localhost/test/index.php")
wohl so sein, dass Du aus der geschuetzt.php sofort wieder zurück zur index.php geschmissen wirst.
Teste mal in der geschuetzt.php den Ablauf.
Also Stück für Stück vortasten per Testausgaben per echo "test"; die;
Evtl ist ja die Session garnicht vorhanden, oder eine if-Abfrage ist fehlerhaft ect.
Achja - Sessions: hast Du die Sessions gestartet? ( session_start(); )
Wenn nicht, dann gibts auch keine Session =)
(session_start() immer am Anfang des Programms bevor etwas ausgegeben wurde)
Gibts eine Fehlermeldung?
Wenn nicht - probier mal am anfang des scripts: error_reporting(E_ALL);
Wenn kein Fehler vorhanden, dann teste mal ob Du in der geschuetzt.php ankommst.
Also in geschuetzt.php gleich als erste Zeile ein:
echo "test"; die;
Dann weißt Du schon mal ob die Weiterleitung geht.
Wenn Du nicht in der geschuetzt.php landest, dann probier mal ein echo "test"; die; VOR dem header("Location: http://localhost/test/geschuetzt.php")
Wenn Du kein "test" augegeben bekommst, dann führt das Programm garnicht erst dort hin =)
Naja suchen weniger.
Wir könnten Di ja erklären was Du machen ~musst. Nur wirst Du dann nichts davon verstehen wenn Du noch nie was mit den jeweiligen Programmiersprachen gemacht hast.
Und die Programmiersprache erklärt ja keiner im Forum. Dafür gits ja etliche Seiten bei denen man das lernen/lesen kann.
Zb;
PHP/SQL : http://www.php-kurs.com
Und jetzt? Das klingt als würdest Du jetzt darauf warten, dass jemand zaubert ![]()
Es gibt nur 2 Möglichkeiten:
- du lernst, bis du es schreiben/anwenden kannst
- du bezahlst jemanden der sich damit aukennt
=)
PS: Ich rede von Bezahlen, da bei dem Vorhaben sicher mehr als eine Stunde nötig ist.
Außerdem muss derjenige sich die bereits vorhandene Seite ansehen, den Punkt zur Integrierung finden/schreiben.
Benötigtes Wissen wäre mindestens HTML, PHP, SQL
und span == inline-element (on default)
wärend div block-element (on default)
Ajax wolltest Du nicht, sagtest Du.
=)
Hab gerade ein Problem.
Beispielzustand:
formular in einem div container
Wenn ich jetzt das div anspreche und den Inhalt nehme (var inhalt = document.getElement...().innerHTML),
dann bekomme ich nicht evtl eingegebene Daten der input-Felder.
Gibts dafür ne Lösung? Sowas wie cloneNode(true) für innerHTML?
Demnach ist da ein Webserver und Deine Endung ist .html.
Vieleicht hast Du es ja überlesen, daher hier nochmal:
PHP wird in einer html Datei nicht ausgeführt
es sei denn: PHP Code in HTML Dateien ausführen
Du musst dem Webserver also "sagen", dass er PHP auch in .html Dateien ausführen soll.
Du kannst es Dir allerdings auch einfacher machen und einfach nur die Endung .php nutzen.
Wüsste jetzt keinen Vorteil wenn man PHP via .html nutzt.
Eher fällt mir ein Nachteil ein. Denn wenn PHP nicht interpretiert wird (config Fehler oder was auch immer), dann findet sich der Code (der php code) im Quelltext wieder.
Was geht denn nicht?
Ich hab Dir doch schon weiter oben ein bsp gepostet wie Du ein Selectfeld erstellen kannst.
Du musst Dir halt Gedanken machen wie Du es anwenden kannst.
Es sind ja auch mehrere Selectfelder in Deinem Formular. Daher musst Du verstehen was da passiert um es effectiv zu nutzen.
Moin,
mit dem Array hab ich nur daten simuliert. Bei Dir kommen die Daten dann natürlich aus der db.
=)
zu 1.
einfache lösung (ungetestet)
<?php
# simuliertes array $daten:
$daten = array(
0 => array(
'id' => 'mavic_vr',
'name' => 'Mavic vr',
'gewicht' => 20,
'preis' => 60,
),
1 => array(
'id' => 'dt_swiss_vr',
'name' => 'DT Swiss vr',
'gewicht' => 23,
'preis' => 52,
),
);
# über $_POST erhält man das evtl bereits gewählte feld
if(isset($_POST['felge_vr'])and isset($daten[$_POST['felge_vr']])){
$selected_data = $daten[$_POST['felge_vr']];
$selected_field = $daten[$_POST['felge_vr']]['id'];
}else{
$selected_data = false;
$selected_field = 0;
}
?>
...
<tr>
<td>Felge:</td>
<td>
<select name="felge_vr" size="1">
<option value="0"<?php if($selected_field === 0){echo "selected";} ?>></option>
<?php
foreach($daten as $key => $val){
echo '<option value="'.htmlspecialchars($val['id']).'"';
if($val['id'] == $selected_field){
echo ' selected';
}
echo '></option>';
}
?>
</select>
</td>
<td><?php echo htmlspecialchars($daten[$_POST['felge_vr']]['gewicht']); ?></td>
<td><?php echo htmlspecialchars($daten[$_POST['felge_vr']]['preis']); ?></td>
...
<?php
Alles anzeigen
frage 2 ergibt für mich keien sinn.
du connectest zur db und rufst die daten ab.
per php checkst du, ob das select über post gesetzt ist (das formular bereits abgeschickt wurde).
dann gibts du via des ausgewählten selects ($_POST['felge_vr']) die daten aus
deswegen ich nix design soo much =)
finde diese crossbrowser geschichte is einfach zeitverschwendung
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.