Willkommen auf dem Portal für Mediengestalter
|
|
|
| Autor |
Nachricht |
.MacSven
Threadersteller
Dabei seit: 20.03.2007
Ort: -
Alter: 21
Geschlecht:
|
Verfasst Fr 11.04.2008 09:09
Titel
|
 |
|
Also ich weiß echt nicht mehr weiter...
Mit folgendem Script werden die Daten der Mitreisenden mit der E-Mail übertragen:
| Code: | // Daten der Mitreisenden
for($i=1;$i<=sizeof($mf_vorname);$i++) {
if($mf_vorname[$i] == "") { break; }
$DATA["Mitreisender".$i." Vorname"]=$mf_vorname[$i];
$DATA["Mitreisender".$i." Nachname"]=$mf_nachname[$i];
$DATA["Mitreisender".$i." Perso-Nr"]=$mf_personr[$i];
$DATA["Mitreisender".$i." Geburtsdatum"]=$mf_geburtsdatum[$i];
$DATA["Mitreisender".$i." Strasse_Nr"]=$mf_strasse[$i];
$DATA["Mitreisender".$i." PLZ_Ort"]=$mf_plz[$i];
$DATA["Mitreisender".$i." Telefon"]=$mf_telefon[$i];
$DATA["Mitreisender".$i." Mail"]=$mf_mail[$i];
$DATA["Mitreisender".$i." Reiseversicherung"]=$mf_reiseversicherung[$i];
} |
Und hier mein Script um das Ganze in die Datenbank einzutragen:
| Code: | //Eintrag in Datenbank
$db = mysql_connect("xxxxxx", "xxxxxxxx", "xxxxxxx");
mysql_select_db("xxxxxxxxxx", $db);
$sql = "SELECT * FROM buchung_fun";
$result = mysql_query($sql);
$felder = mysql_num_fields($result);
$datensaetze = mysql_num_rows($result);
if (isset($_POST['Submit'])) {
$ip = $_SERVER['REMOTE_ADDR'];
$datum = strftime("%d.%m.%Y");
$time = strftime("%H:%M:%S");
$buchungen_fun = "INSERT INTO buchung_fun (ip, datum, time, anrede, vorname, name, geburtsdatum, strasse, plz, ort, land, mobil, telefon, fax, mail, http, pax, termin, reiseziel, info )
VALUES ('$ip', '$datum', '$time', '$_POST[geschlecht]', '$_POST[ha_vorname]', '$_POST[ha_nachname]', '$_POST[ha_geburtsdatum]', '$_POST[ha_strasse]', '$_POST[ha_plz]', '$_POST[ha_ort]', '$_POST[ha_land]', '$_POST[ha_mobil]', '$_POST[ha_vorwahl] $_POST[ha_telefon]', '$_POST[ha_fax]', '$_POST[ha_mail]', '$_POST[ha_www]', '$_POST[anz_personen]', '$_POST[termin]', '$_POST[reiseziel]', '$_POST[informationen]')";
for($i=1;$i<=sizeof($mf_vorname);$i++) {
if($mf_vorname[$i] != "") {
"INSERT INTO buchung_fun (ip, datum, time, vorname, name, geburtsdatum)
VALUES ('$ip', '$datum', '$time', '$_POST[mf_vorname][i]', '$_POST[mf_nachname][i]', '$_POST[mf_geburtsdatum][i]')";
}
}
if (mysql_query($buchungen_fun)) { echo "Eintrag erfolgreich."; }
else { echo "Eintrag fehlgeschlagen"; }
}
|
Der erste INSERT INTO Befehl funktioniert super, aber es werden einfach keine Mitereisenden eingetragen! Ich hab schon so viele Möglichkeiten ausprobiert... wer kann mir helfen?
|
|
| |
|
 |
caZpa
Account gelöscht
Ort: -
|
Verfasst Fr 11.04.2008 09:29
Titel
|
 |
