php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.10.2005, 14:32  
Gast
 
Beiträge: n/a
Standard Variable aus Formular auslesen ..

bisher hatte ich im formular ein feld z.b. so genannt, also über ein array:
<input name="NName[',$id,']" ..

die id wurde pro zeile um eins erhöht ..
die abfrage funktionierte auch in der ausgabedatei. dort lief ebenfalls eine schleife und hat für den entsprechenden id-wert den Namen geliefert ..


jetzt musste ich den namen des feldes allerdings zwecks einer JS-fkt. umändern und aus dem array ist ein name geworden, der die entsprechende id angehängt bekommt als neuen namen:
<input name="NName',$id,'" ...

und nun funktioniert meine abfrage nicht mehr.
wie kann ich in einer schleife auf das 'neue' feld zugreifen .. ?
z.b. wenn ich die ID 5 hab, dann heisst das feld im formular NName5 ..

also,z.B.
for ($i=0; $i<=10;$i++)
{
$name = $NName + $i;
}
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 25.10.2005, 14:38  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Als Tipp, behalte die ursprüngliche Schreibweise:

PHP-Code:
<?php
for ($i 0$i $inputFields$i++) {
  print 
'<input name="NName[' .$i']" ..>';
}
?>
und greife mit JavaScript über den elements[]-Array auf deine NName's zu.

PHP-Code:
<script>
var firstNNameIndex = 2;
for (i = 0; i < <?php print $inputFields?>; i++) {
  // document.FORMULARNAME.elements[i + firstNNameIndex].value
}
Mit .elements[0] greifst du auf das 1. <input>-Feld innerhalb des Formulars zu. den firstNNameIndex habe ich als Beispiel auf 2 gesetzt, falls vor den NName-<input>s noch 2 weitere Elemente (z.B. 2 Radio-Buttons) wären.
Zergling-new ist offline  
Alt 25.10.2005, 14:47  
Gast
 
Beiträge: n/a
Standard

das geht leider nicht ...

ich hab in meiner datenbank pro zeile einen nutzer stehen.
im formular wird pro nutzer eine zeile erzeugt und der name entsprechend der nutzer-id vergeben .. im formular selbst stehen dann pro nutzer 4-5 eingabefelder, die mit den werten aus der DB vorbelegt sind, falls vorhanden. aber das spielt ja jetzt keine rolle.

andere ideen?
 
Alt 25.10.2005, 14:51  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

elements ist auch ein assoziativer Array, d.h. du kannst auf ihn sowohl mit

document.forms[0].elements[0]
als auch
document.forms["meinFormular"].elements["user_"+irgendeineVariable]
zugreifen.

Mit dem Wissen dieser Technik sollte es doch kein Problem sein? Außerdem kann PHP in JS-Variablen speichern. Du kannst also bei der mit PHP erzeugten Erstellung der <input>s auch gleich mit PHP nen JavaScript-Array erstellen, in dem die Namen der <input>-Felder stehen.
Zergling-new ist offline  
Alt 25.10.2005, 14:54  
Gast
 
Beiträge: n/a
Standard

?? kannst du das mal etwas besser erklären? ?? danke ...

ach so, da du ja schon javascript gepsotet hast .. meine anfrage sah zuletzt so aus:
if (document.Nutzerverwaltung.elements['NName'+ i].value == "")

.. zugegriffen wird auf das Feld z.B. bei nutzer-id 5: -> NName5 ..

aber so klappt das mit dem zugriff nicht, wenn
<input name="NName[',$id,']"

.. daher hatte ich es ja in
<input name="NName',$id,'"
geändert...
 
Alt 25.10.2005, 15:04  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Aber deine Frage hat sich erledigt (oder welches Posting ist jünger?), oder?
Zergling-new ist offline  
Alt 25.10.2005, 15:10  
Gast
 
Beiträge: n/a
Standard

eben nicht:
anfangs hatte ich die feld-inhalte in einem array gespeichert. dort klappte der zugriff in der auswertenden datei prima.

dann habe ich aufgrund der JS-überprüfung aus dem array viele variablen gemacht; alle fangen mit NName an und enden mit der jeweiligen ID des DB-eintrages. das klappt mit JS ganz gut, aber jetzt hab ich probleme, mit php auf die variablen zuzugreifen.

