Zum Inhalt springen

Empfohlene BeitrÀge

Geschrieben

Hallo Leute,

ich hÀtte da mal ein Problem mit PHP.

Ich will alphanumerische Zeichen speichern und ĂŒbertragen (Formular), das funktioniert bei mir mit "richtigen" Buchstaben wie: A,b,c,... usw. und Zeichenketten. Numerische Werte werden auch gespeichert.

Wenn ich aber Zeichen wie +,-,*,/,...usw. ĂŒbertragen möchte, gehen diese nach zwei oder drei Eingaben verloren.

Was mache ich Falsch und noch wichtiger konnte mir jemand folgen?

Danke

Geschrieben

hĂ€ttest du die daten per GET ĂŒbertragen, hĂ€tte das die fehlerquelle sein können.

sind die daten immer beim gleichen script weg? wie sieht der zugriff auf die daten aus?

Geschrieben
Original geschrieben von Enrico T.

ĂŒbertrĂ€gst du die per GET, POST, COOKIE oder SESSION?

kann man mit einem formular auch mit cookie und session ĂŒbertragen?

@sid1900:

vielleicht ma so versuchen:


<form enctype="text/plain">

Geschrieben

Moin,

nachdem ich die Zeile "enctype="text/plain"" in meinen Formularkopf eingefĂŒgt hatte, wurde an der Stelle wo ich meine Gesamtzahl(zg) ausgebe nichts mehr angezeigt.

<td width="100%"><input type="Text" name="wert" size="24%" maxlength="10" value=

"<?echo $zg?>"

>

Ich wĂŒrde mal sagen, das das Problem woanders liegen muss.

Hier noch der Formularkopf:

<?

echo "<form action=tr.php?zg=$zg&eingabe=$eingabe&op=$op&opz=$opz&z1=$z1&z2=$z2 method=post>"

?>

Geschrieben

Hallo!

Original geschrieben von sid1900

..., gehen diese nach zwei oder drei Eingaben verloren.

Was heißt "zwei oder drei Eingaben?". Und benutzt du <input type="text" oder andere Formularfelder?

gruß

Benjamin

Geschrieben

An die url hÀnge ich die Variablen die in meinem PHP-teil verwendet werden.

FĂŒr die Eingabe verwende ich z.B.:

<input type="submit" name="wert" value="%">

Das heißt. Ich klicke auf einen Button und ĂŒbergebe das value="xyz" an das PHP- Progi, welches dann die Eingabe entsprechend auswertet.

Geschrieben

Hi,

hĂ€ng deine alten Variablen nicht an die URL dran, sondern pack sie in Hidden Inputs. Dann werden sie mit dem Formulararray (in deinem Falle $_Post[]) ĂŒbergeben.

NatĂŒrlich kann es sein, das bei der Übergabe via URL Sonderzeichen verloren gehen (weil sie nicht in URLs auftauchen dĂŒrfen). DafĂŒr gab es eine PHP-Funktion zum Umwandeln, ich komm aber jetzt nur nicht drauf welche das war ...

Schau auch hier mal fĂŒr Infos:

http://www.dclp-faq.de/ch/ch-webvariablen.html

Geschrieben

Wenn du die Variablen unbedingt per GET, also in der URL ĂŒbergeben willst, dann codiere die Daten vorher mit der Funktion urlencode() und decodiere sie im Zielscript mit urldecode().

Allerdings schließe ich mich Spike an, du solltest das wenigstens ĂŒber hidden-fields ĂŒbergeben, wenn du nicht gleich die session-Funktionen verwendest.

Gruß

Benjamin

Geschrieben
Wenn du die Variablen unbedingt per GET, also in der URL ĂŒbergeben willst, dann...

Wer sagt den das ich mit GET ĂŒbertragen will? Zurzeit verwende ich post oder meinst du das mit get der Fehler nicht auftritt? Kann es ja mal probieren.

Hier mal ein Teil der Quelldatei (soll mal ein Taschenrechner werden):

<blabla>

<?

if ($wert=="Loeschen")

{

$zg="";

$z1="";

$z2="";

$op="";

$opz=0;

$eingabe=0;

}

else

