Problema inroducere date

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
claUdiu
Mesaje:313

Problema inroducere date

Deci...am o problema care chiar nu stiu cum sa o rezolv:((. Deci...Am doua fisiere:

acc_no.php

Cod: Selectaţi tot

<?php
ERROR_REPORTING(E_ALL | E_STRICT);
date_default_timezone_set('Europe/Helsinki');
include("config.php");
mysql_connect("$db_host", "$db_user", "$db_pass") or die(mysql_error());
mysql_select_db("$db_name") or die(mysql_error());

$id = $_GET['id'];

$actiune = "DELETE FROM friends WHERE id = '$id'";
$query = mysql_query($actiune) or die(mysql_error());

if($query){
include("cel_care_a_invitat_refuz.php");
}
mysql_close();
?>
cel_care_a_invitat_refuz.php

Cod: Selectaţi tot

<?php
error_reporting(E_ALL|E_STRICT);
include("../../config.php");
mysql_connect("$db_host", "$db_user", "$db_pass") or die(mysql_error());
mysql_select_db("$db_name") or die(mysql_error());

$id = $_GET['id'];

//Aici selectez din tabela friends pentru a lua emailul la userul care a acerut in prietenie si la cel care tre sa accepte

$actiune1 = mysql_query("SELECT * FROM friends WHERE id = '".$id."'");

while ($afis1 = mysql_fetch_assoc($actiune1)){

//Aici selectez userul care a cerut cererea de prietenie

$actiune2 = mysql_query("SELECT * FROM users WHERE email = '".$afis1["invite_by"]."'");

while ($afis2 = mysql_fetch_assoc($actiune2)){

//Aici selectez userul care trebuie sa accepte cerere de prietenie sau sa o refuze

$actiune3 = mysql_query("SELECT * FROM users WHERE email = '".$afis1["friend_with"]."'");

while ($afis3 = mysql_fetch_assoc($actiune3)){

$msg = 'Dear '.$afis2['first_name'].' '.$afis2['last_name'].' , <br>
Sorry, but, '.$afis3['first_name'].' '.$afis3['last_name'].'  has declined your friend request.  ';
$date = date('d.m.Y'); 
date_default_timezone_set('Europe/Helsinki');
$hour = date("H:i:s", time()); 

$actiune4 = "INSERT INTO messages (`from`, `to`, `subject`, `message`, `read`, `date`, `hour`) 
                VALUES 
('System', '".$afis2["first_name"]." ".$afis2["last_name"]."', 'New Friend', '".$msg."', '0', '".$date."', '".$hour."')";
$q = mysql_query($actiune4);

if ($q){
echo "Mesaj trimis cu succes";
}else{
echo mysql_error();
}

}
}
}

?>
Ok...Si mai am un control panel (pentru utilizatori) de unde cineva apasa pe Declie si il trimite catre acc_no.php cu ID-ul cereri de prietenie. Daca se sterge cerere de prietenie trebuie sa ii trimita un mesaj celui care la invitat pe userul care la refuzat...Ok...Dar el nu vrea sa trimita mesaj...Dar...cererea din db o sterge:@.

Si...aici e chestia care ma enerveaza cel mai mult: Daca scriu in browser cel_care_a_invitat_refuz.php?id=id si dau enter...el trimite mesaj...Dar cand e inclus in acc_no.php nu trimite mesaj...

Deci...cum pot sa fac sa trimita mesaj cand e inclus in acc_no.php? Eu unu nu mai stiu ce sa ii fac:(. Ms mult!
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?

MarPlo Mesaje:4343
Salut
Probabil ca prolema e de logica /ordine a actiunilor.
Dupa cum e scriptul, face delete la acea cerere, apoi se include fisierul care trebuie sa faca acele selectari si ce ai mai scris in el.
Dar daca s-a facut deja DELETE, s-a sters randul cu acel $id, de aceea nu mai functioneaza trimiterea mesajului fiindca nu mai are ce selecta.
Trebuie regandit scriptul.
Intai se fac selectarile, se retin datele in variabile, apoi se face delete si in caz de succes se trimite mesajul folosind datele retinute in variabile.

claUdiu Mesaje:313
Da:). Fix asta era:) Am adaugat scriptul din cel_care_a _invitat_refuz.php in acc_no.php si insertul l-am bagat in if() . Ms mult:)
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?

Subiecte similare