sicher könnt ich das so machen:
if ($id = 1)
{
$neuerName = $NName1;
}

if ($id = 2)
{
$neuerName = $NName2;
}


das ginge ja, aber wie kann ich das dynamisch machen .. ich weiss ja jetzt noch nicht, wie viele nutzer es einmal geben wird.
also, wie kann ich das in ne for-schleife packen, damit der variablenname inkrementiert wird?

for ($i=0; $i<=10; $i++)
{
$neuerName = ???
}
 
Alt 25.10.2005, 15:28  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Sag mal was willst du eigentlich machen? Du machst aus eigentlich keinem Problem ein so kompliziertes Gerüst.

Du willst doch pro User ein <input>-Feld + vielleicht 4-5 weitere <input>-Felder anlegen und mit PHP und JavaScript darauf zugreifen, speziell offenbar auf den Namen des Users. Warum funktionieren meine Lösungen oben nicht, was ist die Fehlermeldung (in PHP bzw. JavaScript)? Oder verstehe ich dein Problem nicht?
Zergling-new ist offline  
Alt 25.10.2005, 15:34  
Gast
 
Beiträge: n/a
Standard

ich habe pro user etwa 4-5 eingabefelder ... die namen der felder werden dynamisch erzeugt.
ich hab 2 varianten momentan: die eine funktioniert mit der php-abfrage (felder-namen werden in dem array gespeichert), die andere variante (mit der id an $NName hängen) funktioniert prima mit der js-abfrage.

so, würd das gern zusammen bringen ..
 
Alt 25.10.2005, 15:46  
Gast
 
Beiträge: n/a
Standard

Thema beendet: hab die lösung gefunden .. dynamische namenszuweisung von variablen ist gar nicht so schwer
 
 


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
Variable zurück an Formular schicken ?!?!? TeazY PHP Tipps 2008 5 18.12.2007 20:07
Datenbank auslesen, in Formular darstellen und �ndern PHP Tipps 2006 8 22.02.2006 17:51
php Aufruf von Formular und Übergabe einer Variable (get) PHP Tipps 2007 10 30.12.2005 16:45
[Erledigt] Variable ohne Formular &quot;weiterschicken&quot; PHP Tipps 2007 15 21.12.2005 15:49
Variable auslesen while(list($name,$value)=each($HTTP_POST_V Cyber Soldier PHP Tipps 2005-2 9 18.09.2005 02:20
Formular variable gestallten PHP Tipps 2005-2 2 03.08.2005 12:03
Variable aus Formular nicht auslesbar PHP Tipps 2005-2 10 23.06.2005 18:51
Formular auslesen mit PHP -> Variable mehrfach aúsgeben DDogg PHP Tipps 2005 2 21.04.2005 13:16
variable ohne formular übergeben nautiluS PHP Tipps 2005 9 11.04.2005 13:46
[Erledigt] Formular auslesen u. in HTML-Email verpackt über PHP schicke PHP Tipps 2005 13 07.04.2005 14:03
Variable Mitgliederliste aus Formular erstellen Datenbanken 2 18.10.2004 16:33
Text zu Variable und diese Auslesen PHP-Fortgeschrittene 4 24.08.2004 22:43
variable auslesen? PHP Tipps 2004 12 07.08.2004 08:14
Variable auslesen PHP Tipps 2004 2 06.08.2004 18:47
Daten aus einem Formular auslesen??? PHP-Fortgeschrittene 1 21.06.2004 17:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php variable aus formular auslesen, php variablen aus formular auslesen, variable aus formular auslesen, php variablen aus formular lesen, alle variablen aus einem formular auslesen, javascript variablen aus formular in php einlesen, variable aus formular auslesen php, formular php variable auslesen, formular variable auslesen, php formular mit while auslesen -mysql, php formulare mit variablen auslesen, gesamt formular auslesen javascript, auf input feld zugreifen mit id? php, formluar name id auslesen, php formular variable auslesen, formulare auslesen while, php variablenaus formular einlesen, php variablen aus fromular auslesen, php formular auslesen variable dynamisch, php variable mit formular einlesen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:49 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.