-
2 id in stesso campo
questo è quello che ho fatto, il mio scopo e quello che se vado nel profilo di un amico devo poter inserire post o commentare, ci riesco ma se in questo punto del form<input name="commentid" type="hidden" value="<?php echo $_GET['id'] ?>"> metto user posso solo inserire post se invece metto id posso solo commentare, come faccio? questo è quello che ho fatto fino ad esso:
Codice PHP:
<?php
require 'functions2.php';
require 'connect-inc.php';
?>
<?php
if(isset($_GET['user']) && !empty($_GET['user'])){
$user=$_GET['user'];
} else {
$user=$_SESSION['user_id'];
}
$my_id=$_SESSION['user_id'];
$id_utente = getuser($user, 'id');
$nome = getuser($user, 'nome');
$cognome = getuser($user, 'cognome');
$foto = getuser($user, 'foto');
$username=getuser($user, 'username');
$user_id=getuser($user, 'user_id');
Codice PHP:
if(isset($_POST['submit']))
{
if(empty($_SESSION['content'] ) ||
strcmp($_SESSION['content'], $_POST['content']) != 0)
{
//$errors .= "\n The captcha code does not match!";
}
if(empty($errors))
{
//require_once('connection.php');
$content=$_POST['content'];
$commentid=$_POST['commentid'];
echo '<p id="comm">'.'<a href="profile2.php?id='.$user.'&#link1">comment</a>'.'</p>';
mysql_query("INSERT INTO comment2(user_id, nome, cognome, content, foto, comsubid)VALUES('$my_id', '$nome', '$cognome', '$content','$foto','$commentid')");
}
}
Codice PHP:
$result3 = mysql_query("SELECT commentid, user_id, nome, cognome, content, comsubid, foto FROM comment2 WHERE comsubid=0 AND user_id='$user' UNION SELECT * FROM comment2 WHERE comsubid='$user'");
while($row3 = mysql_fetch_array($result3))
{
$id=$row3['commentid'];
echo '<div id="maincomm">';
echo '<img src="'.$row3['foto'].'" width="70px" height="70px">';
echo '<br>'.$row3['nome'].' ';
echo ' '.$row3['cognome'].' ';
echo '<p>'.$row3['content'].'</p>';
echo '<p id="comm">'.'<a href="profile2.php?id='.$user.'&#link1">comment</a>'.'</p>';
$result4 = mysql_query("SELECT * FROM comment2 where comsubid='$id'");
while($row4 = mysql_fetch_array($result4))
{
echo '<div id="subcomm">';
echo '<img src="'.$row4['foto'].'" width="70px" height="70px">';
echo '<br>'.$row4['nome'].' ';
echo ' '.$row4['cognome'].' ';
echo '<p>'.$row4['content'].'</p>';
echo '<div class="clearfix"></div>';
echo '</div>';
}
echo '<div class="clearfix"></div>';
echo '</div>';
}
?>
<div class="clearfix"></div>
</div>
<a id="link1">
<form method="POST" name=""
action="profile2.php?user_id=<?php echo $user; ?>">
<table width="332" border="0" align="center">
<tr>
<td width="265">
<ul>
<?php
if(!empty($errors)){
echo "<li class='err'>".($errors)."</li>";
}
?>
</ul> </td>
<td width="57"> </td>
</tr>
<tr>
<td colspan="2">
<input type="hidden" name="nome" value="<?php echo $nome; ?>" />
<input type="hidden" name="cognome" value="<?php echo $cognome; ?>" />
<input name="commentid" type="hidden" value="<?php echo $_GET['user'] ?>">
Content:<br>
<textarea name="content" style="width: 316px;"></textarea>
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="submit" name='submit' id="<?php echo $user; ?>">
</td>
</tr>
</table>
</form>
c'è qualcuno che mi può aiutare? ciao
-
Non ho compreso bene il problema (più che altro non ho compreso il funzionamento dello script): il form non lo vedo.
Inoltre:
Codice PHP:
if(empty($_SESSION['content'] ) ||
strcmp($_SESSION['content'], $_POST['content']) != 0)
{
//$errors .= "\n The captcha code does not match!";
}
Quindi immagino che $_SESSION['content'] contenga il captcha. Ma poi lo vai ad inserire nel database come commento!!
Codice PHP:
mysql_query("INSERT INTO comment2(user_id, nome, cognome, content, foto, comsubid)VALUES('$my_id', '$nome', '$cognome', '$content','$foto','$commentid')");
----
Codice PHP:
if(empty($errors))
{
[...]
Cosa ì $errors? Dove la crei? Cosa contiene?
Prova a spiegare bene il funzionamento dello script (potrebbe esser sufficiente postarlo per intero).
Ciao!
-
ciao grazie per la risposta in pratica quello che voglio fare è questo: una volta collegato clicco su un amico mi viene visualizzato il profilo e i suoi commenti e li se voglio inserire un post nel suo profilo posso farlo se invece voglio commentare un suo post anche quello voglio farlo praticamente come in facebook, riesco a farli ma in questo punto del form:
<input name="commentid" type="hidden" value="<?php echo $_GET['id'] ?>">
se c'è id posso commentare i post ma non inserire post nuovi nel profilo dell'amico mentre se sostituisco id con user succede il contrario, il codice è questo:
Codice PHP:
<?php
require 'functions2.php';
require 'connect-inc.php';
?>
<?php
if(isset($_GET['user']) && !empty($_GET['user'])){
$user=$_GET['user'];
} else {
$user=$_SESSION['user_id'];
}
$my_id=$_SESSION['user_id'];
$id_utente = getuser($user, 'id');
$nome = getuser($user, 'nome');
$cognome = getuser($user, 'cognome');
$foto = getuser($user, 'foto');
$username=getuser($user, 'username');
$user_id=getuser($user, 'user_id');
?>
<?php
if(isset($_POST['submit']))
{
if(empty($_SESSION['content'] ) ||
strcmp($_SESSION['content'], $_POST['content']) != 0)
{
//$errors .= "\n The captcha code does not match!";
}
if(empty($errors))
{
//require_once('connection.php');
$content=$_POST['content'];
$commentid=$_POST['commentid'];
mysql_query("INSERT INTO comment2(user_id, nome, cognome, content, foto, comsubid)VALUES('$my_id', '$nome', '$cognome', '$content','$foto','$commentid')");
}
}
?>
<?php
require_once('connect-inc.php.');
if(isset($_GET['user']) && !empty($_GET['user'])){
$user=$_GET['user'];
} else {
$user=$_SESSION['user_id'];
}
$my_id=$_SESSION['user_id'];
$result3 = mysql_query("SELECT commentid, user_id, nome, cognome, content, comsubid, foto FROM comment2 WHERE comsubid=0 AND user_id='$user' UNION SELECT * FROM comment2 WHERE comsubid='$user'");
while($row3 = mysql_fetch_array($result3))
{
$id=$row3['commentid'];
echo '<div id="maincomm">';
echo '<img src="'.$row3['foto'].'" width="70px" height="70px">';
echo '<br>'.$row3['nome'].' ';
echo ' '.$row3['cognome'].' ';
echo '<p>'.$row3['content'].'</p>';
echo '<p id="comm">'.'<a href="profile2.php?id='.$id.'&#link1">comment</a>'.'</p>';
$result4 = mysql_query("SELECT * FROM comment2 where comsubid='$id'");
while($row4 = mysql_fetch_array($result4))
{
echo '<div id="subcomm">';
echo '<img src="'.$row4['foto'].'" width="70px" height="70px">';
echo '<br>'.$row4['nome'].' ';
echo ' '.$row4['cognome'].' ';
echo '<p>'.$row4['content'].'</p>';
echo '<div class="clearfix"></div>';
echo '</div>';
}
echo '<div class="clearfix"></div>';
echo '</div>';
}
?>
<div class="clearfix"></div>
</div>
<a id="link1">
<form method="POST" name=""
action="profile2.php?user_id=<?php echo $user; ?>">
<table width="332" border="0" align="center">
<tr>
<td width="265">
<ul>
<?php
if(!empty($errors)){
echo "<li class='err'>".($errors)."</li>";
}
?>
</ul> </td>
<td width="57"> </td>
</tr>
<tr>
<td colspan="2">
<input type="hidden" name="nome" value="<?php echo $nome; ?>" />
<input type="hidden" name="cognome" value="<?php echo $cognome; ?>" />
<input name="commentid" type="hidden" value="<?php echo $_GET['id'] ?>">
Content:<br>
<textarea name="content" style="width: 316px;"></textarea>
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="submit" name='submit' id="<?php echo $user; ?>">
</td>
</tr>
</table>
</form>
ci stò sbattendo la testa ma non riesco a capire dove stà il problema, qualche aiuto?, ciao
-
Vedo altre cose che non mi son chiare:
Nel form c'é:
Codice PHP:
<form method="POST" name=""
action="profile2.php?user_id=<?php echo $user; ?>">
Mentre, invece di leggere $_GET['user_id'], leggi $_GET['user']:
Codice PHP:
if(isset($_GET['user']) && !empty($_GET['user']))
Perché?
----
Inoltre, ancora non capisco l'utilità di:
Codice PHP:
f(empty($_SESSION['content'] ) ||
strcmp($_SESSION['content'], $_POST['content']) != 0)
{
//$errors .= "\n The captcha code does not match!";
}
.
Inoltre,
Codice PHP:
if(empty($errors))
, dove è dichiarata? Cosa vale?
Prova a far dei test sulle variabili con delle echo per vedere il loro contenuto...
Ciao!
-
<form method="POST" name=""
action="profile2.php?user_id=<?php echo $user; ?>"> è il link alla pagina che poi è la stessa che passa anche l'id dell'amico;
if(isset($_GET['user']) && !empty($_GET['user']))
perchè ho incluso nella pagina il file function2 ovvero questo:
Codice PHP:
<?php
session_start();
function loggedin(){
if(isset($_SESSION['user_id']) && !empty($_SESSION['user_id'])){
return true;
} else {
return false;
}
}
function getuser($id, $field){
$query=mysql_query("SELECT $field FROM registrazione WHERE id='$id'");
$run = mysql_fetch_array($query);
return $run[$field];
}
?>
e poi:
f(empty($_SESSION['content'] ) ||
strcmp($_SESSION['content'], $_POST['content']) != 0)
{
//$errors .= "\n The captcha code does not match!";
}
dovrebbe servire per la parte inserimento infatti content è il nome della textbox area;
questa parte qui invece:
if(empty($errors)) era per segnalare l'errore ma siccome subito sotto ci sono quelle variabili l'ho lasciato così come è;
è da giorni che ci sbatto la testa ma non riesco a capire, dove sbaglio?, ciao
-
Ho dato un'occhiata veloce al tuo codice. E' veramente confusionario. Ci sono 4 id utente diversi, variabili utilizzate non dichiarate, verifiche superflue...
Prima di chiedere un aiuto su un dettaglio così preciso, devi rivedere l'intero codice, ripulirlo, snellirlo e semplificarlo all'osso. Mentre fai questo, impara anche a commentarlo, in modo da ricordarti e far capire agli altri cosa fa il codice. Solo dopo ci si può guardare...
-
c'è una parte che ho messo nella pagina ma che non ho postato perchè ha un altra funzione e non serve per il mio scopo, comunque quello che voglio fare è una cosa tipo facebook che uno o scrive sulla bacheca di un amico ho commenta un suo post, sono riuscito a farlo ma per farli entrambi devo mettere 2 id in un unico campo del form, il campo si chiama commentid e i due id sono uno id normale e l'altro user, una cosa del genere come si può fare?, ciao
-
ci sono riuscito da solo grazie a tutti per il non aiuto
-
L'ironia lasciatela a casa spaolo. Quì nessuno è pagato, se siamo quì a provare a darti una mano è perché ci piace...quindi porta rispetto e non fare il fenomeno.
-
Se posso permettermi, l'aiuto abbiamo provato a dartelo. Piuttosto non hai risposto alle domande.
Chiudo perché è stato risolto, e per evitare spiacevoli battibecchi che si posson fare in privato :wink:.
Ciao!