Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wrong parametr count for print_r()
Forum PHP.pl > Forum > Gotowe rozwiązania
conkon
Witam. Mam skrypt, ktory dziala poprawnie na Lycosie, ale gdy zalozylem sobie probne konto na neo.pl zeby nie miec tych wszystkich reklam i w ogole to wyswietla mi nastepujaca informacje o bledzie:

Warning: Wrong parameter count for print_r() in /home/neo.pl/CUST008025/fleet.neo.pl/public_html_open/test.php on line 3
E-mail wysłany pomyślnie

Skrypt wyglada tak:

<?php
$tresc="Alfa: ".$_POST['alfa']."
nRangowanie: ".print_r($_POST['rangowanie'], true)."
nbeta: ".$_POST['beta'];


if( mail("moj@adres.pl", "wynik ankiety", $tresc) )
{ echo("E-mail wysłany pomyślnie"); } else
{ echo("Błąd podczas wysyłania e-maila!"); }
?>

Jak myslicie, co jest tego powodem? rolleyes.gif
Majdan
Chyba o to Ci chodziło :?:
[php:1:49dbfcb289]<?php
$tresc="Alfa: ".$_POST['alfa']."
nRangowanie: ".$_POST['rangowanie']."
nbeta: ".$_POST['beta'];
// (...)
?>[/php:1:49dbfcb289]

PS. Mógłbyś używać BBCode :?:
conkon
Wiadomo, ze moge wymazac i po sprawie, ale nie o to mi chodzi. W sumie i tak jak wymazalem i napisalem to co zaproponowales to i tak nie dziala. Poza tym wiem, ze skrypt jest ok bo dziala na innym serwerze.
conkon
Sorry, moja pomylka. Tak jak napisales oczywiscie dziala, tyle ze nie tak jakbym chcial. Nie moge przeciez wymazac print_r bo nie wysle mi zawartosci tablicy, a o to mi przede wszystkim chodzi. Czy to wina serwera?
Majdan
Nie ma tu winy serwera. print_r() służy do czego innego. Poczytaj w manualu.
Nie wiem jak chcesz użyć tej tablicy '$_POST['alfa']', bo chyba chodzi o '$_POST', ale nie taki jest cel. Wytłumacz dokładniej o co chodzi z tą tablicą.

Wskazówka:
[php:1:072e731768]<?php
$tresc="Alfa: ".$_POST['alfa']."
nRangowanie: ";
for ($i=0; $i<=count($tablica); $i++) {
$tresc .= $tablica[$i];
}
$tresc .= "
nbeta: ".$_POST['beta'];
// (...)
?>[/php:1:072e731768]
conkon
Wlasnie zalozylem testowe konto na innym serwerze i tez dziala jak nalezy, czyli praktycznie problem mam z glowy biggrin.gif . Z tablica chodzi mniej wiecej o to, ze wysyla odpowiedzi formularza napisanego w JavaScript (zobacz link to bedzie wiadomo, mam nadzieje, o co chodzi). Jak na moje to skoro dziala na Lycosie no i na tym futuro to cos musi byc nie tak na serwerze neo.pl

http://www.fleet.futuro.net.pl/return.htm

http://www.members.lycos.co.uk/conkon/return.htm

http://www.fleet.neo.pl/return.htm

:?: :?: :?:
conkon
Poza tym w mailu z Lycosa i Futuro dostaje odpoewiedz w formacie:

Rangowanie: Array
(
[0] => Alfa Romeo
[1] => Peugeot
[2] => Volkswagen
[3] => Seat
[4] => Volvo
[5] => Honda
[6] => Skoda
)

a z tego neo jedynie:

Rangowanie:
Majdan
Dzieję się tak, gdyż takie działanie ma funkcja print_r().
Wydaję mi się, że chodzi Ci o taki wynik, jaki podałem w moim kodzie:
[php:1:a0e6543c30]<?php
$tablica = array();
for ($i=0; $i<=count($tablica); $i++) {
$tresc .= $tablica[$i];
}
?>[/php:1:a0e6543c30]

PS. Pamietaj o możliwości edytowania postów. Nie pisz jednego pod drugim.
conkon
W przypadku napisanego przez Ciebie kodu nie wyswietla zadnego komunikatu o bledzie i po dodaniu odpowiedniego fragmentu wysyla maila, tyle ze nie ma w nim zadnej tresci.


dodalem:

[php:1:d86f616362]<?php
if( mail("conkon@icpnet.pl", "wynik ankiety", $tresc) )
{ echo("E-mail wysłany pomyślnie"); } else
{ echo("Błąd podczas wysyłania e-maila!"); }

?>[/php:1:d86f616362]
Majdan
[php:1:b0d41278fc]<?php
$tablica = array(); //tablica z treścią
$tresc = implode("", $tablica);

if( mail("conkon@icpnet.pl", "wynik ankiety", $tresc) )
{ echo("E-mail wysłany pomyślnie"); } else
{ echo("Błąd podczas wysyłania e-maila!"); }
?>[/php:1:b0d41278fc]
conkon
8) Sorry, ale jestem raczej laikiem i nie za bardzo wiem o co chodzi w ostatnim poscie. Domyslam sie, ze po array(); mam wstawic nazwe tablicy, ale nie za bardzo mi to dziala, bo ja jestem raczej na etapie Kopiuj -> Wklej, jak na razie :wink: Robilem


[php:1:cedc56dfed]<?php array(); ['rangowanie']
?>[/php:1:cedc56dfed] i nie dziala. Prosze o wyrozumialosc 8) [/b]
Majdan
Radzę przeczytać kurs o php o tablicach i manuala.
'$tablica[]' to tablica, więc:
[php:1:2c2f721aae]<?php
$tablica = array("1111", "aaaa", "bbbb", "cccc");
?>[/php:1:2c2f721aae]

Czyli:
[php:1:2c2f721aae]<?php
$tablica[0] = "1111";
$tablica[1] = "aaaa";
$tablica[2] = "bbbb";
$tablica[3] = "cccc";
?>[/php:1:2c2f721aae]

Kod znajdujący się poniżej łączy wszystkie tablice '$tablica' w jedną zmienną $tresc.
[php:1:2c2f721aae]<?php
$tresc = implode("", $tablica);
?>[/php:1:2c2f721aae]
conkon
Ok, wielkie dzieki za pomoc i pozdr. biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.