Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема c Post
Форумы портала PHP.SU » » Если скрипт не работает » Проблема c Post

Страниц (1): [1]
 

1. shans - 16 Июля, 2011 - 00:54:10 - перейти к сообщению
Здравствуйте,

посмотрите пожалуйста и объясните в чем дело?



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>test page</title>
<link href="style.css" type="text/css" rel="stylesheet">
</head>
<body>


<form method="post" action="contact.php">
<table width="557" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="108" valign="top"><strong>Name</strong></td>
<td width="265"><input type="text" name="naam" size="25" value="" ></td>
<td width="180">&nbsp;</td>
</tr>
<tr>
<td valign="top"><strong>Email</strong></td>
<td><input type="text" name="email" size="30" value=""></td>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top"><strong>Message</strong></td>
<td><textarea name="message" cols="30" rows="10"> </textarea></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" value="Send">
<input name="reset" type="reset" value="Reset"></td>
</form>



Вот php code:



<?php

mail("info@lamusic.com","Hello","chelovek po imeni $naam,
ukazal svoi email-$email, i v kachestve soobshenya - $message." );

?>


И вот Результат:

X-Sendmail-Cmdline: sendmail.pl -t -i
To: info@lamusic.com
Subject: Hello

chelovek po imeni ,
ukazal svoi email-, i v kchestve soobshenya - .



За р.б. спасибо.
2. PATCH - 16 Июля, 2011 - 01:14:58 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $naam = $_POST['naam'];
  4. $message = $_POST['message'];
  5. $email = $_POST['email'] ;
  6.  
  7.  
  8. mail("info@lamusic.com","Hello","chelovek po imeni ".$naam.",
  9. ukazal svoi email-".$email.", i v kachestve soobshenya - ".$message."." );
  10.  


пояснения такие ты отправляеш методом POST, а где у тебя в php скрипте указано каким ты методом передаеш? и какие переменые?

PHP:
скопировать код в буфер обмена
  1.   $naam = $_POST['naam'];
  2. $message = $_POST['message'];
  3. $email = $_POST['email'] ;


$переменой в этом сценарии= метод['переменая'] ;
дальше ошибки:

PHP:
скопировать код в буфер обмена
  1. mail("info@lamusic.com","Hello","chelovek po imeni $naam,
  2. ukazal svoi email-$email, i v kachestve soobshenya - $message." );


если сделать так то php интерпритатор не поймет где переменая допустим $naam а где просто словосочетание $naam в твоем правописании у тебя тупо словосочитание. потому что ты взял в двойные кавычки текст а переменую надо отделять от текста т.е
PHP:
скопировать код в буфер обмена
  1.  "текст".$naam."текст"


p.s ты помойму раздельчиком ошибся кстати вопросы для новичков помойму подошло бы лучше
3. LIME - 16 Июля, 2011 - 10:26:26 - перейти к сообщению
PATCH пишет:
если сделать так то php интерпритатор не поймет где переменая допустим $naam
поймет - запятая не может входить в название переменной сам факт того что переменная выделена в тексте говорит об этом
shans в начале скрипта сделайте следующее
PHP:
скопировать код в буфер обмена
  1. $naam = $_POST['naam'];
  2. $message = $_POST['message'];
  3. $email = $_POST['email'];
  4.  

и хорошобы добавить проверку пришел ли вам пост?
4. PATCH - 16 Июля, 2011 - 11:11:01 - перейти к сообщению
хм как тока я практиковался на простых примерах выводило тупо переменую, а не ее значение с того момента я их и как бы выделяю везде.

CODE (html):
скопировать код в буфер обмена
  1. <td><input name='mesage' type="submit" value="Send">

проверка нажатой кнопки

PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3. if(isset($_POST['mesage']))
  4. {
  5. $naam = $_POST['naam'];
  6. $message = $_POST['message'];
  7. $email = $_POST['email'];
  8.  
  9.   mail("info@lamusic.com","Hello","chelovek po imeni $naam,
  10. ukazal svoi email-$email, i v kachestve soobshenya - $message." );
  11.  
  12. }
  13.  
  14. ?>
5. LIME - 16 Июля, 2011 - 11:55:19 - перейти к сообщению
PATCH
$_POST['naam'] = $naam;
$_POST['message'] = $message;
$_POST['email'] = $email;
вы что такое пишите? вы вводите в заблуждение автора
надо наоборот...выше у меня посмотрите
6. PATCH - 16 Июля, 2011 - 13:09:48 - перейти к сообщению
точно) сори) вчера в 3 часа ночи зашел после 2л пивка) а счас тупо скопировал) п.с исправил) Закатив глазки
7. shans - 17 Июля, 2011 - 18:29:18 - перейти к сообщению
PATCH пишет:
точно) сори) вчера в 3 часа ночи зашел после 2л пивка) а счас тупо скопировал) п.с исправил) ::rolleyes24.gif::




Болшое спасибо!
(Добавление)
LIME пишет:
PATCH
$_POST['naam'] = $naam;
$_POST['message'] = $message;
$_POST['email'] = $email;
вы что такое пишите? вы вводите в заблуждение автора
надо наоборот...выше у меня посмотрите




Большое спасибо LIME!
8. shans - 17 Июля, 2011 - 20:32:55 - перейти к сообщению
LIME

Здравствуйте,


скажите пожалуйста почему получается так? я в HTML форме пишу name, а не naam

input type="text" name="naam"
input type="text" name="email"
textarea name="message"



1.если tak:$naam = $_post['message'];:

$naam = $_POST['naam'];
$email = $_POST['email'];
$naam = $_POST['message'];

mail ("info@lamusic.com" , "TEST MAIL" , "$naam" , "$email" , "$message");

то email приходит так: ИМЯ человека нет

X-Sendmail-Cmdline: sendmail.pl -t -i
To: info@lamusic.com
Subject: TEST MAIL
info@admine.com

Privet,

eto php mail kontrol.


2. a esli $message = $post_['message']; :

$naam = $_POST['naam'];
$email = $_POST['email'];
$message = $_post ['message'];

mail ("info@lamusic.com" , "TEST MAIL" , "$naam" , "$email" , "$message");


то email приходит так: тогда сообщения находится в начале

X-Sendmail-Cmdline: sendmail.pl -t -i Privet, eto php mail kontrol.
To: info@lamusic.com
Subject: TEST MAIL
info@admine.com
alexander



За р.б. спасибо.
9. LIME - 17 Июля, 2011 - 20:52:48 - перейти к сообщению
shans пишет:
mail ("info@lamusic.com" , "TEST MAIL" , "$naam" , "$email" , "$message");

это вообще неправильно ...3ий параметр это текст сообщения остальные просто игнорируются...таким образом передается $naam как текст сообщения...вам же выше правильно написали
shans пишет:
1.если tak:$naam = $_post['message']

$naam = $_POST['naam'];
$email = $_POST['email'];
$naam = $_POST['message'];

вы определили $naam в 1й стр и переопределили переменную в 3ей строчке таким образом вы вместо имени отправляете текст сообщения
shans пишет:
2. a esli $message = $post_['message']; :

$naam = $_POST['naam'];
$email = $_POST['email'];
$message = $_post ['message'];
а вот тут я не понял вы скорее всего чтото напутали
(Добавление)
или sendmail рассматривает дополнительные параметры както по своему как какието ключи

 

Powered by ExBB FM 1.0 RC1