Übergabe von Werten PHP-JS an die nächste Seite - Datenbank -Datei oder Mail

Mitglied: Schimpy

Schimpy (Level 1) - Jetzt verbinden

06.02.2010, aktualisiert 20.04.2010, 5907 Aufrufe, 20 Kommentare

Übergabe von Werten PHP-JS an die nächste Seite - Datenbank -Datei oder Mail

Hallo !

Ich habe eine Tabelle erstellt, in der Snacks stehen
Mars, Snickers, Twix dahinter ist eine Zahl " 0 " und dahinter ist ein Button für "+1" und ein Button" für -1

wenn man jetzt hinter dem Mars auf +1 klickt, wird der Wert um 1 erhöht...
am Ende klickt man auf den Absende Button
und die Werte werden übermittelt
wie ist mir eigentlich egal - hauptsache irgendwie :) face-smile)

ich schaffe es nicht, die Werte an eine neue Seite zu übermitteln
habs jetzt auch schon mit $_POST und HTTP_POST_VARS probiert
keine Chance.... wo drin stehen die Werte??? m.E. in <div id="<?=$row['name'];?>">
aber die Werte kann ich nicht auslesen

dem div ein "name" zu geben, bringt auch nix :( face-sad
Mitglied: Arano
06.02.2010 um 19:01 Uhr
Guten Abend Schimpy,

Soll das ein Shop werden ? Also ein richtiger online Shop über den was bestellt werden kann ?
Ach du heiliger Strohsack

Nee sorry, du solltest erst einmal lernen bevor du ernsthaft irgendwelche Projekte umsetzen möchtest, erst recht wen es dabei um einen Shop o.ä. geht bei dem finanzieller Schaden entstehen kann !
Und so wie ich das sehe, muss du __ganz vorne anfangen__ bei HTML und CSS.
http://de.selfhtml.org/


~Arano
Bitte warten ..
Mitglied: Schimpy
06.02.2010 um 19:14 Uhr
tjoa danke für deine Antwort
aber damit kann ich nicht viel anfangen :) face-smile

soll kein Shop werden, dafür würd ich osCommerce nehmen

ich will einfach nur den Wert hochzählen ( funktioniert ja bereits )
und diesen dann an eine neue seite übergeben...
Bitte warten ..
Mitglied: 16568
16568 (Level 4)
06.02.2010 um 19:15 Uhr
Besser kann man hier auch nicht antworten :-) face-smile


Lonesome Walker
Bitte warten ..
Mitglied: Arano
06.02.2010 um 19:25 Uhr
Okay, wollen wir dir mal glauben...

dennoch wirst du nicht drum herum kommen lernen zu müssen !
Und das nicht weil ich das so empfinde, sondern weil dein Quelltext und Startposting es so aussagen.
(Ein div anstelle eines inputs....)

Den Link zu selfHTML habe ich ja schon gepostet, dort kannst du dich mal nach Formularen umsehen - dann solltest du den üblichen weg schnell finden.


~Arano
Bitte warten ..
Mitglied: Schimpy
06.02.2010 um 19:33 Uhr
mhhh
drücke ich mich so schlecht aus?

ich brauch keinen verweis auf selfhtml...

ich weiss wie man inputs nutzt und tue dies auch...
das dort oben ist nur eine möglichkeit den Wert um 1 zu erhöhen...

darum geht es aber auch überhaupt nicht...

ich würde gerne wissen wie ich die Werte übergebe...

mit $_POST['name'] geht es nicht, mit HTTP_POST_VARS auch nicht
über ein array bekomme ich es auch nicht hin...

wäre also nett, wenn man mich hier nicht kritisiert und links zu selfhtml.de schreibt
sondern einen Ansatz zum Daten auslesen gibt

danke :) face-smile
Bitte warten ..
Mitglied: dog
06.02.2010 um 19:45 Uhr
$_POST wird ausschließlich durch Werte gefüllt, die per <input> mit einem name-Attribut übergeben werden.

Was den Rest angeht: Da musst du wirklich noch lernen :) face-smile
Bitte warten ..
Mitglied: Arano
06.02.2010 um 19:49 Uhr
Zitat von @Schimpy:
ich weiss wie man inputs nutzt und tue dies auch...

Zitat von @Schimpy:
ich würde gerne wissen wie ich die Werte übergebe...

Doch doch, den Links scheinst du schon nötig zu haben, denn du widersprichst dir selber was mich darauf schließen lässt das du es eben nicht weisst oder gerade ziemlich auf dem Schlauch stehst.

Wir sprechen hier doch von einem Formular <form> ... </form> in dem Mengen angegeben werden die anschließend an eine weitere Seite übergeben werden sollen !
Das Absenden des Formulares geschieht mittels eines Mausklicks auf einen <input type="submit"> Button, soweit ist das auch richtig. Aber die Werte eines Formulares stehen in weiteren <input> Feldern, inputs verschiedener Typen: text, radio, image, file, ect.
Eben das und welcher Typ wie und wofür zu gebrauchen ist steht auf selfHTML - deine Lösung !

