Profielenscript foutmelding.. php 5.3
Ik heb een vrij groot probleem..waar ik echt totaal geen uitweg meer inzie..
ik heb sinds kort een profielensite.. voor een woonplaats..
echter heeft kort mn hostingprovider mijndomein php geupgrade naar versie 5.3
sinds die tijd krijg ik bij wijzigen profiel:
Warning: substr() expects parameter 3 to be long, string given in /public/sites/www.***.nl/controllers/panel.php on line 316
als ik vervolgens kijk bij: panel.php op lijn 316 zie ik:
else $this->r['tpl']->assign ("Wijzigen", "V".(substr (0, 5, $key) == 'extra_' ? substr (6, $key) : $key), $this->r['functions']->strip ($this->r['user'][$key]));
heeft iemand misschien een idee wat hier fout gaat ineens?
alvast enorm bedankt.
Groetjes., Sebas
http://www.php.net/substr
En dit probleem had je al, maar komt nu waarschijnlijk naar boven omdat er wat settings gewijzigd zijn.
Al om al, wat jij doet is gewoon fout
En dit probleem had je al, maar komt nu waarschijnlijk naar boven omdat er wat settings gewijzigd zijn.
Al om al, wat jij doet is gewoon fout
Oke.., valt dit optelossen?
Yep, voor elk probleem wat er bestaat is een oplossing. Bekijk in dit geval de gegeven link en trek je conclusie.
Noppes Homeland op 14/04/2012 20:18:42:
Yep, voor elk probleem wat er bestaat is een oplossing. Bekijk in dit geval de gegeven link en trek je conclusie.
Oke., ik zeg eerlijk ben hier blijkbaar echt een leek in..
zie jij misschien iets in de bovenstaande script iets wat onjuist is?
kan haast niet veel zijn lijkt me..
wat wil je precies doen ?
warning: substr() expects parameter 2 to be long, string given in /public/sites/www.***.nl/controllers/panel.php on line 316
Ben echt afgelopen dagen uren bezig geweest te google enzo..
maar dit nprobleem lukt me echtt niet te achterhalen/optelossen..
verleden wel eerder problemen gehad maar die waren door 1 woord of cijder/s te veraneren/verwijderen opgelost..
maar dit tja..
zie jij iets onjuist in:
else $this->r['tpl']->assign ("Wijzigen", "V".(substr (0, 5, $key) == 'extra_' ? substr (6, $key) : $key), $this->r['functions']->strip ($this->r['user'][$key]));
Wat moet de code doen die een error geeft ?
profiel wijzigen.. deze wijzigingen doorvoeren en opslaan.. tussen de streepjes dat is lijn 316 waar die de foutmelding opgeeft:
hieronder wat meer tekst van panel.php:
_______________________________________
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
else $this->r['tpl']->assign ("Wijzigen", "V".(substr (0, 5, $key) == 'extra_' ? substr (6, $key) : $key), $this->r['functions']->strip
($this->r['user'][$key]));
_______________________________________
//$this->r['tpl']->assign ("Wijzigen", "V".(substr (0, 5, $key) == 'extra_' ? substr (6, $key) : $key), $this->r['functions']->strip ($this->r['user'][$key]));
$this->r['tpl']->assign ("Wijzigen", $this->r['user']['geslacht'], 'checked="checked"');
$this->r['tpl']->assign ("Wijzigen", $this->r['user']['relatie'], 'checked="checked"');
$this->r['tpl']->assign ("Wijzigen", $this->r['user']['geaardheid'], 'selected="selected"');
if($key == 'geboortedatum' && $this->r['user']['geboortedatum'] != '') {
$sDatum = explode ("-", $this->r['user'][$key]);
$this->r['tpl']->assign ("Wijzigen", $sDatum [0], 'selected="selected"');
$this->r['tpl']->assign ("Wijzigen", 'm'.$sDatum [1], 'selected="selected"');
$this->r['tpl']->assign ("Wijzigen", $sDatum [2], 'selected="selected"');
}
}
$this->r['tpl']->Parse ("index", "Wijzigen", "content");
}
}
else $this->r['functions']->redirect ('Fout', 'Je kunt je profiel niet aanpassen als je niet bent ingelogd.', 'members/login', 3);
}
function interesses () {
$this->r['tpl']->define (array ('index.tpl', 'panel/interesses.tpl'));
if($this->r['client']->ingelogd == 1) {
if(isset ($_POST['submit']) || $_SERVER['REQUEST_METHOD'] == 'post') {
$sEten = (isset ($_POST['eten']) ? mysql_real_escape_string (implode (", ", $_POST['eten'])) : '');
$sMuziek = (isset ($_POST['muziek']) ? mysql_real_escape_string (implode (", ", $_POST['muziek'])) : '');
$sMerken = (isset ($_POST['merken']) ? mysql_real_escape_string (implode (", ", $_POST['merken'])) : '');
$sBoeken = (isset ($_POST['boeken']) ? mysql_real_escape_string (implode (", ", $_POST['boeken'])) : '');
$sReizen = (isset ($_POST['reizen']) ? mysql_real_escape_string (implode (", ", $_POST['reizen'])) : '');
$sGames = (isset ($_POST['games']) ? mysql_real_escape_string (implode (", ", $_POST['games'])) : '');
$sTv = (isset ($_POST['tv']) ? mysql_real_escape_string (implode (", ", $_POST['tv'])) : '');
($this->r['user'][$key]));
_______________________________________
//$this->r['tpl']->assign ("Wijzigen", "V".(substr (0, 5, $key) == 'extra_' ? substr (6, $key) : $key), $this->r['functions']->strip ($this->r['user'][$key]));
$this->r['tpl']->assign ("Wijzigen", $this->r['user']['geslacht'], 'checked="checked"');
$this->r['tpl']->assign ("Wijzigen", $this->r['user']['relatie'], 'checked="checked"');
$this->r['tpl']->assign ("Wijzigen", $this->r['user']['geaardheid'], 'selected="selected"');
if($key == 'geboortedatum' && $this->r['user']['geboortedatum'] != '') {
$sDatum = explode ("-", $this->r['user'][$key]);
$this->r['tpl']->assign ("Wijzigen", $sDatum [0], 'selected="selected"');
$this->r['tpl']->assign ("Wijzigen", 'm'.$sDatum [1], 'selected="selected"');
$this->r['tpl']->assign ("Wijzigen", $sDatum [2], 'selected="selected"');
}
}
$this->r['tpl']->Parse ("index", "Wijzigen", "content");
}
}
else $this->r['functions']->redirect ('Fout', 'Je kunt je profiel niet aanpassen als je niet bent ingelogd.', 'members/login', 3);
}
function interesses () {
$this->r['tpl']->define (array ('index.tpl', 'panel/interesses.tpl'));
if($this->r['client']->ingelogd == 1) {
if(isset ($_POST['submit']) || $_SERVER['REQUEST_METHOD'] == 'post') {
$sEten = (isset ($_POST['eten']) ? mysql_real_escape_string (implode (", ", $_POST['eten'])) : '');
$sMuziek = (isset ($_POST['muziek']) ? mysql_real_escape_string (implode (", ", $_POST['muziek'])) : '');
$sMerken = (isset ($_POST['merken']) ? mysql_real_escape_string (implode (", ", $_POST['merken'])) : '');
$sBoeken = (isset ($_POST['boeken']) ? mysql_real_escape_string (implode (", ", $_POST['boeken'])) : '');
$sReizen = (isset ($_POST['reizen']) ? mysql_real_escape_string (implode (", ", $_POST['reizen'])) : '');
$sGames = (isset ($_POST['games']) ? mysql_real_escape_string (implode (", ", $_POST['games'])) : '');
$sTv = (isset ($_POST['tv']) ? mysql_real_escape_string (implode (", ", $_POST['tv'])) : '');
Gewijzigd op 14/04/2012 20:46:03 door sebas jongeneel
punt 1 gelieve de code tags te gebruike over je code [code+] [+/code] (zonder +)
Php knipper op 14/04/2012 20:44:28:
punt 1 gelieve de code tags te gebruike over je code [code+] [+/code] (zonder +)
ok. gewijzigd.
substr (6, $key)
ik denk niet dat het zo gaat werken doordat het
substr ($key, -6) dan pak je de laatste 6 tekens van $key
substr ($key, 6 ) dan pak je de eerste 6 tekens van $key
moet zijn, probeer dat eens
Gewijzigd op 14/04/2012 20:50:32 door php knipper
http://www.php.net/substr
Leze wat er staat en ook alsdanig toepassen en dat is blijkbaar heel moeilijk.
Noppes Homeland op 14/04/2012 20:47:33:
En nog maar weer een keer aanhalen:
http://www.php.net/substr
Leze wat er staat en ook alsdanig toepassen en dat is blijkbaar heel moeilijk.
http://www.php.net/substr
Leze wat er staat en ook alsdanig toepassen en dat is blijkbaar heel moeilijk.
bedoel je mij?
Php knipper op 14/04/2012 20:47:21:
ik zie hier staan
substr (6, $key)
ik denk niet dat het zo gaat werken doordat het
substr ($key, -6) dan pak je de laatste 6 tekens van $key
substr ($key, 6 ) dan pak je de eerste 6 tekens van $key
moet zijn, probeer dat eens
substr (6, $key)
ik denk niet dat het zo gaat werken doordat het
substr ($key, -6) dan pak je de laatste 6 tekens van $key
substr ($key, 6 ) dan pak je de eerste 6 tekens van $key
moet zijn, probeer dat eens
Ik heb het ingevoerd.. ik zie nu wel dat het :
Warning: substr() expects parameter 2 to be long, string given in /public/sites/www.***.nl/controllers/panel.php on line 316
voor deze wijziging stonden er nog:
expects parameter 3 to be long
schijnbaar nog 2 foutjes ofzo..XD
Php Knipper bedankt.. iedergeval weer 1 stapje dichterbij.. nu nog de andere 2XD
Nee, ik bedoel dat onze grote vrind Sebas die link moet volgen, lezen wat er staat en op correcte wijze moet toepassen. Dan hoef je hem ook niet verder te helpen met kauwen.
sebas wat zit er eigelijk in $key ( de error zegt denk ik dat er minder dan 6 tekens zijn )
[ff geen idee hoe bedoel je?
$key = phphulp;
dan doet die substr() phphulp -6 tekens = p of phphulp 6 tekens = phphul
maar...
$key = hallo;
dan doet die substr() hallo -6 tekens = error of hallo 6 tekens = error
de berekening klopt niet doordat er niet genoeg tekens zijn
overigens net even geprobeerd de error code:
geheel zie onderstaand te verwijderen.. nu zijn de errors weg.. maar dit is natuurlijk geen oplossing,.,
Code (php)
1
2
3
2
3
else $this->r['tpl']->assign ("Wijzigen", "V".(substr (0, 5, $key) == 'extra_' ? substr ($key, -6) : $key), $this->r['functions']->strip ($this->r['user'][$key]));
//$this->r['tpl']->assign ("Wijzigen", "V".(substr (0, 5, $key) == 'extra_' ? substr ($key, -6) : $key), $this->r['functions']->strip ($this->r['user'][$key]));
//$this->r['tpl']->assign ("Wijzigen", "V".(substr (0, 5, $key) == 'extra_' ? substr ($key, -6) : $key), $this->r['functions']->strip ($this->r['user'][$key]));
dat weet ik niet zet in de plaats van 6 of -6 eens 0