PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme bei Variableübergabe per POST



netmaster
03-11-2004, 07:51
Hallo.

Ich arbeite gerade an einer Datenbank.
Da es meines erstes Projekt ist auf diesem Gebiet, funtzt eigentlich auch alles ganz gut.
Habe mir nun mein Werk angesehen und festgestellt,
dass Variable mit POST nicht komplett übergeben werden, wenn Leerzeichen enthalten sind.
Kann mir da einer sagen, wie ich den kompletten String übergeben kann!
Vielleicht noch als Info, ich habe ein Formular, das ich mit POST zur Überprüfung der Felder
an die gleiche Seite zur Überprüfung schicke. (Ob leer oder evtl. bereits vorhanden).
Da ist mir das aufgefallen, dass z. B. bei "Am Bahnhof 17" nur "Am" übermittelt wird.
Für eine Lösung wäre ich sehr Dankbar.

undefined
03-11-2004, 07:56
Kann ich mir jetzt ehrlich gesagt nicht vorstellen.
Ein print_r zum Debuggen gibt aber aufschluß.


if ( isset( $_POST ) )
{
echo "<pre>";
print_r( $_POST );
echo "</pre>";
}

mfg undefined

netmaster
03-11-2004, 08:52
Ich habe mal die Datei h300_edit.php im Anhang.
Übergeben wird h300_edit?id=$id von der Anzeigeseite.
Dort steht noch alles richtig drin.
Dann auch der Edit-Seite immer nur bis zum ersten Leerzeichen der jeweiligen Variable.
Vielleicht findet jemand ja einen Fehler.
Der Code ist bestimmt nicht der Beste, aber ist auch wirklich erst mein ersten Projekt in dieser Welt.




