dipps
Goto Top

POST Abfrage mit variablen Zahlen

POST Abfrage mit variablen Zahlen

Hallo Ich habe ein Formular wo viele kleine Inputs sind die von der PHP namen wie 1.1 oder 23.5 oder 58.7 und so bekommen.
wenn ich das POST dann auslesen möchte von Bsp. 25.5 habe ich 2 Variablen mit den Zahlen drin wo $z=25 ist und $s=5 daraus mache ich $zell=$z.".".$s
Bsp $zell="25.5" Wenn ich $_POST['$zell'] mache geht es nicht was kann ich da noch machen?

Content-Key: 157432

Url: https://administrator.de/contentid/157432

Printed on: April 23, 2024 at 17:04 o'clock

Member: Xaero1982
Xaero1982 Dec 22, 2010 at 12:12:54 (UTC)
Goto Top
Hi und hä?

schick mal den Code rüber, weil ich glaube das versteht keiner ...

Hoffe dir ist aber klar, dass $zell und $_POST['Variable'] zwei Latschen sind.

Zumal dein
 $_POST['$zell']   
falsch ist...

Du kannst höchstens
 echo $zell; 
machen, aber mehr auch nicht ...

VG
Member: Dipps
Dipps Dec 22, 2010 at 12:33:13 (UTC)
Goto Top
Also ich Habe ein Inputs mit Namen
1.3 und 1.4 .... 20.3 und 20.4 und 20.5 und 20.6 ..... und soweiter
<form method="POST" action="<?=$_SERVER['SCRIPT_FILNAME'];?>">  
input's  
<input type="submit"><input type="hidden" name="send" value="1">  
</form>
Beim Drücken des Button
<?
session_start();
$z=1;
$s=0;

if($_POST['send']==1)  
{

foreach($_SESSION['csv'] as $arr){  

foreach($arr as $arra){

$zell=$z.".".$s;  

echo $_POST['$zell'];  

$s++;
}
$z++;
$s=0;
}
}
?>
Bei echo $_POST ist jetzt nur zu Test ich möchte die Variable da weiter verarbeiten. Normal sind die Inputs über $_POST['2.5'] und soweiter ereichbar
Member: takecx
takecx Dec 22, 2010 at 13:52:23 (UTC)
Goto Top
Auch wenn ich Deine Frage nicht verstehe, vielleicht meinst Du $_POST[$zell] ?
Member: Dipps
Dipps Dec 22, 2010 at 14:10:13 (UTC)
Goto Top
das möchte ich ja anwenden geht aber nicht wenn ich $_POST[$zell] mache wenn ich aber das Händisch mache mit $_POST[25.2] geht es
Member: Xaero1982
Xaero1982 Dec 22, 2010 at 15:15:17 (UTC)
Goto Top
Ich wiederhole mich zwar ungerne, besonders wenn es schon oben schriftlich festgelegt und scheinbar wieder nicht gelesen wurde (sowas kenn ich nur von Kundenbetreuern im www etc.)

Es gibt in deinem Code KEINE Variable: $_POST[$zell], denn deine Variable heißt einfach nur $zell!

$zell=$z.".".$s;   

Deswegen ist das:
echo $_POST['$zell'];   
Unsinn und muss
 echo $zell;
heißen.

Die einzige Variable die bei dir in $_POST steht ist "send", weil du in deinem Formular nichts anderes übergeben hast, zumindest nach dem hier vorliegenden Code.

Also bitte oben genannten Code anpassen...

Es ist immer schwer zu helfen, wenn man gar nicht weiß was das ganze eigentlich bezwecken soll.

VG
Member: Arano
Arano Dec 22, 2010 at 18:04:06 (UTC)
Goto Top
Moin moin face-smile

Ist alles ganz einfach:
Du kannst ja mal ein "print_r($_POST)" einbauen und schauen was alles übertragen und warum deine Variable nicht gefunden wird !

Dann hättest du gesehen das deinen Feldnamen z.B. "25.5" zu "25_5" geworden sind den...
Punkte sind in Variablennamen nicht erlaubt ! (PHP-Manual) '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
<?php
// Falscher Variablenname
$variableMit.Punkt = "Wert";  
// Parse error: syntax error, unexpected '=' 
?>

Du musst dir also andere Namen für deine Felder ausdenken !


~Arano
Member: Dipps
Dipps Dec 22, 2010 at 18:19:01 (UTC)
Goto Top
Ich habe es jetzt hinbekommen auch mit Punkt ich habe den namen auf name="input25.5" genannt und mit $_POST["input".$z.".".$s] bekomme ich dann auch die ausgabe
Member: Arano
Arano Dec 22, 2010 at 18:35:05 (UTC)
Goto Top
Hm... komisch !

Bekomme ich nicht hin !?
<?php

$a = 25;
$b = 5;


echo '___________________________________<br>'.  
     '<pre style="width:400px; height:100px;">';  
       print_r($_POST);
echo '</pre><br>'.  
     '___________________________________<br>'.  
     '<br>'.  
     'Var = '.$_POST["input".$a.".".$b].'<br>';  

?>

<form method="POST">  
  <input name="input25.5" value="treffer">  
  <input type="submit">  
</form>
ergibt bei mir:
___________________________________

Array
(
    [input25_5] => treffer
)

Notice: Undefined index: input25.5 in /srv/vhosts/test/www/dipps/index.php on line 13

___________________________________

Var = 
Was ich auch als richtiges verhalten empfinde, denn nach wie vor ist der Punkt __kein__ gültiges Zeichen und (sollte) von PHP duch ein "_" ersetzt werden.

Machst du noch etwas anders ?


~Arano
Member: Dipps
Dipps Dec 22, 2010 at 20:56:53 (UTC)
Goto Top
Stimmt ich hatte den . ja auch gegen ein - ausgetauscht habe ich leier nicht genau betrachtet jetzt
Member: Arano
Arano Dec 22, 2010 at 21:03:16 (UTC)
Goto Top
Hehe...

...man gut das ich einkaufe, statt weiter herumprobieren war face-smile

Dann setzt doch noch den Hacken bei "gelöst" und ein paar schöne Feiertage .


~Arano