due variabili in stesso campo

  • Creatore Discussione Creatore Discussione ciberp
  • Data di inizio Data di inizio
Stato
Chiusa ad ulteriori risposte.

ciberp

Nuovo Utente
3 Lug 2013
22
0
0
salve a tutti in un form si può passare 2 variabili in stesso campo? es. ho un campo di nome comsubid gli devo passare quando lo chiede o id o user, si può fare?, spero che qualcuno mi possa aiutare, ciao vi ringrazio in anticipo
 
certo.
Se ho capito bene vuoi fare questo:

$due_campi = $_POST['primocampo'] . " " . $_POST['secondocampo'];

e dopo lo inserisci in un db. Ricorda l'esempio che ti ho dato è base io ti consiglio sempre di metterci delle 'protezioni' ad esempio htmlspecialchars
 
certo.
Se ho capito bene vuoi fare questo:

$due_campi = $_POST['primocampo'] . " " . $_POST['secondocampo'];

e dopo lo inserisci in un db. Ricorda l'esempio che ti ho dato è base io ti consiglio sempre di metterci delle 'protezioni' ad esempio htmlspecialchars

non funziona io nel form ho questo: <input name="commentid" type="hidden" value="<?php echo $_GET['user'] ?>">
però quando richiesto deve essere cosi:<input name="commentid" type="hidden" value="<?php echo $_GET['id'] ?>"> come posso fare puoi aiutarmi?, ciao
 
ciao
non ho capito bene: tu nella pagina dove hai il form puoi ricevere un $_GET['user'] o un $_GET['id'] uno o l'altro o entrambi?
comunque potresti provare a fare nella pag del form
PHP:
<?php
if(isset($_GET['user'])){$user=$_GET['user'];}else{$user="*";}
if(isset($_GET['id'])){$id=$_GET['id'];}else{$id="*";}
$inviare=$user."|".$id;
?>
<form action="" method="post">
<input name="commentid" type="hidden" value="<?php echo $inviare; ?>">
<!-- ecc... -->
</form>
poi dove ricevi i dati dal form
PHP:
<?php
//.....
$ricevo=explode("|",$_POST['commentid']);
echo $ricevo[0];//l'username o * se non stato messo
echo $ricevo[1];//l'id o * se non stato messo
//es se devi costruirti una query di select
if($ricevo[0] !="*" && $ricevo[1] !="*"){
	$w= " WHERE user='".$ricevo[0]."' AND id='".$ricevo[1]."' ";
}elseif($ricevo[0] !="*" && $ricevo[1] =="*"){
	$w= " WHERE user='".$ricevo[0]."'";
}elseif($ricevo[0] =="*" && $ricevo[1] !="*"){
	$w= " WHERE id='".$ricevo[1]."'";
}
$query="SELECT * FROM tabella $w";
//ecc.....
?>
 
ciao
non ho capito bene: tu nella pagina dove hai il form puoi ricevere un $_GET['user'] o un $_GET['id'] uno o l'altro o entrambi?
comunque potresti provare a fare nella pag del form
PHP:
<?php
if(isset($_GET['user'])){$user=$_GET['user'];}else{$user="*";}
if(isset($_GET['id'])){$id=$_GET['id'];}else{$id="*";}
$inviare=$user."|".$id;
?>
<form action="" method="post">
<input name="commentid" type="hidden" value="<?php echo $inviare; ?>">
<!-- ecc... -->
</form>
poi dove ricevi i dati dal form
PHP:
<?php
//.....
$ricevo=explode("|",$_POST['commentid']);
echo $ricevo[0];//l'username o * se non stato messo
echo $ricevo[1];//l'id o * se non stato messo
//es se devi costruirti una query di select
if($ricevo[0] !="*" && $ricevo[1] !="*"){
	$w= " WHERE user='".$ricevo[0]."' AND id='".$ricevo[1]."' ";
}elseif($ricevo[0] !="*" && $ricevo[1] =="*"){
	$w= " WHERE user='".$ricevo[0]."'";
}elseif($ricevo[0] =="*" && $ricevo[1] !="*"){
	$w= " WHERE id='".$ricevo[1]."'";
}
$query="SELECT * FROM tabella $w";
//ecc.....
?>