|
Ich glaube Mysql kann keine $_POST Variablen verarbeiten
Versuch mal mit normalen Variablen.. $var=$_POST[... und dann INSERT
|
|
| |
|
 |
.MacSven
Threadersteller
Dabei seit: 20.03.2007
Ort: -
Alter: 21
Geschlecht:
|
Verfasst Fr 11.04.2008 09:45
Titel
|
 |
|
Muss ja eigentlich... wie gesagt, beim ersten INSERT INTO Befehl gehts, nur beim 2. nicht.
Ich habs aber trotzdem mal nach deinem Vorschlag getestet und es geht leider auch nicht. Ich bekomme aber auch keinen MySQL Fehler...
Ich glaube mitlerweile, dass es nur noch was mit der Abfrage zu tun hat, ob die Felder der Mitreisenden ausgefüllt sind. Das scheint MySQL nicht zu verstehen. Ich könnte mir vorstellen, dass es also an den ersten beiden Zeilen folgenden Codes liegt:
| Code: | for($i=1;$i<=sizeof($mf_vorname);$i++) {
if($mf_vorname[$i] != "") {
"INSERT INTO buchung_fun (ip, datum, time, vorname, name, geburtsdatum)
VALUES ('$ip', '$datum', '$time', '$_POST[mf_vorname][i]', '$_POST[mf_nachname][i]', '$_POST[mf_geburtsdatum][i]')";
}
} |
|
|
| |
|
 |
caZpa
Account gelöscht
Ort: -
|
Verfasst Fr 11.04.2008 09:48
Titel
|
 |
|
|
tippfehler oder müsste in das 2d array nicht $i rein?
|
|
| |
|
 |
.MacSven
Threadersteller
Dabei seit: 20.03.2007
Ort: -
Alter: 21
Geschlecht:
|
Verfasst Fr 11.04.2008 09:53
Titel
|
 |
|
Ich weiß nicht ob das an der Stelle da reingehört. Ich habs aber getest und geht auch nicht.
ich habs auch schon mit ['mf_vorname']['i'] versucht, auch das geht nicht... also da hab ich echt schon viele Varianten probiert.
Mir fällt da gerade noch was auf:
| Code: | | $_POST[mf_vorname][i] |
wäre doch eine Abfrage eines multidimensionalen Arrays, richtig? Erzeuge ich denn mit
| Code: | for($i=31;$i<=50;$i++) {
print("<tr".$tr_style.">
<td align=\"right\">".$i.".</td>
<td><input class=\"input\" name=\"mf_vorname[".$i."]\" type=\"text\" size=\"12\"/></td> |
überhaupt ein solches Array? Ich glaube nämlich nicht! Vielleicht liegt auch da das Problem, dann kann ich ja viel rumprobieren....
Was meint ihr?
Zuletzt bearbeitet von .MacSven am Fr 11.04.2008 10:13, insgesamt 1-mal bearbeitet
|
|
| |
|
 |
caZpa
Account gelöscht
Ort: -
|
Verfasst Fr 11.04.2008 10:50
Titel
|
 |
|
| .MacSven hat geschrieben: | Ich weiß nicht ob das an der Stelle da reingehört. Ich habs aber getest und geht auch nicht.
ich habs auch schon mit ['mf_vorname']['i'] versucht, auch das geht nicht... also da hab ich echt schon viele Varianten probiert.
Mir fällt da gerade noch was auf:
| Code: | | $_POST[mf_vorname][i] |
wäre doch eine Abfrage eines multidimensionalen Arrays, richtig? | also wenn dann | Code: | | $_POST['mf_vorname'][$i] |
| .MacSven hat geschrieben: |
Erzeuge ich denn mit
| Code: | for($i=31;$i<=50;$i++) {
print("<tr".$tr_style.">
<td align=\"right\">".$i.".</td>
<td><input class=\"input\" name=\"mf_vorname[".$i."]\" type=\"text\" size=\"12\"/></td> |
überhaupt ein solches Array? Ich glaube nämlich nicht! Vielleicht liegt auch da das Problem, dann kann ich ja viel rumprobieren....
Was meint ihr? |
eigentlich schon richtig... lass dir doch die arrays ausgeben mit print_r() dann weißt du es
Zuletzt bearbeitet von am Fr 11.04.2008 11:21, insgesamt 1-mal bearbeitet
|
|
| |
|
 |
.MacSven
Threadersteller
Dabei seit: 20.03.2007
Ort: -
Alter: 21
Geschlecht:
|
Verfasst Fr 11.04.2008 14:32
Titel
|
 |
|
So, ich habe es geschafft! Ich bedanke mich bei allen für eure Hilfe und schließe das Thema nun hiermit ab!
Für diejenigen, die das selbe Problem auch mal haben sollten und diesen Thread durchsuchen, poste ich nun noch die Lösung fürs Problem:
| Code: | $buchungen_fun = "INSERT INTO buchung_fun (ip, datum, time, anrede, vorname, name, geburtsdatum, strasse, plz, ort, land, mobil, telefon, fax, mail, http, pax, termin, reiseziel, info )
VALUES ('$ip', '$datum', '$time', '$_POST[geschlecht]', '$_POST[ha_vorname]', '$_POST[ha_nachname]', '$_POST[ha_geburtsdatum]', '$_POST[ha_strasse]', '$_POST[ha_plz]', '$_POST[ha_ort]', '$_POST[ha_land]', '$_POST[ha_mobil]', '$_POST[ha_vorwahl] $_POST[ha_telefon]', '$_POST[ha_fax]', '$_POST[ha_mail]', '$_POST[ha_www]', '$_POST[anz_personen]', '$_POST[termin]', '$_POST[reiseziel]', '$_POST[informationen]')";
for($i=1;$i<=sizeof($mf_vorname);$i++) {
if($mf_vorname[$i] == "") { break; }
$mf_buchungen_fun[$i] = "INSERT INTO buchung_fun (ip, datum, time, vorname, name, geburtsdatum )
VALUES ('$ip', '$datum', '$time', '$mf_vorname[$i]', '$mf_nachname[$i]', '$mf_geburtsdatum[$i]')";
}
if (mysql_query($buchungen_fun)) { echo "Eintrag erfolgreich."; }
else { echo "Eintrag fehlgeschlagen"; }
for($i=1;$i<=sizeof($mf_vorname);$i++) {
(mysql_query($mf_buchungen_fun[$i]));
}
} |
|
|
| |
|
 |
Pixelpole
MGI-Loser 2008
Dabei seit: 25.10.2004
Ort: Hart Trinkistan
Alter: 22
Geschlecht:
|
Verfasst Fr 11.04.2008 14:33
Titel
|
 |
|
findest du den code nicht nen *tick* zu unübersichtlich
du könntest dir beispielsweise den insert-string mit sowas zusammenbauen:
| Code: |
function createInsert($table, array $data) {
$fields = array_keys($data);
$values = array_values($data);
return 'INSERT INTO `'.$table.'` (`'.implode('`,`',$fields).'`) VALUES ('.implode(',',$values).')';
}
$data = array();
$data['field_1'] = "'test'";
$data['field_2'] = 3;
$sql = createInsert('test_table',$data);
echo $sql;
|
Zuletzt bearbeitet von Pixelpole am Fr 11.04.2008 14:41, insgesamt 1-mal bearbeitet
|
|
| |
|
 |
| |
|
 |
| Ähnliche Themen |
Actionscript / PHP: Arrays in Arrays bei Übergabe mit Post?
[php]: problem mit arrays die zusammen sortiert werden solle
[php] mysql-problem?
mysql-php Problem
mySQL -> PHP Problem
PHP+MySQL-Auswahl-Problem
|
 |
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|