{

//$opz=0;

if($wert>='0' && $wert<='9')

{

if($eingabe==0)

{

$zg=$wert;

$eingabe=1;

//echo "zg(e=0)= ",$zg,"<br>";

}

else

{

$zg=$zg*10+$wert;

//echo "zg(e=1)= ",$zg,"<br>";

}

}

else

{

//echo "wert= ",$wert,"<br>";

if($opz<1)

{

$z1=$zg;

//echo "z1= ",$z1,"<br>";

switch($wert)

{

case '+':

$op=plus;

break;

case '-':

$op=minus;

break;

case '*':

$op=mul;

break;

case '/':

$op=div;

break;

case '=':

$opz=0;

break;

case 'xÂÂČ':

$zg=$z1*$z1;

$opz=-1;

break;

case '%':

$zg=$z1/100;

$opz=-1;

break;

case 'eins/x':

$zg=1/$z1;

$opz=-1;

break;

case '+/-':

$zw_wert=$zg*2;

$zg=$zg-$zw_wert;

$opz=-1;

break;

// default:

// $zg="Error";

}

$eingabe=0;

$opz++;

//echo "op= ",$op,"<br>";

}

else

{

$z2=$zg;

//echo "z2= ",$z2,"<br>";

switch($op)

{

case 'plus':

$zg=$z1+$z2;

break;

case 'minus':

$zg=$z1-$z2;

break;

case 'mul':

$zg=$z1*$z2;

break;

case 'div':

if($z2==0)

$zg=Error;

else

$zg=$z1/$z2;

break;

// default:

// $zg="Error";

}

$opz=0;

$eingabe=0;

}

}

}

?>

<?

echo "<form action=tr.php?zg=$zg&eingabe=$eingabe&op=$op&opz=$opz&z1=$z1&z2=$z2 method=post>"

?>

<table border="0" size="50%" bgcolor="#C0C0C0" align="center">

<tr>

<td>

<table border="0" bgcolor="#C0C0C0">

<tr>

<td> TR</td>

</tr>

<tr>

<td width="100%"><input type="Text" name="wert" size="24%" maxlength="10" value=

"<?echo $zg?>"

disabled>

</td>

</tr>

</table>

<table border="0" bgcolor="#C0C0C0">

<tr>

<td width="10%"><div align="right"><input type="submit" name="wert"value="Loeschen"></div></td>

</tr>

</table>

<br>

<table border="0" bgcolor="#C0C0C0" size="100%">

<tr align="center">

<td width="10%"> <input type="submit" name="wert" value="7" accesskey="7"></td>

<td width="10%"> <input type="submit" name="wert" value="8" accesskey="8"></td>

<td width="10%"> <input type="submit" name="wert" value="9" accesskey="9"></td>

<td width="10%"> <input type="submit" name="wert" value="/" accesskey="/"></td>

<td width="10%"> <input type="submit" name="wert" value="%"></td>

</tr>

.

.

.

</table>

</td>

</tr>

</table>

</form>

<blabla>

Geschrieben

Du solltest anstelle von :

<?

echo "<form action=tr.php?zg=$zg&eingabe=$eingabe&op=$op&opz=$opz&z1=$z1&z2=$z2 method=post>"

?>

<?
echo "<form action=tr.php?".
urlencode("zg=$zg&eingabe=$eingabe&op=$op&opz=$opz&z1=$z1&z2=$z2").
" method=post>";
?>
[/PHP]

benutzen

Geschrieben

GET, POST und COOKIE sind auf jeden Fall Daten die vom Client kommen. In kritischen Anwendungen könnten die Daten u.U. zu SicherheitslĂŒcken fĂŒhren.

SESSIONs kann man ggf. komplett serverseitig laufen lassen. Ausserdem hat da nicht das Problem sich ĂŒber die Übertragung Gedanken zu machen.

Geschrieben

ich kann also beispielsweise 100 gleichlautende variablen von usern serverseitig speichern und auch getrennt ansprechen ? also das jeder nur seine variablen benutzt, so wie bei get, post und cookie?

Geschrieben

Ausserdem ist das komfortabler, sobald man die Variablen ĂŒber mehrere Seiten hinweg braucht, z.B. in einem geschĂŒtzten Bereich.

Sessions werden immer gebraucht, wenn man eine anstĂ€ndige Userverwaltung machen möchte. Aber auch fĂŒr komplexe Formularscripts (z.B. in Shops) sind die von nöten.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto fĂŒr unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die grĂ¶ĂŸte IT-Community
rund um Ausbildung, Job, Weiterbildung fĂŒr IT-FachkrĂ€fte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard fĂŒr Fachinformatiker und IT-FachkrĂ€fte

×
×
  • Neu erstellen...