Was macht ein hidden-Feld??
Alwin
- php
0 Peter Thomassen0 Alwin0 Peter Thomassen0 Alwin0 Peter Thomassen0 Alwin0 Peter Thomassen0 lulu
0 Mel
0 peri
Hallo allerseits,
ich habe mehrere zusammenhängende Formulare, deren Inhalte jeweils an das folgende Formular übergeben werden, vom vorhergehenden direkt und das jeweils vorletzte per hidden - Feld. Also im ersten gibt man z.B. seinen Namen ein, im 2. die Straße und PLZ und im letzten seine Mail-Adresse. Das letzte Formular schreibt dann die Angaben mittels php in eine Datenbank.
Mein Problem ist folgendes: Bsp: der Name ist 'Schmidt Kleinhübler'
, lasse ich ihn mir in dem 2. Formular anzeigen erscheint er komplett. In selbigem wird er an ein 'hidden' - Feld übergeben und weitergeschickt. Lasse ich ihn mir im 3.Formular anzeigen erscheint nur noch 'Schmidt'. D.h. es verschwindet alles nach dem Leerzeichen. Was kann ich dagegen tun.
Danke an alle im Voraus.
Alwin
Hallo Alwin,
, lasse ich ihn mir in dem 2. Formular anzeigen erscheint er komplett. In selbigem wird er an ein 'hidden' - Feld übergeben [...]
Per PHP oder JS?
Bye,
Peter
Hallo Alwin,
, lasse ich ihn mir in dem 2. Formular anzeigen erscheint er komplett. In selbigem wird er an ein 'hidden' - Feld übergeben [...]
Per PHP oder JS?
Bye,
Peter
Per PHP
Alwin
Hi Alwin,
, lasse ich ihn mir in dem 2. Formular anzeigen erscheint er komplett. In selbigem wird er an ein 'hidden' - Feld übergeben [...]
Per PHP oder JS?
Per PHP
Also:
Formular 1:
<input name="name">
Hier gibst du einen Namen ein.
Formular 2:
<input name="name" value="<? echo $name; ?>">
Hier kontrollierst du den Namen; er erscheint komplett.
Formular 3:
<input name="name" value="<? echo $name; ?>" type="hidden">
Hier wird der Name reingepackt, steht allerdings nur halb im
Quellcode?
Kann ich mir nicht vorstellen. Hab ich da was mistverstanden?
Bye,
Peter
Hi Alwin,
, lasse ich ihn mir in dem 2. Formular anzeigen erscheint er komplett. In selbigem wird er an ein 'hidden' - Feld übergeben [...]
Per PHP oder JS?
Per PHP
Also:
Formular 1:
<input name="name">
Hier gibst du einen Namen ein.
genau!
Formular 2:
hier übergebe ich ihn an ein hidden-Feld
<?php
echo "<input type = "hidden" name = "Name" value = $Name>\n";
echo $Name;
?>
funktioniert noch komplett, es folgen weitere Eingaben auf der Seite und die ganze wird mit submit weitergeschickt...
<input name="name" value="<? echo $name; ?>">
Hier kontrollierst du den Namen; er erscheint komplett.
Formular 3:
Hier angekommen ergibt:
<?php
echo $Name;
?>
nur noch den halben Namen, also bis zum Leerzeichen
<input name="name" value="<? echo $name; ?>" type="hidden">
Hier wird der Name reingepackt, steht allerdings nur halb im
Quellcode?
Kann ich mir nicht vorstellen. Hab ich da was mistverstanden?
Bye,
Peter
Meine Frage nun also: Wo bleibt der Rest ?????
Alwin
Hi Alwin,
ich habs ;-)
Formular 2:
hier übergebe ich ihn an ein hidden-Feld
<?php
echo "<input type = "hidden" name = "Name" value = $Name>\n";
echo $Name; ^^^^^
?> Hier müssen Anführungszeichen rum!
Sonst wird alles nach der Leerstelle als neues, leeres Attri-
but gesehen.
Außerdem sollte man im HTML-Code vor und nach Gleichheitszei-
chen keine Leerzeichen setzen.
Bye,
Peter
Hi Alwin,
ich habs ;-)
Formular 2:
hier übergebe ich ihn an ein hidden-Feld
<?php
echo "<input type = "hidden" name = "Name" value = $Name>\n";
echo $Name; ^^^^^
?> Hier müssen Anführungszeichen rum!
Sonst wird alles nach der Leerstelle als neues, leeres Attri-
but gesehen.
Außerdem sollte man im HTML-Code vor und nach Gleichheitszei-
chen keine Leerzeichen setzen.
Bye,
Peter
An der Stelle spielt aber PHP nicht mit bei mir, da will er ein "," oder ein ";"...
Gruß Alwin
Hi Alwin, <== Das ist eine Begrüßung.
Formular 2:
hier übergebe ich ihn an ein hidden-Feld
<?php
echo "<input type = "hidden" name = "Name" value = $Name>\n";
echo $Name; ^^^^^
?> Hier müssen Anführungszeichen rum!
An der Stelle spielt aber PHP nicht mit bei mir, da will er ein "," oder ein ";"...
Latürnich escapte Anführungszeichen: ". Sonst "denkt" der PHP-
Interpreter nämlich, der String sei zu Ende, und kann mit dem
$Name nichts mehr anfangen.
Huhu Alwin
Du musst die "s maskieren (klar sonst kann sie ja später jeder vor Gericht identifizieren).
Viele Grüße
lulu
btw. übersichtlicher( finde ich) geht's so
printf('<input type="hidden" name="Name" value="%s">',$NAME);
Huhu Alwin
Du musst die "s maskieren (klar sonst kann sie ja später jeder vor Gericht identifizieren).
ROFL!
btw. übersichtlicher( finde ich) geht's so
printf('<input type="hidden" name="Name" value="%s">',$NAME);
Warum nicht gleich komplett in den HTML-Modus gehen:
?>
...
<input type="hidden" name="Name" value="<?= $name ?>">
...
<?
Im Prinzip sollte man bei PHP-Scripten Code und HTML versuchen getrennt zu halten. Macht jedenfalls dann ziemlich Sinn, wenn man die gleiche PHP-Datei mit verschiedenen Parametern zu verschiedenen Ausgaben veranlassen will.
Jedenfalls bei diesem Formular macht es irgendwie Sinn.
<? if (nichtabgesendet) {
?>
...
<HTML für ein leeres formular>
...
<?
} elseif (abgesendet_aberunkontrolliert) {
?>
...
<HTML für Kontrollformular mit Hiddenfeldern>
<input type="hidden" name="Name" value="<?= $name ?>">
...
<?
} elseif (kontrolle_war_ok) {
#Daten in die Datenbank schreiben
#und auf die Startseite zurück
header("Location: index.html");
}
?>
Hi Sven,
das folgende Posting ist nicht gegen dich gerichtet ;-)
[...]
<input type="hidden" name="Name" value="<?= $name ?>">
[...] ^
Sag mal, ist das Gleichheitszeichen Absicht? Das hab ich bis-
her in jedem deiner Postings gefunden, in denen es um PHP
ging!
Nüschts für unjut,
Peter
Tag Peter,
[...]
<input type="hidden" name="Name" value="<?= $name ?>">
[...] ^
Sag mal, ist das Gleichheitszeichen Absicht? Das hab ich bis-
her in jedem deiner Postings gefunden, in denen es um PHP
ging!
Das ist die Abkürzung für <? echo $name; ?>. Insofern ist es durchaus Absicht ;-)
Ciao,
Harry
Spontan wuerde ich da mal unter : urlencode($name) nachgucken.
Gruss, Mel
Hallo Alwin,
, lasse ich ihn mir in dem 2. Formular anzeigen erscheint er komplett. In selbigem wird er an ein 'hidden' - Feld übergeben [...]
Per PHP oder JS?
Bye,
Peter
Per PHP
Alwin
Hallo,
ich kenn das von Perl her, das ich extra für die ausgabe eine Formatierung anlege.
z.b $feld{'message'} =~s/\n/<br>/g;
( also \n wird gegen <br> ersetzt.)
Sowas müsste es auch für leerzeichen in Php geben
ich weiss nicht ob das in php geht. Der fehler kommt jedoch durch das Leerzeichen zustande.
Umgehen würde es sich mit nem Bindstrich. Ansonsten?
Schau auf:
http://www.php-center.de/
Hoffe, das hilft dir ein wenig weiter
Gruss
Hi,
ich kenn das von Perl her, das ich extra für die ausgabe eine Formatierung anlege.
z.b $feld{'message'} =~s/\n/<br>/g;
( also \n wird gegen <br> ersetzt.)
Sowas müsste es auch für leerzeichen in Php geben
str_replace(" "," ",$string");
ich weiss nicht ob das in php geht. Der fehler kommt jedoch durch das Leerzeichen zustande.
Nein, da bin ich mir sicher, dass das nicht so ist. Habe auch
schon oft solche Scripts programmiert, und das ist mir noch
nie untergekommen. Wer's nicht glaubt, soll z.B. unter
http://www.assistance4all.de/?page=sos das Formular ausfül-
len. Als Fehlerüberschrift Test oder so eingeben.
Außerdem: Wenn es in diesem Kontrollfeld richtig angezeigt
wird, aber nicht im hidden-Feld ...?
Umgehen würde es sich mit nem Bindstrich. [...]
Nein, es ist ja möglich, dass jemand einen Doppelnamen hat ;-)
Bye,
Peter