Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

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

Frage Entwicklung PHP

Mitglied: Schimpy

Schimpy (Level 1) - Jetzt verbinden

06.02.2010, aktualisiert 20.04.2010, 5698 Aufrufe, 20 Kommentare

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

01.
<form action="warenkorb.php" method="post"
02.
<table border="0"
03.
<? 
04.
				$sql = "SELECT * FROM sm_snacks"
05.
				$result = mysql_query($sql); 
06.
				while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
07.
				{ ?> 
08.
				<tr> 
09.
				<td><?=$row['name'];?></td> 
10.
				<td><div " id="<?=$row['name'];?>">0</div></td> 
11.
				<td><a href="#" onclick="document.getElementById('<?=$row['name'];?>').innerHTML-=-1;return false">+1</a></td> 
12.
				<td><a href="#" onclick="document.getElementById('<?=$row['name'];?>').innerHTML-=+1;return false">-1</a></td> 
13.
				</tr><? 
14.
15.
?></table> 
16.
<input type="submit" value="Absenden"
17.
</form> 
18.
 
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 )

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
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

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
06.02.2010 um 19:15 Uhr
Besser kann man hier auch nicht antworten


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
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
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 !

01.
<form method="post"> 
02.
  <input type="text" name="menge_twix" value="0"><br> 
03.
  <input type="submit" value="Bestellen"> 
04.
</form>
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

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:
01.
<td><input id="name" name="menge['name']" value="0"></td> 
02.
<td><a href="#" onclick="document.getElementById('name').value+=1;return false">+1</a></td> 
03.
<td><a href="#" onclick="document.getElementById('name').value-=1;return false">-1</a></td>
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

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

aber dein Code kapier ich nur Ansatzweise )

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.
01.
<html> 
02.
  <head> 
03.
    <title>add</title> 
04.
    <script type="text/javascript"
05.
      <!-- 
06.
        function add_one(ID) 
07.
08.
            item = document.getElementById(ID); 
09.
            item.value = 1+parseInt(item.value); 
10.
11.
        function remove_one(ID) 
12.
13.
            item = document.getElementById(ID); 
14.
            item.value = parseInt(item.value)-1; 
15.
16.
      --> 
17.
    </script> 
18.
  </head> 
19.
  <body> 
20.
   
21.
  <?php 
22.
    if(TRUE===isset($_POST['menge'])) 
23.
24.
        echo '<pre>'
25.
        print_r($_POST['menge']); 
26.
        echo '</pre>'
27.
28.
  ?> 
29.
   
30.
  <form action="" method="POST"
31.
    <input type="text" id="mars" name="menge['mars']" value="0"
32.
    <a href="#"onclick="add_one('mars'); return false;">mehr</a> - 
33.
    <a href="#"onclick="remove_one('mars'); return false;">weniger</a><br> 
34.
    <input type="text" id="twix" name="menge['twix']" value="0"
35.
    <a href="#"onclick="add_one('twix'); return false;">mehr</a> - 
36.
    <a href="#"onclick="remove_one('twix'); return false;">weniger</a><br> 
37.
    <input type="text" id="snickers" name="menge['snickers']" value="0"
38.
    <a href="#"onclick="add_one('snickers'); return false;">mehr</a> - 
39.
    <a href="#"onclick="remove_one('snickers'); return false;">weniger</a><br> 
40.
    <br> 
41.
    <input type="submit"
42.
  </form> 
43.
   
44.
  </body> 
45.
</html>
~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??? )
thx!!
Bitte warten ..
Mitglied: Arano
06.02.2010 um 21:44 Uhr
Ich ? Das war PHP *mit finger zeig*

$_POST ist ein Array, das sämtliche Feldes eines vorher abgesandten Formulares
01.
<?php 
02.
 
03.
// Über den Name dieses Feldes bekommt man in PHP den Wert des Feldes 
04.
<input name="snickers" value="5"
05.
<input name="mars" value="4"
06.
$_POST = array
07.
    'snickers' => 5, 
08.
    'mars' => 4, 
09.
); 
10.
 
11.
 
12.
<input name="menge[]" value="3"
13.
<input name="menge[]" value="15"
14.
<input name="menge[]" value="50"
15.
$_POST = array
16.
    0 => 3, 
17.
    1 => 15, 
18.
    2 => 50, 
19.
); 
20.
 
21.
 
22.
<input name="menge['snickers']" value="5"
23.
<input name="menge['mars']" value="6"
24.
<input name="menge['twix]" value="2"
25.
$_POST = array
26.
    'menge' = array
27.
        'snickers' => 5, 
28.
        'mars' => 6, 
29.
        'twix' => 1, 
30.
31.
); 
32.
 
33.
?>
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

dürfte jetzt funktionieren

big thx !!!!!!!!!!!
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 !

01.
<?php 
02.
 
03.
// enthält alles POST-Formularvariablen 
04.
$_POST 
05.
 
06.
// enthält nur den teil ab "menge", also mars, snickers, twix 
07.
$_POST['menge'
08.
 
09.
// enthält einen bestimmten Wert 
10.
$_POST['menge']['mars'
11.
 
12.
/* 
13.
  So kann man übersichtlich auf die einzelnen Werte zugreifen. 
14.
  Aber auch ganze Gruppen einfach weiterreichen: 
15.
*/ 
16.
$bestellte_mengen = $_POST['menge']; 
17.
echo $bestellte_menge['snickers'
18.
// Ausgabe z.B.: 5 
19.
?>
~Arano


EDIT
Doppelpostinsg müssen ncihts sein, man kann seine Beiträge in der Regel bearbeiten
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
war länger nicht mehr hier, werds mir wieder angewöhnen

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

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 !
01.
<input name="menge[snickers]" value="5">

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

vielen dank!
Bitte warten ..
Ähnliche Inhalte
JavaScript
Übergabe einer php-Variable an JS
Frage von Rabauke84JavaScript

Hallo zusammen, ich hab eine Problem mit einer Übergabe einer Variable in php an JS. Dazu hab ich ein ...

PHP
PHP und JS auf dem Mac
Frage von 2SeitenPHP4 Kommentare

Hey Zusammen, Mal eine etwas andere Frage Auf Windows programmiere ich PHP/JS Websiten mit Netbeans und als Webserver die ...

Java
Werte Übergabe bei Runtime.getRuntime().exec()
gelöst Frage von TobiasedJava3 Kommentare

Hallo Zusammen, ich möchte via Java ein Power Shell Script ausführen. Das funktioniert mit Runtime.getRuntime().exec("powershell.exe C:/temp/test.ps1") auch wunderbar. Nun ...

PHP
Übergabe Formularinhalte an externes PHP Script
gelöst Frage von schneerunzelPHP15 Kommentare

Hallo zusammen, ich habe heute eine relativ außergewöhnliche Frage: Und zwar geht es um folgendes: Ich habe für eine ...

Neue Wissensbeiträge
Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 3 StundenLinux12 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 1 TagHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Heiß diskutierte Inhalte
Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux12 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Windows 10
Alle Programme mit bestimmtem Namen automatisch (per GPO) deinstallieren
gelöst Frage von lordofremixesWindows 1012 Kommentare

Hallo zusammen, gibt es eine Möglichkeit, alle Programme beginnend mit z.B. "Dell" im Namen per Script und somit per ...