php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.11.2004, 09:23  
Benutzer
 
Registriert seit: 31.08.2004
Beiträge: 61
RoDa
Standard Array per Formular übergeben

Hallo PHPler

Ich möchte ein Formular an eine Seite übergeben. Ausser den sichtbaren Daten sollen auch zwei Variablen unsichtbar übertragen werden, woben eine davon ein Array ist.
Kein Problem stellt die eine Variable dar, die ich in einem hidden field übergeben kann. Aber wie mach ich das mit dem Array?
Ich hab versucht, das Array mit serialize() in eine Form zu bringen, die auch mit einem hidden field übertragen werden kann. Dann hab ich festgestellt, dass ich ein Problem mit den " habe. Also habe ich es mit addslashes() und stripslashes() versucht. Aber Auch da gibts Probleme.
Wenn ich das Array in folgender Form übertrage:
Code:
$ausgegebene_dat_felder_seriell = serialize($ausgegebene_dat_felder);
echo "<input type=\"hidden\" name=\"ausgegebene_dat_felder\" value=\"".$ausgegebene_dat_felder_seriell."\">";
dann erhalte ich auf der Fogleseite folgenden Inhalt des "unserializeten" Arrays:
a:92:{i:0;s:19:\\bool(false)
Also kein Array mehr. Wenn ichs mit addslashes() und anschliessenden stripslashes() versuche, in der Form:
Code:
$ausgegebene_dat_felder_seriell = addslashes(serialize($ausgegebene_dat_felder));
bleibt vom Array nach stripslashes() übrig:
a:92:{i:0;s:19:\\string(0) ""
Nicht viel besser.
Ich hoffe, die Angaben und der Code genügen, dass ihr das Problem seht. Falls ja: Wie löse ich das?
Dank im Voraus.

Roda
RoDa ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.11.2004, 09:28  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

übergebe die daten doch einfach per $_SESSION. dann hast du diesen ganzen umformungskram nicht ...
imported_Ben ist offline  
Alt 15.11.2004, 09:47  
Benutzer
 
Registriert seit: 31.08.2004
Beiträge: 61
RoDa
Standard

Danke Ben

Ich hab gestern einen gefragt, der sich mit PHP auskennt (auskennen sollte?), und der hat mir gesagt, dass ich Formulare und Sessions nicht mischen könne, weil sonst beim Formular unter action ein "?SID..." angehängt werden müsse. Das ginge aber nicht, weil sonst POST und GET parallel verwendet würden, was aber nicht funktioniere.
Ich kenn micht mit $_session nicht aus, kümmere mich aber natürlich darum. Ich frage bloss nach, weil ich eben bereits an diese Möglichkeit gedacht habe, mir aber davon abgeraten wurde. War das eine falsche Hilfe?

Gruss
Roda
RoDa ist offline  
Alt 15.11.2004, 09:56  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von RoDa
Das ginge aber nicht, weil sonst POST und GET parallel verwendet würden, was aber nicht funktioniere.
Ist mir neu. Hab schon zig Formulare, wo ich GET und POST verwende. Kannste ganz einfach ausprobieren:

Code:
<?php
echo $_GET['get'].' - '.$_POST['post'];
?>
<form name="egal" action="diesesscript.php?get=getinhalt" method="POST">
<input type="hidden" name="post" value="postinhalt">
<input type="submit">
</form>
Ausführen, einmal auf den Button klicken und staunen

Gruß

Marco
 
Alt 15.11.2004, 10:03  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von RoDa
weil sonst beim Formular unter action ein "?SID..." angehängt werden müsse.
naja. das ist nicht wirklich ein grund, warum es nicht gehen sollte.
du kannst die SID ja auch manuell per hidden-field weitergeben oder ... oder ..

es geht schon
imported_Ben ist offline  
Alt 15.11.2004, 17:20  
Benutzer
 
Registriert seit: 31.08.2004
Beiträge: 61
RoDa
Standard

Hallo Leute

Ich hab nun den ganzen Nachmittag Foren durchsucht und gegooglet (ehrlich wahr, und natürlich auch noch einige ausprobiert), aber ich hab das Prinzip der Variablenübergabe ohne Formular immer noch nicht begriffen.
So mach ichs im Formular:

index.php
Code:
...
<form name="form1" method="post" action="formular-auswertung.php">";
<input name="name" type="text">


<input type="submit" name="Submit" value="Abschicken">
</form>
...
Nach dem Ausfüllen des Feldes und klicken auf Abschicken wird die Variable $name mit eingetippten Namen als Wert übergeben an formular-auswertung.php.

Obschon ich direkt auf die Variable zugreifen kann, sollte ich sie mit $_POST holen, weils auch dann funktioniert, wenn register_globals auf off gesetzt ist (was bei meinem Provider offenbar nicht der Fall ist). Dann sähe das wohl etwa so aus.

formular-auswertung.php
Code:
$name = $_POST["name"];
Was nun aber, wenn $name nicht aus einem formular stammt, sondern irgendwo im Script definiert wird? Irgendwie muss ich ja festlegen, dass sie mit der POST-Methode übertragen werden soll, aber wo? Einfach so lässt sich in formular-auswertung.php ja nicht darauf zurückgreifen.

Als Beipiel für die index.php:
Code:
...
<form name="form1" method="post" action="formular-auswertung.php">";
<input name="name" type="text">


<input type="submit" name="Submit" value="Abschicken">
</form>
<?
$irgendeinevariable="gugus";
?>
...
Welcher Code fehlt mir, um in formular-auswertung.php auf $irgendeinevariable zurückzugreifen (dann wohl mit $irgendeinevariable = $_POST["irgendeinevariable"]; )

Ich weiss, das ist sicher Grundlage und die Frage mag nerven, aber ich steh auf dem Schlauch.

Tausend Dank schon jetzt.

Gruss
Roda
RoDa ist offline  
Alt 15.11.2004, 18:39  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 643
kid01 befindet sich auf einem aufstrebenden Ast
kid01 eine Nachricht über Skype™ schicken
Standard

also ich denke du meinst sowas
PHP-Code:
$kennwort[0]="123";
echo 
'<form action="useradd_del.php" method="post">
        <input name="vorname" type="text" value="'
.$_GET[vorname].'">';

echo
'<input name="kennwort[0]" type="hidden" value="'.$kennwort[0].'">
<input type="submit" value="Daten speichern">
</form>'

kid01 ist offline  
Alt 15.11.2004, 20:16  
Benutzer
 
Registriert seit: 31.08.2004
Beiträge: 61
RoDa
Standard ich denke?

Leider, kid01, bin ich unterdessen schon ganz kirre und weiss nicht mehr so recht, was ich denke und was ich glaube. Ich gehe von folgendem aus:
  • Arrays lassen sich nicht in ein hidden field verpacken, können also nicht so übertragen werden.
  • Mein Versuch, mit serialize() aus einem Array eine übertragbare Variable zu machen, hat nicht funktioniert.
  • Ben hat mich auf Sessions gebracht, ich habe mich durch viele Seiten gelesen und schliesslich geglaubt, dass $_POST das Schlüsselwort für mich ist, weiss aber nicht, wie ich eine Seite dazu bringe, ein Array AUSSERHALB eines Formulars an eine weitere Seite zu übergeben.
Ich weiss nicht, ob ich mich klar ausdrücke, vielleicht gehe ich ja auch von etwas völlig Falschem aus. Aber wenn ein PHP-Script auf ein Array mit $_POST zugreifen will, muss es doch vorher von einem anderen Script irgendwie mit der Methode POST übergeben worden sein? Bloss wie, wenn nicht im Formular?

*langsam am Verzweifeln, weils nicht geht* Roda
RoDa ist offline  
Alt 16.11.2004, 01:25  
Gast
 
Beiträge: n/a
Standard Re: Array per Formular übergeben

Zitat:
Zitat von RoDa
Kein Problem stellt die eine Variable dar, die ich in einem hidden field übergeben kann. Aber wie mach ich das mit dem Array?
Ich hab versucht, das Array mit serialize() in eine Form zu bringen, die auch mit einem hidden field übertragen werden kann.
Guck Dir das Beispiel an (stammt aus dem Handbuch), klick auf 'Klick!' und versuch es zu verstehen:
http://test.php-help.info/serialize-1/ (Quelltexte werden angezeigt)
 
Alt 16.11.2004, 07:25  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 643
kid01 befindet sich auf einem aufstrebenden Ast
kid01 eine Nachricht über Skype™ schicken
Standard

also jetzt zweifel ich ja wirklich an mir!

Kann mir mal ein Profi Klarheit verschaffen??

Ich übergebe in meinen kl. Tools immer User und Password in einen Array kennung per hiddenfeld eben so wie oben!

Ja, ich weiß dass es nicht "lustig" ist das Passwort nicht per session zu übergebn aber das ist nen anderes Thema

Ich sehe jetzt das Problem nicht warum das nich gehen soll!
In einen sehr wichtigen großen Projekt übergebe ich sogar nen array mit ca 30 IDs :wink:
Da gabs noch nie Probleme

Ich bin nun voll durcheinander
kid01 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Soapfault: Undefined Property Argi PHP-Fortgeschrittene 0 28.07.2008 11:17
[Erledigt] Formular ausgabe Array cuep PHP Tipps 2008 11 27.05.2008 17:45
Array / Formular [gelöst] JohnRambo PHP Tipps 2008 2 27.04.2008 14:38
Übersicht aus mehrdimensionalem Array erzeugen Crypi PHP-Fortgeschrittene 0 30.01.2006 13:44
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Array wie auslesen? PHP Tipps 2005 7 07.03.2005 11:43
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
Array per Formular übergeben und weiter füllen mercurio PHP-Fortgeschrittene 2 28.11.2004 19:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php formular array übergeben, php form array übergeben, php array formular übergeben, formular array übergeben, array per formular übergeben, php array per get übergeben, php array weitergeben, array formular übergeben, array in formular übergeben, form array übergeben, php array mit formular übergeben, array in form übergeben, php array in formular übergeben, array mit formular übergeben, php form array post übergeben, php array form übergeben, php array per formular übergeben, http://www.php.de/php-tipps-2004-2/12328-array-per-formular-uebergeben.html, array per form übergeben, php array übertragen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:37 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.