PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variable an Cookie übergeben? Syntax-Problem


_mil28
16.01.2006, 00:07:02
hiho,

tu mich immer noch ein wenig mit der Syntax schwer. Was ist daran falsch?

<?php
$string = $_POST['Title'];
str_replace($string, ' ','');
setcookie ("ckFolder", $string, time()+86400*1);
?>

Form auslesen, Leerzeichen rausmachen, in den Cookie packen. Ergebnis: traurigerweise sind die Leerzeichen im Cookie wieder drin, andererseits wenn ich das Ganze mit echo mache:

<?php
$string = $_POST['Title'];
echo str_replace($string, ' ','');
?>

... dann funktionierts, die Leerzeichen sind weg.

Woran liegts ?

1000 Dank, mil

feuervogel
16.01.2006, 00:14:32
willkommen im forum!

str_replace bekommt keine referenz übergeben. du musst das, was str_replace mit deiner variable macht, auch wieder irgendwo hin zuweisen, analog dem beispiel in dem es funktioniert.

<?php
$string = $_POST['Title'];
$string = str_replace($string, ' ','');
setcookie ("ckFolder", $string, time()+86400*1);
?>

ich will dich ja nicht verwirren, aber am elegantesten wäre folgende lösung:

<?php
setcookie ("ckFolder", str_replace( $_POST[ 'Title' ] , ' ' , '' ), time()+86400*1); ?>

_mil28
16.01.2006, 02:16:08
hey! Elegant find ich super - verstanden hab ichs auch - Besten Dank, mil

_mil28
16.01.2006, 03:29:11
Auf einmal gehts nicht mehr...

Woran kann das denn liegen? So sieht der Cookie-Block jetzt aus...

// OK!
setcookie("ckTitle", $HTTP_POST_VARS['Title'], time()+86400*1);
setcookie("ckDeveloper", $HTTP_POST_VARS['Developer'], time()+86400*1);
setcookie("ckService", $HTTP_POST_VARS['Service'], time()+86400*1);
setcookie("ckServiceContact", $HTTP_POST_VARS['ServiceContact'], time()+86400*1);
setcookie("ckManual", $HTTP_POST_VARS['Manual'], time()+86400*1);
setcookie("ckSingleplayer", $HTTP_POST_VARS['Singleplayer'], time()+86400*1);
setcookie("ckMultiplayer", $HTTP_POST_VARS['Multiplayer'], time()+86400*1);
setcookie("ckReleaseUS", $HTTP_POST_VARS['ReleaseUS'], time()+86400*1);
setcookie("ckReleaseEU", $HTTP_POST_VARS['ReleaseEU'], time()+86400*1);
setcookie("ckAgeRating", $HTTP_POST_VARS['AgeRating'], time()+86400*1);
setcookie("ckPrice", $HTTP_POST_VARS['Price'], time()+86400*1);

// Not Working!
$strFolder = $_POST['Title'];
$strFolder = str_replace($strFolder, ' ','');
setcookie ("ckFolder", $strFolder, time()+86400*1);

meikel (†)
16.01.2006, 03:45:15
Auf einmal gehts nicht mehr...
Klar, weil es falsch ist.

// Not Working!
$strFolder = str_replace($strFolder, ' ','');
RTFM!
http://de3.php.net/str_replace

feuervogel
16.01.2006, 08:52:18
hupsi...da hätte es aber vorher auch schon nicht geklappt...oder?

_mil28
16.01.2006, 15:24:05
war ziemlich spät gestern Abend - aber jetzt läufts:

$strFolder = str_replace(' ','',$_POST['Title']);
setcookie ("ckFolder", $strFolder, time()+86400*1);

1000 Dank, mil