ciao ho provato come mi hai detto ma non funziona, in pratica devo poter ricevere entrambi sia user che id e tutte e due da commentid, si può fare? ciao
 
in pratica devo poter ricevere entrambi sia user che id e tutte e due da commentid
E' quello che fa il codice.
Se non stampa niente forse non hai passato i parametri get quando visualizzi il form.
 
E' quello che fa il codice.
Se non stampa niente forse non hai passato i parametri get quando visualizzi il form.

ciao io ho messo il codice con if che implementava sia id che user e poi ho messo nel form in value del campo commandid la variabile $inviare dove sbaglio?, io non riesco a capire, mi potete aiutare?, ciao
 
ciao
posta quello che hai fatto

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'];
		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')");
	}
}

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'].'&nbsp;';
	echo '&nbsp;'.$row3['cognome'].'&nbsp;';
	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'].'&nbsp;';
				echo '&nbsp;'.$row4['cognome'].'&nbsp;';
				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">&nbsp;</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>
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 quel punto del form che avevo messo prima metto user posso solo inserire post se invece metto id posso solo commentare, come faccio? ciao
 
Con che link accedi alla pagina dove c'è il form?
Passi i parametri nell'url? (Rimango dell'idea che "l'errore" è li)
 
Con che link accedi alla pagina dove c'è il form?
Passi i parametri nell'url? (Rimango dell'idea che "l'errore" è li)

in pratica il link è questo e la pagina che dovrebbe caricare è la stessa ho aggiunto al link $user per passare anche l'id dell'amico cosa che fa ma non visualizza il profilo richiesto ma il mio, non so se mi sono spiegato?, questo è l'inizio del form che passa il link:
<form method="POST" name=""
action="profile2.php?user_id=<?php echo $user; ?>">

quello che voglio fare è una cosa tipo facebook che vai sul profilo di una persona e commenti un suo stato o posti uno stato nuovo nel suo profilo, riesco a farlo ma o uno o l'altro e per farli entrambi devo implementare nel form in quell'unico campo:<input name="commentid" type="hidden" value="<?php echo $_GET['id'] ?>"> anche $_GET['user'], come faccio?, ciao
 
in pratica il link è questo e la pagina che dovrebbe caricare è la stessa ho aggiunto al link $user per passare anche l'id dell'amico cosa che fa ma non visualizza il profilo richiesto ma il mio, non so se mi sono spiegato?, questo è l'inizio del form che passa il link:
<form method="POST" name=""
action="profile2.php?user_id=<?php echo $user; ?>">

quello che voglio fare è una cosa tipo facebook che vai sul profilo di una persona e commenti un suo stato o posti uno stato nuovo nel suo profilo, riesco a farlo ma o uno o l'altro e per farli entrambi devo implementare nel form in quell'unico campo:<input name="commentid" type="hidden" value="<?php echo $_GET['id'] ?>"> anche $_GET['user'], come faccio?, ciao

ci sono riuscito da solo, grazie a tutti per il non aiuto
 
ciberp, questo è un forum gestito gratuitamente da volontari che, per motivi personali, non sempre riescono a trovare il tempo di aiutare gli utenti. Se hai assolutamente bisogno di supporto tempestivo puoi pagare un professionista vincolato da regolare contratto di lavoro.

Se hai intenzione di continuare la tua permanenza, sei pregato di mettere da parte questa ingrata arroganza. La prossima volta che leggo un post del genere, faciliterò il processo escludendoti permanentemente dalla comunità.

Chiudo.
 
Stato
Chiusa ad ulteriori risposte.

Discussioni simili