Archiv verlassen und diese Seite im Standarddesign anzeigen : was ist falsch
robiotor
04-07-2003, 17:45
was ist da dran falsch
$preise = array('Artikel 1' => '2,50','Artikel 2' => '3,50','Artikel 3' => '7,50','Artikel 4' => '10,50');
Preis: $preise[$_POST['Bestellung']]
Ich kann so eigentlich keinen Fehler entdecken... wäre nett wenn du mal den kompletten code ausschnitt posten würdest.
robiotor
04-07-2003, 19:06
das hier steckt vor der mail() funktion
$preise = array('Artikel 1' => '2,50','Artikel 2' => '3,50','Artikel 3' => '7,50','Artikel 4' => '10,50');
das hier steckt in der mail() funktion
Preis: $preise[$_POST['Bestellung']]
und das ist der fehler
Parse error: parse error, expecting `']'' in /bla/bla line 210
und line 210 ist Preis: $preise[$_POST['Bestellung']]
Hi!
Schon besser aber immer noch nicht aussagekräftig... mit codeausschnitt meine ich eigentlich auch den teil vor und nach der Fehlermeldung!
Preis: $preise[$_POST['Bestellung']]
Ist kein PHP Code - sicher dass es so dasteht und nicht etwa so:
echo "Preis: " . $preise[$_POST['Bestellung']];
So würde es nämlich funktionieren.
robiotor
04-07-2003, 21:36
Original geschrieben von Gaert
Hi!
Schon besser aber immer noch nicht aussagekräftig... mit codeausschnitt meine ich eigentlich auch den teil vor und nach der Fehlermeldung!
Preis: $preise[$_POST['Bestellung']]
Ist kein PHP Code - sicher dass es so dasteht und nicht etwa so:
echo "Preis: " . $preise[$_POST['Bestellung']];
So würde es nämlich funktionieren.
doch doch das steht so da wie ich sagte. die genaue fehlermeldung lautet Parse error: parse error, expecting `']'' in /var/www/blabla on line 211 und line 211 ist Preis: $preise[$_POST['Bestellung']]
vieleicht erkläre ich was ich damit will, vieleicht ist das auch der falsche weg.
ich habe ein bestellformular gebaut. da ist ein feld ein dropdown menue, sagt man so denke ich :) wo man verschiedene sachen auswählen kann.
das was ausgewählt wurde wird mit mail() an den admin und an den besteller versendet. nun haben die artikel feste preise. artikel 1 = 1 euro artikel 2 = 2 euro usw.
ich möchte auch per mail() den preis des artikels kennzeichnen damit der kunde informiert ist auch per mail.
ach warum schickt mir das board hier keine mail bei neue nachricht, habe es ausgewählt aber
Der Ansatz ist sicherlich ok, aber bitte poste mal einen größeren Teil des Skripts, mit der einen Zeile und der Fehlermeldung alleine kann ich nicht viel anfangen.
Btw: Hast du ne eigene Funktion geschrieben die mail heisst?
Wenn ja benenne sie lieber um.
robiotor
04-07-2003, 22:09
....
if(!isset($_POST['AGB'])){
$warn[] = 'Sie muessen unsere AGB`s akzteptieren';
}
$AGB_Gelesen = (isset($AGB) ? "Ja" : "Nein");
$Rechnung_Post = (isset($Rechnung) ? "Ja" : "Nein");
if(count($warn) != 0){
// Fehler sind aufgetreten!
}
else{
// Alle Daten sind da!
$preise = array('artikel 1' => '1','artikel 2' => '2','artikel 3' => '3','artikel 4' => '4');
#$preise = array('Farbe' => 'rot'
# ,'Geschmack' => 'süß'
# ,'Form' => 'rund'
# ,'Name' => 'Apfel'
# ,4 // Schlüssel ist 0
# );
#Preis: $preise[$_POST['Bestellung']]
#############################################
# E-mail an Administartor
#############################################
mail("e@mail.adresse",
"Neue Bestellung\n",
"Es wurde eine Neue Bestellung aufgegeben:
------------------------------------------------\n
Hallo $_Post[Name],
Sie haben bei uns folgendes bestellt.
Bestellung: $_POST
der gewünschte artikel kostet
[B]und hier will ich den preis einbauen"
From: e@mail.de");
und das geht nicht so wie ich geschrieben habe die fehlermeldung ist nach wie vor
Parse error: parse error, expecting `']'' in /var/www/bestellung.php on line 211 und wie gesagt line 211 ist Preis: $preise[$_POST['Bestellung']];
So... jetzt isses klar was der Fehler ist:
Lass einfach die einachen Anführungszeichen vor und nach "Bestellung" weg und schon funktioniert es!
robiotor
05-07-2003, 07:00
ich habe alles probiert
Preis: $preise[$_POST['Bestellung']]
Preis: $preise[$_POST[Bestellung]]
Preis: $preise[$_POST["Bestellung"]]
nichts geht, und es kommt immer der gleiche fehler
jwebworks
05-07-2003, 07:48
kann mir jemand erklären, warum diese
zeile (ohne Kommentar) funktionieren soll?
ohne echo und strichpunkt?
Preis: $preise[$_POST['Bestellung']]
anstatt
echo "Preis:" . $preise[$_POST['Bestellung']];
und hier
Hallo $_Post[Name],
gibt es die Variable $Post wirklich?
und da
der gewünschte artikel kostet
und hier will ich den preis einbauen"
From: e@mail.de");
fehlt ein Komma nach '...einbauen"' und
'From: @mail.de...'
Ist es wirklich möglich, einfach so Text
über mehrere Zeilen hinweg hinzutippen?
wie wäre es mit:
$mailtext = "Erste Zeile\n";
$mailtext .= "Zweite Zeile\n";
$mailtext .= "Preis" . $POST[sonstwas] . "\n";
$mailtext .= "nächste Zeile\n";
mail ( "bla", "bla", $mailtext, ...)
Ich denke mal, daß das nicht gehen wird, da komplexe Strukturen beim parsing so nicht unterstützt werden, siehe http://www.php.net/manual/de/language.types.string.php#language.types.string.pa rsing
Vielleicht mal so probieren:
Preis: {$preise[$_POST['Bestellung']]}
Original geschrieben von jwebworks
Ist es wirklich möglich, einfach so Text
über mehrere Zeilen hinweg hinzutippen?
Kann es vielleicht sein, daß das alles in einer Zeile steht und nur dein Editor das ganze zur Anzeige umbricht? emacs z.B. macht das so und zeigt bei jedem Umbruch ein '\\' an.
Pingu
robiotor
05-07-2003, 09:31
Original geschrieben von jwebworks
kann mir jemand erklären, warum diese
zeile (ohne Kommentar) funktionieren soll?
ohne echo und strichpunkt?
also ich kann es nicht erklären aber es funktioniert. ich schätze mal weil es in mail() steht aber ich kann es nicht 100%ig sagen
Preis: $preise[$_POST['Bestellung']]
anstatt
echo "Preis:" . $preise[$_POST['Bestellung']];
und hier
Hallo $_Post[Name],
gibt es die Variable $Post wirklich?
nein die variable $Post gibt es nicht, es wird per $_POST gesendet.
und da
der gewünschte artikel kostet
und hier will ich den preis einbauen"
From: e@mail.de");
fehlt ein Komma nach '...einbauen"' und
'From: @mail.de...'
Ist es wirklich möglich, einfach so Text
über mehrere Zeilen hinweg hinzutippen?
ja das ist möglich.
wie wäre es mit:
$mailtext = "Erste Zeile\n";
$mailtext .= "Zweite Zeile\n";
$mailtext .= "Preis" . $POST[sonstwas] . "\n";
$mailtext .= "nächste Zeile\n";
mail ( "bla", "bla", $mailtext, ...)
auch nicht schlecht aber warum so umständlich ?
und ich habe das nun gelöst.
also
Preis: $preise[$_POST['Bestellung']]; funktioniert nicht so in mail() direkt. ich habe das in einer variable gespeichert und dann diese variable in mail() abgerufen.
nun klapt es 1a
robiotor
05-07-2003, 09:33
ach ich habe mich verschrieben, das Hallo $_Post[Name], heist $_POST[Name]
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.