Autor Zpráva
frytol
Profil *
Ahoj potřeboval bych pomoc jde o odesílání zpráv takže z databáze se postupně vytáhnout přátele uživatele který chce poslat zprávu k nim se přiřadí checkbox a takhle to pokračuje až to vypíše všechny no a tady jsem u toho problému když tedy odesilatel za škrtne komu to chce poslat tak jak spracující php kód zjistí kdo je odkliknutej. Děkuji za pomoc.
<form class="registrace" name="form1" method="post" action="messages_newmes2.php">
<?
include("config.php");
session_start();
session_register("emailtb");
$datum = StrFTime("%Y%m%d%H%M%S", Time());
echo "<table>";
echo "<tr>";
echo "<td>";
echo'Zpráva<br /><textarea style="FONT-SIZE:9pt; BACKGROUND-COLOR: c9f0cd;" name="textmes" cols="40" rows="10" type="text"></textarea>'; 
echo "</td>";
echo "<td>";
$friendstrue = "0";
$sql2=mysql_query("SELECT * FROM $emailtb");
while ($radek2 = mysql_fetch_assoc($sql2))
{ 
$friends1="".$radek2["friends"]."";
$vypiskontrola="$friends3";
$friends2=str_replace(".","T0110T",$friends1);
$friends3=str_replace("@","Z1001Z",$friends2);
if($friends3==""){
}
if($friends3!=""){
include("config.php");
$sql3=mysql_query("SELECT * FROM $friends3 WHERE emailtby like '$friends3'");
while ($radek3 = mysql_fetch_Array($sql3))
{
$friends1a="".$radek3["jmenoy"].""; 
$friends1b="".$radek3["prijmeniy"]."";
$myemailyfriends="".$radek3["myemaily"]."";
$myemailyww="$myemailyfriends";
} 
if ("$friends3"!="")
$friendstrue++;
if ($vypiskontrola!="$friends3"){
echo '<input type="checkbox" name="ctverecek">';
echo $friends1a;
echo " ";
echo $friends1b;
echo ("<br />");
}
}
}
if ("$friendstrue"=="0"){
echo "nemáte žádné prátele";
}
echo "</td>";
echo "</tr>";
echo "</table>";
?>
<br>
<INPUT type="submit" value="Odeslat zprávu">
<INPUT type="hidden" name="odeslano" value="ano">
</form>

je o tenhle řádek:
echo '<input type="checkbox" name="ctverecek">';
Taps
Profil
frytol:
Do checkboxu musíš zadat jako hodnotu id uživatele a pak odeslané checkboxy zpracovat jako pole
echo '<input type="checkbox" name="ctverecek[]" value='".$radek3["id"]."'>';
frytol
Profil *
díky
frytol
Profil *
no a kdyžtak jak to ještě vypíšu natý sruhý stránce.
<?
include("config.php");
session_start();
session_register("emailtb");
$textmes=$_POST["textmes"];
$ctverecek2=$_POST["ctverecek[]"];
echo $ctverecek2;

MySQL_Query("INSERT INTO $tbl_name_mes(datum,person,textmes,send) VALUES('".$datum."','".$person."','".$textmes."','".$emailtb."')");
?>
__construct
Profil
frytol:
session_register("emailtb");
Používaš PHP 4 ? Ak nie tak toto se neodporúča používať ..

S poliami sa nepracuje takto:
$ctverecek2=$_POST["ctverecek[]"];

ale takto:
$ctverecek2=$_POST["ctverecek"];

a za ďalšie keď si chceš pozrieť čo obsahuje pole nepoužívaj echo ale var_export, alebo var_dump
frytol
Profil *
nn já ještě nenahradil za noví session když jsem se to učil tak jsem prvně narazil na tenhle starý způsob.
Jinak dík za radu.
AM_
Profil
frytol:
<form class="registrace" name="form1" method="post" action="messages_newmes2.php">
<?
include("config.php");
session_start();
tohle nemůže fungovat, před session_start() nesmíš nic posílat na výstup ( <form ...). Buď ti session nejede vůbec, nebo jí startuješ dvakrát a mělo by to házet chyby - pokud ne, nastav si v php.ini error_reporting na E_ALL

Jo a zvykni si odsazovat kód, všechno stejně nalepené k levému kraji mě odradilo od toho číst dále než výše uvedené 4 řádky.
frytol
Profil
mam problém nachvilu jsem od téhle věci upustil a zabýval jsem se něčím jiným a furt mi to nefunguje jak by mělo určitě je zatím něco jednoduchého ale nevím si rady vždy když to odešlu tak se mi vypíše: Array. a já potřebuji aby se vypsaly postupně ty id a zapsaly se do databáze ještě jednou poskytnu celkový skrip:
skript: messages_newmes.php
<form class="registrace" name="form1" method="post" action="messages_newmes2.php">
<?
include("config.php");
session_start();
session_register("emailtb");
$datum = StrFTime("%Y%m%d%H%M%S", Time());
echo "<table>";
echo "<tr>";
echo "<td>";
echo'Zpráva<br /><textarea style="FONT-SIZE:9pt; BACKGROUND-COLOR: c9f0cd;" name="textmes" cols="40" rows="10" type="text"></textarea>'; 
echo "</td>";
echo "<td>";
$friendstrue = "0";
$sql2=mysql_query("SELECT * FROM $emailtb");
while ($radek2 = mysql_fetch_assoc($sql2))
{ 
$friends1="".$radek2["friends"]."";
$mesid="".$radek2["id"]."";
$vypiskontrola="$friends3";
$friends2=str_replace(".","T0110T",$friends1);
$friends3=str_replace("@","Z1001Z",$friends2);
if($friends3==""){
}
if($friends3!=""){
include("config.php");
$sql3=mysql_query("SELECT * FROM $friends3 WHERE emailtby like '$friends3'");
while ($radek3 = mysql_fetch_Array($sql3))
{
$friends1a="".$radek3["jmenoy"].""; 
$friends1b="".$radek3["prijmeniy"]."";
$myemailyfriends="".$radek3["myemaily"]."";
$myemailyww="$myemailyfriends";
} 
if ("$friends3"!="")
$friendstrue++;
if ($vypiskontrola!="$friends3"){  
echo "<input type=checkbox name=ctverecek[$mesid] value=$mesid>";
echo $friends1a;
echo " ";
echo $friends1b;
echo ("<br />");
}
}
}
if ("$friendstrue"=="0"){
echo "nemáte žádné prátele";
}
echo "</td>";
echo "</tr>";
echo "</table>";
?>
<br>
<INPUT type="submit" value="Odeslat zprávu">
<INPUT type="hidden" name="odeslano" value="ano">
</form>


skript: messages_newmes2.php
<?
include("config.php");
session_start();
session_register("emailtb");
$textmes=$_POST["textmes"];
$ctverecek2=$_POST["ctverecek"];
echo $ctverecek2;
$datum = StrFTime("%Y%m%d%H%M%S", Time());
MySQL_Query("INSERT INTO $tbl_name_mes(datum,person,textmes,send) VALUES('".$datum."','".$person."','".$textmes."','".$emailtb."')");
?>

děkuji za pomoc pokut by ste mi tam mohly opravit tu chybu tak já už to pak pochopim

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0