Hallo,
ich bastele momentan an einem Konfigurator, mit dem man Fahrräder zusammenstellen kann. Die benötigten Datensätze sind in einer MySQL-Datenbank hinterlegt und werden per PHP ausgewertet.
Der Ansatz ist wie folgt: Jedes Rad besteht aus mehreren Baugruppen ("Sattel", "Rahmen", "Gabel", usw.). Pro Gruppe können mehrere Modelle zur Verfügung stehen. Ist mehr als ein Modell vorhanden, kann genau eines über ein Option-Menü gewählt werden. Ansonsten wird die entsprechende Komponente eingegraut aufgelistet.
Bis hier hin funktioniert bereits alles so wie ich mir das vorstelle. Hier das dazugehörige Script in verkürzter Fassung:
Jetzt zu dem Part, der nicht funktioniert: Sind alle Komponenten gewählt, soll noch einmal eine Auflistung aller gewählten Teile angezeigt werden. D.h. es wird ein entsprechendes Formular abgeschickt und dann dessen Daten ausgegeben.
Und genau an dieser Stelle hapert es. Es gelingt mir nämlich nicht, die Variablen zu übergeben bzw. auszulesen.
Nach meinem Verständnis sollte durch obiges Skript unter anderem ein Input-Feld namens "Gabel" (sowie "Rahmen, "Sattel", usw.) existieren. Dessen Inhalt sollte ich somit über ein
ausgeben können. Ich kriege allerdings lediglich die Fehlermeldung:
Notice: Undefined variable: Gabel in ...\ausgabe.php on line 16
Ich habe mich daraufhin näher mit dem Thema beschäftigt und habe folgendes herausgefunden:
"register_globals" steht auf "off", "error_reporting" steht auf "E_ALL". Die PHP-Version ist 5.0.3, MySQL ist Version 4.1.7.
Mi diesem Wissen habe dann versucht, die Variablen sauberer anzusprechen und zwar mit:
Dies produziert dann leider nur die folgende Fehlermeldung:
Notice: Undefined index: Gabel in ...\ausgabe.php on line 16
Übergebe ich die Daten aber mit einem "mailto" werden diese korrekt in die eMail geschrieben.
Rahmen=SL+5.0&Steuersatz=Ritchey&Vorbau=Ritchey&Lenker=Ritchey&Lenkergriffe=Ritchey&Sattel=Selle+Italia+C2&Sattelst%FCtze=Ritchey&Kurbel=Shimano+Deore&Innenlager=Shimano+Deore&Kette=Shimano+HG53&Kassette=Shimano+Deore&Umwerfer=Shimano+Deore&Schaltwerk=Shimano+XT&Schalthebel=Shimano+Deore&Bremsen=Shimano+Deore+V-Brake&Felgen=Mach1+M210&Reifen=Conti+Explorer&var_abschicken.x=28&var_abschicken.y=8
Fazit: Ich weiß nicht mehr weiter. Für Hilfe wäre ich mehr als dankbar.
Gruß
Feyladil
ich bastele momentan an einem Konfigurator, mit dem man Fahrräder zusammenstellen kann. Die benötigten Datensätze sind in einer MySQL-Datenbank hinterlegt und werden per PHP ausgewertet.
Der Ansatz ist wie folgt: Jedes Rad besteht aus mehreren Baugruppen ("Sattel", "Rahmen", "Gabel", usw.). Pro Gruppe können mehrere Modelle zur Verfügung stehen. Ist mehr als ein Modell vorhanden, kann genau eines über ein Option-Menü gewählt werden. Ansonsten wird die entsprechende Komponente eingegraut aufgelistet.
Bis hier hin funktioniert bereits alles so wie ich mir das vorstelle. Hier das dazugehörige Script in verkürzter Fassung:
PHP:
<html>
<body>
<form action="ausgabe.php" method="post">
<table>
<?php
$var_sortierung = array ("Rahmen", "Rahmengröße", "Rahmenfarbe", "Dämpfer", "Steuersatz", "Gabel", "Vorbau", "Lenker", "Lenkergriffe", "Sattel", "Sattelstütze", "Kurbel", "Innenlager", "Kette", "Kassette", "Umwerfer", "Schaltwerk", "Schalthebel", "Bremsen", "Felgen", "Reifen");
for ($i=0; $i<21; $i++)
{
$var_sql = "SELECT
config_bikes.position,
config_bikes.biketitel,
config_bikes.bike,
config_bikes.bikegruppe,
config_components.komponententitel,
config_components.komponentengruppe,
config_bike_component.bike,
config_bike_component.bikegruppe,
config_bike_component.komponententitel,
config_bike_component.komponentengruppe,
config_bike_component.komponentengewicht,
config_bike_component.komponentenpreis
FROM
config_bikes,
config_components,
config_bike_component
WHERE config_components.komponentengruppe LIKE '" . $var_sortierung [$i] . "' AND
config_bikes.bike LIKE '" . $var_bike . "' AND
config_bikes.bikegruppe LIKE '" . $var_bikegruppe . "' AND
config_bikes.bike LIKE config_bike_component.bike AND
config_bikes.bikegruppe LIKE config_bike_component.bikegruppe AND
config_components.komponententitel LIKE config_bike_component.komponententitel AND
config_components.komponentengruppe LIKE config_bike_component.komponentengruppe
ORDER BY config_components.komponententitel";
$var_ergebnis = mysql_query ($var_sql, $_SESSION ["var_link"]) or die ($var_sql . " erzeugte folgenden Fehler: " . mysql_error () );
$var_anzahl = mysql_num_rows ($var_ergebnis);
if ($var_anzahl > 1)
{
echo ' <tr>' . "\n";
echo ' <td rowspan="' . $var_anzahl . '"><b>' . $var_sortierung [$i] . '</b></td>' . "\n";
while ($var_datensatz = mysql_fetch_array ($var_ergebnis))
{
echo ' <td><input name="' . $var_sortierung [$i] . '" type="radio" value="' . $var_datensatz ["komponententitel"] . '">' . $var_datensatz ["komponententitel"] . '</td>' . "\n";
echo ' </tr>' . "\n";
}
}
else
{
while ($var_datensatz = mysql_fetch_array ($var_ergebnis))
{
echo ' <tr>' . "\n";
echo ' <td><b>' . $var_sortierung [$i] . '</b></td>' . "\n";
echo ' <td><input name="' . $var_sortierung [$i] . '" type="text" value="' . $var_datensatz ["komponententitel"] . '" size="50" maxlength="50" readonly></td>' . "\n";
echo ' </tr>' . "\n";
}
}
}
?>
<tr>
<td style="height:35px; vertical-align:bottom;"><input name="var_abschicken" type="image" src="images/content_button_absenden.jpg"></td>
</tr>
</table>
</form>
</body>
<html>
?>
Jetzt zu dem Part, der nicht funktioniert: Sind alle Komponenten gewählt, soll noch einmal eine Auflistung aller gewählten Teile angezeigt werden. D.h. es wird ein entsprechendes Formular abgeschickt und dann dessen Daten ausgegeben.
Und genau an dieser Stelle hapert es. Es gelingt mir nämlich nicht, die Variablen zu übergeben bzw. auszulesen.
Nach meinem Verständnis sollte durch obiges Skript unter anderem ein Input-Feld namens "Gabel" (sowie "Rahmen, "Sattel", usw.) existieren. Dessen Inhalt sollte ich somit über ein
PHP:
<?php echo $Gabel; ?>
ausgeben können. Ich kriege allerdings lediglich die Fehlermeldung:
Notice: Undefined variable: Gabel in ...\ausgabe.php on line 16
Ich habe mich daraufhin näher mit dem Thema beschäftigt und habe folgendes herausgefunden:
"register_globals" steht auf "off", "error_reporting" steht auf "E_ALL". Die PHP-Version ist 5.0.3, MySQL ist Version 4.1.7.
Mi diesem Wissen habe dann versucht, die Variablen sauberer anzusprechen und zwar mit:
PHP:
echo $_POST ["Gabel"];
Dies produziert dann leider nur die folgende Fehlermeldung:
Notice: Undefined index: Gabel in ...\ausgabe.php on line 16
Übergebe ich die Daten aber mit einem "mailto" werden diese korrekt in die eMail geschrieben.
Rahmen=SL+5.0&Steuersatz=Ritchey&Vorbau=Ritchey&Lenker=Ritchey&Lenkergriffe=Ritchey&Sattel=Selle+Italia+C2&Sattelst%FCtze=Ritchey&Kurbel=Shimano+Deore&Innenlager=Shimano+Deore&Kette=Shimano+HG53&Kassette=Shimano+Deore&Umwerfer=Shimano+Deore&Schaltwerk=Shimano+XT&Schalthebel=Shimano+Deore&Bremsen=Shimano+Deore+V-Brake&Felgen=Mach1+M210&Reifen=Conti+Explorer&var_abschicken.x=28&var_abschicken.y=8
Fazit: Ich weiß nicht mehr weiter. Für Hilfe wäre ich mehr als dankbar.
Gruß
Feyladil