Und ja, __jetzt__ könnte man die Daten in PHP mittels $_POST weiterverwenden aber soweit warst du ja noch gar nicht.


~Arano
Bitte warten ..
Mitglied: Schimpy
06.02.2010 um 19:53 Uhr
okay, jetzt kommen wir der Sache schon näher :) face-smile

das _POST nur mit input geht, wusste ich wirklich nicht... ich arbeite immer mit input und POST und hab jetzt zum ersten mal das <div> benutzt
daher dachte ich, dass ich das auch über die POST Variable bekomme... weils innerhalb des FORM steht....

aber ich brauch ja die beiden zeilen

<td><div id="<?=$row['name'];?>">0</div></td>
<td><a href="#" onclick="document.getElementById('<?=$row['name'];?>').innerHTML-=-1;return false">+1</a></td>
<td><a href="#" onclick="document.getElementById('<?=$row['name'];?>').innerHTML-=+1;return false">-1</a></td>

um den Wert hochzuzählen...
ich könnte natürlich den "value" wert im input type="text" nehmen, dieser würde ja übergeben und ich hätte den Wert

aber wie zähle ich diesen hoch?!?!
Bitte warten ..
Mitglied: Arano
06.02.2010 um 20:14 Uhr
Ahh, siehste :-P

Also ich denke mir schon was bei dem was ich Schreibe, Antworten in denen schon die komplette Lösung in mundgerechten Stücken zerteilt und vorgekaut wurde sind doch ohne jeglichen lern Effekt, weder das aktuelle Problem betreffend noch für zukünftige Probleme wenn die Person nie lernt selber zu suchen weil man ihr die Quellen nicht nennt. Google und Co sind als Antworten eh fürn Arsch, da hätte der Antwortende lieber die klappe halten sollen.

Aber nun zu deiner nächsten Frage es gibt Formatierungshilfen:
Habe das nur im Browser kopiert und geändert, ist also ungetestet aber sollte funktionierten.


~Arano
Bitte warten ..
Mitglied: Schimpy
06.02.2010 um 20:23 Uhr
finds nett dass du mir hilfst :) face-smile

und ja mir ist bewusst, dass ich lernen muss und nur lerne wenn ich nicht kopiere sondern selber das köpfchen einschalte und probiere :) face-smile
hab ich auch durchaus vor !

aber dein Code kapier ich nur Ansatzweise :) face-smile)

meines erachtens geht das nicht:
name="menge['name']" <<< da muss doch was dazwischen sein?

bei 'name' würd ich jetzt den Wert aus der Datenbank einfügen...
<?=$row['name'];?>

da es bei mir ja nicht nur um "Mars" geht sondern um Mars,Snickers, Twix, Bounty, etc.

prob is auch -> der wert im input feld wird nicht hochgezählt...
Bitte warten ..
Mitglied: Arano
06.02.2010 um 21:03 Uhr
Ja stimmt, habe beim absenden schon vermutet das ich das doch vorher hätte ausprobieren sollen, gleich kommt meine Testversion.

Die Verwendung von eckigen Klammern ist okay, das erzeugt in PHP dann direkt ein mehrdimensionales Array das die entsprechenden Daten enthält.
Ja genau, die Namen werden dann durch die richtigen ersetzt.

Ja, das die Werte in den Feldern nicht hochgezählt werden war meine Vermutung beim absenden. Das liegt daran, das die Felder ja TEXT enthalten aber mit Text kann man nicht Rechnen, dazu braucht man Zahlen. In Javascript ist das "+" ja zum rechnen und zusammenfügen von Zeichenketten da.
Nunja, es folgt eine getestete Version mit einem Beispiel für das erstellen mehrdimensionaler PHP-Arrays von HTML aus.
~Arano
Bitte warten ..
Mitglied: Schimpy
06.02.2010 um 21:27 Uhr
wow, supi - klappt einwandfrei...

jetzt hast du ja in dem formular, jeden Riegel einzelnd da stehen...
dort könnte ich ja meine schleife nutzen und dort wo jetzt ein Riegelname wie z.B. Mars, Snickers, etc. steht
meine Variable $row['name']; einfügen oder?

und wie ist jetzt der Name der Variable die an die nächste Seite übergeben wird?

$_POST(menge['snickers']) ??

??

normalerweise ist ja der "name" die Variable - also $_POST('name')
wie ist das jetzt hier mit der eckigen Klammer?
Bitte warten ..
Mitglied: Schimpy
06.02.2010 um 21:29 Uhr
okay ich seh grad...

$test = $_POST['snickers']; << egal was ich da eintrage..
es kommt immer

Array
(
[\'mars\'] => 4
[\'twix\'] => 3
[\'snickers\'] => 3
)


ist ja perfekt... nur... wie hast du das gemacht??? :) face-smile)
thx!!
Bitte warten ..
Mitglied: Arano
06.02.2010 um 21:44 Uhr
Ich ? Das war PHP ;-) face-wink *mit finger zeig*

$_POST ist ein Array, das sämtliche Feldes eines vorher abgesandten Formulares
Bitte warten ..
Mitglied: Schimpy
06.02.2010 um 21:47 Uhr
ich habs grad gesehen ->>>> print_r($_POST['menge']);