<?
$seite=base64_encode("h300_edit.php");
include("./login_check.inc.php");
include("./conf.inc.php");
include("./function.inc.php");
include("./header.inc.php");
include("./hauptmenue.php");
$id=$_GET[id];
if ($id==FALSE)
{
$id=$_POST[c_id];
}
?>
<p class="ueber">TK - Anlage <? echo $id; ?> ändern</p>
<?
if (isset($_POST[speichern]))
{
$id=$_POST[c_id];
echo "<br>";
$checked="2";
mysql_connect($host, $dbuser, $dbpasswd);
mysql_select_db($db);
$ch_res=mysql_query("SELECT * FROM anl_h300 WHERE id NOT LIKE '$_POST[c_id]'");
if ($_POST[b_id]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">ID <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_kennung]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">Kennung <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_domain]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">Domain <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_plz]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">PLZ <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_ort]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">Ort <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_strasse]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">Strasse <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_bezirk]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">Bezirk <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_vorwahl]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">Vorwahl <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_pilot]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">Pilot <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_einwahl]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">Einwahl <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_rnb]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">Rufnummerblock <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_knotennummer]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">Knotennummer <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_angebunden]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">Angebunden an <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_version]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">Version <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_l_nummer]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">L-Nummer <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_ebene]==FALSE)
{
echo "<center><b><font color=\"red\" style=\"font-size: 14;\">Ebene <font color=\"black\">muss angegeben werden!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_ip]==FALSE)
{
$_POST[b_ip]="-----";
}
if ($_POST[b_prf_tln]==FALSE)
{
$_POST[b_prf_tln]="-----";
}
if ($_POST[b_prf_tln_lage]==FALSE)
{
$_POST[b_prf_tln_lage]="-----";
}
if ($_POST[b_mozart]==FALSE)
{
$_POST[b_mozart]="-----";
}
while ($row=mysql_fetch_array($ch_res))
{
if ($_POST[b_id]==$row[id])
{
echo "<center><b><font color=\"black\" style=\"font-size: 14;\">ID <font color=\"red\">$_POST[b_id]<font color=\"black\"> existiert bereits!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_kennung]==$row[kennung])
{
echo "<center><b><font color=\"black\" style=\"font-size: 14;\">Kennung <font color=\"red\">$_POST[b_kennung]<font color=\"black\"> existiert bereits!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_knotennummer]==$row[knotennummer])
{
echo "<center><b><font color=\"black\" style=\"font-size: 14;\">Knotennummer <font color=\"red\">$_POST[b_knotennummer]<font color=\"black\"> existiert bereits!</b><br></center></font>";
$checked=1;
}
if ($_POST[b_l_nummer]==$row[l_nummer])
{
echo "<center><b><font color=\"black\" style=\"font-size: 14;\">L-Nummer <font color=\"red\">$_POST[b_l_nummer]<font color=\"black\"> existiert bereits!</b><br></center></font>";
$checked=1;
}
}
if ($checked==2)
{
$res=mysql_query("UPDATE anl_h300 SET id='$_POST[b_id]',
region='$_POST[b_region]',
domain='$_POST[b_domain]',
plz='$_POST[b_plz]',
ort='$_POST[b_ort]',
strasse='$_POST[b_strasse]',
bezirk='$_POST[b_bezirk]',
kennung='$_POST[b_kennung]',
basa='$_POST[b_basa]',
vorwahl='$_POST[b_vorwahl]',
pilot='$_POST[b_pilot]',
einwahl='$_POST[b_einwahl]',
ip='$_POST[b_ip]',
rnb='$_POST[b_rnb]',
prf_tln='$_POST[b_prf_tln]',
prf_tln_lage='$_POST[b_prf_tln_lage]',
knotennummer='$_POST[b_knotennummer]',
angebunden='$_POST[b_angebunden]',
mozart='$_POST[b_mozart]',
dtb='$_POST[b_dtb]',
phonemail='$_POST[b_phonemail]',
hw_typ='$_POST[b_hw_typ]',
hw_arch='$_POST[b_hw_arch]',
version='$_POST[b_version]',
l_nummer='$_POST[b_l_nummer]',
ebene='$_POST[b_ebene]'
WHERE id='$_POST[c_id]'");
if ($res==1) { echo "<meta http-equiv=\"refresh\" content=\"0; URL=./einzel_h300.php?id=$_POST[b_id]\">"; }
else { echo "<center><br><font color=\"red\"><b>TK-Anlage ändern: Failed</b></font></center>"; }
}
mysql_close();
}
else {
mysql_connect($host, $dbuser, $dbpasswd);
mysql_select_db($db);
$result_h300=mysql_query("SELECT * FROM anl_h300 where id='$_GET[id]'");
$_POST[b_id]=mysql_result($result_h300, 0, "id");
$_POST[b_region]=mysql_result($result_h300, 0, "region");
$_POST[b_domain]=mysql_result($result_h300, 0, "domain");
$_POST[b_plz]=mysql_result($result_h300, 0, "plz");
$_POST[b_ort]=mysql_result($result_h300, 0, "ort");
$_POST[b_strasse]=mysql_result($result_h300, 0, "strasse");
$_POST[b_bezirk]=mysql_result($result_h300, 0, "bezirk");
$_POST[b_kennung]=mysql_result($result_h300, 0, "kennung");
$_POST[b_basa]=mysql_result($result_h300, 0, "basa");
$_POST[b_vorwahl]=mysql_result($result_h300, 0, "vorwahl");
$_POST[b_pilot]=mysql_result($result_h300, 0, "pilot");
$_POST[b_einwahl]=mysql_result($result_h300, 0, "einwahl");
$_POST[b_ip]=mysql_result($result_h300, 0, "ip");
$_POST[b_rnb]=mysql_result($result_h300, 0, "rnb");
$_POST[b_prf_tln]=mysql_result($result_h300, 0, "prf_tln");
$_POST[b_prf_tln_lage]=mysql_result($result_h300, 0, "prf_tln_lage");
$_POST[b_knotennummer]=mysql_result($result_h300, 0, "knotennummer");
$_POST[b_angebunden]=mysql_result($result_h300, 0, "angebunden");
$_POST[b_mozart]=mysql_result($result_h300, 0, "mozart");
$_POST[b_dtb]=mysql_result($result_h300, 0, "dtb");
$_POST[b_phonemail]=mysql_result($result_h300, 0, "phonemail");
$_POST[b_hw_typ]=mysql_result($result_h300, 0, "hw_typ");
$_POST[b_hw_arch]=mysql_result($result_h300, 0, "hw_arch");
$_POST[b_version]=mysql_result($result_h300, 0, "version");
$_POST[b_l_nummer]=mysql_result($result_h300, 0, "l_nummer");
$_POST[b_ebene]=mysql_result($result_h300, 0, "ebene");
mysql_close();
}

netmaster
03-11-2004, 08:54
Hier noch der Rest, da ich kein anhanh einfügen kann.
Das letzte Posting und dieses ist ein. Hatte knapp 2000 Zeichen zuviel.
Da hab ich es gesplittet.



echo "
<center>
<form action=\"h300_edit.php\" method=\"post\">
<table style=\"font-size: 14;\" border-color=\"#ffffff\" border=\"0\" width=\"95%\">
<td align=\"right\" width=\"20%\"><b>ID:</b></td>
<td align=\"left\"><input type=\"text\" name=\"b_id\" value=$_POST[b_id]></td>
<td align=\"right\" width=\"20%\"><u>Domain:</u></td>
<td align=\"left\"><input type=\"text\" name=\"b_domain\" value=$_POST[b_domain]></td>
</tr>
<tr style=\"font-size: 14;\">
<td align=\"right\" width=\"20%\"><b>Kennung:<b></td>
<td align=\"left\"><input type=\"text\" name=\"b_kennung\" value=$_POST[b_kennung]></td>
<td align=\"right\" width=\"20%\"><u>Strasse:</u></td>
<td align=\"left\"><input type=\"text\" name=\"b_strasse\" value=$_POST[b_strasse]></td>
</tr>
<tr style=\"font-size: 14;\">
<td align=\"right\" width=\"20%\"><u>PLZ:</u></td>
<td align=\"left\"><input type=\"text\" name=\"b_plz\" value=$_POST[b_plz]></td>
<td align=\"right\" width=\"20%\"><u>Service Bezirk:</u></td>
<td align=\"left\"><input type=\"text\" name=\"b_bezirk\" value=$_POST[b_bezirk]></td>
</tr>
<tr style=\"font-size: 14;\">
<td align=\"right\" width=\"20%\"><u>Ort:</u></td>
<td align=\"left\"><input type=\"text\" name=\"b_ort\" value=$_POST[b_ort]></td>
<td align=\"right\" width=\"20%\"><u>Region:</u></td>
<td align=\"left\"><select name=\"b_region\">";
if ($_POST[b_region]=="Mitte") {
echo "<option selected>Mitte</option>";
}
else {
echo "<option>Mitte</option>";
}
if ($_POST[b_region]=="West") {
echo "<option selected>West</option>";
}
else {
echo "<option>West</option>";
}
if ($_POST[b_region]=="Mitte-West") {
echo "<option selected>Mitte-West</option>";
}
else {
echo "<option>Mitte-West</option>";
}
if ($_POST[b_region]=="Nord") {
echo "<option selected>Nord</option>";
}
else {
echo "<option>Nord</option>";
}
if ($_POST[b_region]=="Ost") {
echo "<option selected>Ost</option>";
}
else {
echo "<option>Ost</option>";
}
if ($_POST[b_region]=="Nord-Ost") {
echo "<option selected>Nord-Ost</option>";
}
else {
echo "<option>Nord-Ost</option>";
}
if ($_POST[b_region]=="Süd") {
echo "<option selected>Süd</option>";
}
else {
echo "<option>Süd</option>";
}
if ($_POST[b_region]=="Süd-West") {
echo "<option selected>Süd-West</option>";
}
else {
echo "<option>Süd-West</option>";
}
echo "
</select></td>
</tr></table></br>
<table style=\"font-size: 14;\" border-color=\"#ffffff\" border=\"0\" width=\"95%\">
<td align=\"right\" width=\"20%\">BASA:</td>
<td align=\"left\"><input type=\"text\" name=\"b_basa\" value=$_POST[b_basa]></td>
<td align=\"right\" width=\"20%\"><u>angebunden an:</u></td>
<td align=\"left\"><input type=\"text\" name=\"b_angebunden\" value=$_POST[b_angebunden]></td>
</tr>
<tr style=\"font-size: 14;\">
<td align=\"right\" width=\"20%\"><u>Vorwahl:</u></td>
<td align=\"left\"><input type=\"text\" name=\"b_vorwahl\" value=$_POST[b_vorwahl]></td>
<td align=\"right\" width=\"20%\">Mozart:</td>
<td align=\"left\"><input type=\"text\" name=\"b_mozart\" value=$_POST[b_mozart]></td>
</tr>
<tr style=\"font-size: 14;\">
<td align=\"right\" width=\"20%\"><u>Pilot:</u></td>
<td align=\"left\"><input type=\"text\" name=\"b_pilot\" value=$_POST[b_pilot]></td>
<td align=\"right\" width=\"20%\"><u>DTB:</u></td>
<td align=\"left\"><select name=\"b_dtb\">";
if ($_POST[b_dtb]=="nein") {
echo "<option selected>nein</option>";
}
else {
echo "<option>nein</option>";
}
if ($_POST[b_dtb]=="ja") {
echo "<option selected>ja</option>";
}
else {
echo "<option>ja</option>";
}
echo "
</select></td>
</tr>
<tr style=\"font-size: 14;\">
<td align=\"right\" width=\"20%\"><u>Einwahl:</u></td>
<td align=\"left\"><input type=\"text\" name=\"b_einwahl\" value=$_POST[b_einwahl]></td>
<td align=\"right\" width=\"20%\"><u>Phonemail:</u></td>
<td align=\"left\"><select name=\"b_phonemail\">";
if ($_POST[b_phonemail]=="nein") {
echo "<option selected>nein</option>";
}
else {
echo "<option>nein</option>";
}
if ($_POST[b_phonemail]=="ja") {
echo "<option selected>ja</option>";
}
else {
echo "<option>ja</option>";
}
echo "
</select></td>
</tr>
<tr style=\"font-size: 14;\">
<td align=\"right\" width=\"20%\">IP-Adresse:</td>
<td align=\"left\"><input type=\"text\" name=\"b_ip\" value=$_POST[b_ip]></td>
<td align=\"right\" width=\"20%\"><u>HW-Typ:</u></td>
<td align=\"left\"><select name=\"b_hw_typ\">";
if ($_POST[b_hw_typ]=="HICOM300") {
echo "<option selected>HICOM300</option>";
}
else {
echo "<option>HICOM300</option>";
}
if ($_POST[b_hw_typ]=="HICOM300U") {
echo "<option selected>HICOM300U</option>";
}
else {
echo "<option>HICOM300U</option>";
}
if ($_POST[b_hw_typ]=="HICOM300R") {
echo "<option selected>HICOM300R</option>";
}
else {
echo "<option>HICOM300R</option>";
}
if ($_POST[b_hw_typ]=="HIPATH4000") {
echo "<option selected>HIPATH4000</option>";
}
else {
echo "<option>HIPATH4000</option>";
}
echo "
</select></td>
</tr>
<tr style=\"font-size: 14;\">
<td align=\"right\" width=\"20%\"><u>Rufnummerblock:</u></td>
<td align=\"left\"><input type=\"text\" name=\"b_rnb\" value=$_POST[b_rnb]></td>
<td align=\"right\" width=\"20%\"><u>HW-Architektur:</u></td>
<td align=\"left\"><select name=\"b_hw_arch\">";
if ($_POST[b_hw_arch]=="H350E") {
echo "<option selected>H350E</option>";
}
else {
echo "<option>H350E</option>";
}
if ($_POST[b_hw_arch]=="H330E") {
echo "<option selected>H330E</option>";
}
else {
echo "<option>H330E</option>";
}
if ($_POST[b_hw_arch]=="H310E") {
echo "<option selected>H310E</option>";
}
else {
echo "<option>H310E</option>";
}
if ($_POST[b_hw_arch]=="H392") {
echo "<option selected>H392</option>";
}
else {
echo "<option>H392</option>";
}
if ($_POST[b_hw_arch]=="H382") {
echo "<option selected>H382</option>";
}
else {
echo "<option>H382</option>";
}
if ($_POST[b_hw_arch]=="H372") {
echo "<option selected>H372</option>";
}
else {
echo "<option>H372</option>";
}
if ($_POST[b_hw_arch]=="H362") {
echo "<option selected>H362</option>";
}
else {
echo "<option>H362</option>";
}
if ($_POST[b_hw_arch]=="H352") {
echo "<option selected>H352</option>";
}
else {
echo "<option>H352</option>";
}
if ($_POST[b_hw_arch]=="H342") {
echo "<option selected>H342</option>";
}
else {
echo "<option>H342</option>";
}
if ($_POST[b_hw_arch]=="H323") {
echo "<option selected>H323</option>";
}
else {
echo "<option>H323</option>";
}
if ($_POST[b_hw_arch]=="4100") {
echo "<option selected>4100</option>";
}
else {
echo "<option>4100</option>";
}
if ($_POST[b_hw_arch]=="4300") {
echo "<option selected>4300</option>";
}
else {
echo "<option>4300</option>";
}
if ($_POST[b_hw_arch]=="4500") {
echo "<option selected>4500</option>";
}
else {
echo "<option>4500</option>";
}
echo "
</select></td>
</tr>
<tr style=\"font-size: 14;\">
<td align=\"right\" width=\"20%\">Prüf-TLN:</td>
<td align=\"left\"><input type=\"text\" name=\"b_prf_tln\" value=$_POST[b_prf_tln]></td>
<td align=\"right\" width=\"20%\"><u>Version:</u></td>
<td align=\"left\"><input type=\"text\" name=\"b_version\" value=$_POST[b_version]></td>
</tr>
<tr style=\"font-size: 14;\">
<td align=\"right\" width=\"20%\">Prüf-TLN-Lage:</td>
<td align=\"left\"><input type=\"text\" name=\"b_prf_tln_lage\" value=$_POST[b_prf_tln_lage]></td>
<td align=\"right\" width=\"20%\"><b>L-Nummer:</b></td>
<td align=\"left\"><input type=\"text\" name=\"b_l_nummer\" value=$_POST[b_l_nummer]></td>
</tr>
<tr style=\"font-size: 14;\">
<td align=\"right\" width=\"20%\"><b>Knotennummer:</b></td>
<td align=\"left\"><input type=\"text\" name=\"b_knotennummer\" value=$_POST[b_knotennummer]></td>
<td align=\"right\" width=\"20%\"><u>Ebene:</u></td>
<td align=\"left\"><input type=\"text\" name=\"b_ebene\" value=$_POST[b_ebene]></td>
</tr>
</table><br>
<INPUT name=\"c_id\" type=\"hidden\" value=\"$id\">
<INPUT type=\"submit\" name=\"speichern\" value=\"Daten speichern\"></form>
</center>
";
?>
<?
include("./footer.inc.php");
?>

netmaster
03-11-2004, 09:01
*löl*

Habe gerade meinen Fehler gefunden. So beim Kopieren denke ich, dafehlt doch was.
Menno, danach suche ich seit gestern Mittag.
Jetzt beim posten und reinkopieren sehe ich es auf Anhieb.
Ist doch zum kotzen.
Hier ist der Fehler:

value=$_POST[b_strasse]

Muss natürlich heissen:

value=\"$_POST[b_strasse]\" --> wegen php "echo" :cool:

Trotzdem Danke.

Gaert
03-11-2004, 22:21
Muss natürlich heissen:

value=\"$_POST[b_strasse]\" --> wegen php "echo" :cool:



Sauber muss es eigentlich


echo 'value=' . $_POST['b_strasse'] . '...';

heissen...
Array Zugriffe ohne einfache Anführungszeichen sind kein guter Stil.

Gruß,

Gaert