stand mittendrin und ich dachte ich es hätte es oben über meine Variable ausgegeben, war aber garnicht so :) face-smile

dürfte jetzt funktionieren :) face-smile

big thx !!!!!!!!!!! :) face-smile
Bitte warten ..
Mitglied: Schimpy
06.02.2010 um 21:56 Uhr
doch noch ein Problem...

mit print_r geb ich das ganze array aus - das hab ich kapiert...
aber ich kann es nicht an eine variable übergeben, da es ja ein array ist und da was mehr drin steht ;)

kann ich es irgendwie mit der mail() Funktion per Mail schicken?

oder in ner Datenbank speichern? dann müsste ich wahrscheinlich das array wieder stück für stück auslesen oder?
Bitte warten ..
Mitglied: Arano
06.02.2010 um 22:07 Uhr
Klar doch, das ist doch das schöne an einem Array !

~Arano


EDIT
Doppelpostinsg müssen ncihts sein, man kann seine Beiträge in der Regel bearbeiten ;-) face-wink
Bitte warten ..
Mitglied: Schimpy
06.02.2010 um 22:22 Uhr
sorry, ich bins gewohnt, wenn ich zwei mal hintereinander poste, dass die beiträge zusammengefügt werden :) face-smile
war länger nicht mehr hier, werds mir wieder angewöhnen :) face-smile

hatte es so:

$mars_wert = $_POST['menge']['mars'];

echo $mars_wert;

dann müsste er mir ja eigentlich den Wert ausgeben, der bei Mars stand....

tut er aber nüsch, kommt nix bei raus :( face-sad

er gibt maximal "Array" aus...
Bitte warten ..
Mitglied: Arano
06.02.2010 um 22:56 Uhr
Oh, wieder mein Fehler.

Bei der Namensgebung des <input>s habe ich in den eckigen Klammern auch die einfachen Anführungszeichen benutzt, diese einfach weglassen - aber nur beim HTML Teil !

~Arano
Bitte warten ..
Mitglied: Schimpy
07.02.2010 um 10:07 Uhr
kein prob
hat alles bestens geklappt

vielen dank!
Bitte warten ..
Heiß diskutierte Inhalte
Microsoft
Staatsanwaltschaften verschicken Vorladungen in Sachen Windows 10 Lizenzkeys
kgbornVor 1 TagInformationMicrosoft6 Kommentare

Nur zu Info für die Käufer der eBay-Schnäppchen - neuer Fall Staatsanwaltschaften verschicken Vorladungen in Sachen Windows 10 Lizenzkeys

Router & Routing
Vodafone Kabel: Eigenen Router an den Kabelanschluss oder einen WLAN-Router ohne Modem hinter die Vodafone Station?
gelöst DyingWordsVor 1 TagFrageRouter & Routing8 Kommentare

Hallo zusammen, da wir demnächst in eine Wohnung mit Kabelanschluss von Vodafone einziehen werden, frage ich mich, ob es sinnvoller ist einen eigenen Router ...

Linux
Installation Grammm Server
smeclntVor 22 StundenFrageLinux11 Kommentare

Hallo zusammen, meine Linux Kenntnisse sind sehr rudimentär trotzdem suche ich eigentlich ständig nach einer Alternative zu MS Exchange. Bis jetzt gab es nichts ...

Windows Systemdateien
Windows CE 6.0 Problem
gelöst PepsiDoseVor 1 TagFrageWindows Systemdateien10 Kommentare

Servus, Ich habe letztens ein alten mini. Netbook mobile Computer gefunden (Oder wie die heißen) welches Windows CE 6.0 betreibt. Mein Problem ist, es ...

Entwicklung
Welche Programmiersprache für REST-API Tool?
chrisproudVor 1 TagFrageEntwicklung7 Kommentare

Hallo zusammen, ich möchte mir gerne eine möglichst einfache aber vielseitig verwendbare Programmiersprache aneignen. Aktuell habe ich nur oberflächliche Kenntnisse in Webentwicklung (html, php, ...

LAN, WAN, Wireless
Kaufempfehlung für aktuellen WLAN AP
SchallyVor 1 TagFrageLAN, WAN, Wireless7 Kommentare

Hallo, ich bin auf der Suche nach einem WLAN AP für mein Neubau. Der AP soll an einen vorhandenen Cisco-SG350-28P Switch gehängt werden. Auf ...

E-Mail
Spamhaus DNSBL return codes - Technical update
DaniVor 1 TagInformationE-Mail

Spamhaus' primary data sets are published in DNS zones known as DNSBLs. Users of that data ask the zone a question (a "query") and ...

E-Mail
Email mittels Batch und Mailsend verschicken
NurAnwenderVor 1 TagFrageE-Mail15 Kommentare

Hallo, Ich möchte Emails über das Programm Mailsend1.19 verschicken, bekomme aber immer die Meldung "Error: Unrecognized option: E-Mail" Die Batch sieht folgendermaßen aus: echo ...