Script php per link 'Aggiungi agli amici'?

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
mi sembrerebbe assurdo che l'errore sia quello.
comunque tu che sei abile, quale potrebbe essere un errore che da quel tipo di Parse error?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intanto fai queste

<htmllang="it">
correggi (manca uno spazio)
<html lang="it">

<metacharset="utf-8"/>
correggi (manca uno spazio)
<meta charset="utf-8"/>

<ahref="?user={$user}"onclick="retunconfirm('Seisicurodivolerinoltrarelarichiesta?')">Aggiungiagliamici!</a>
correggi (manca uno spazio)
<a href="?user={$user}"onclick="retunconfirm('Seisicurodivolerinoltrarelarichiesta?')">Aggiungiagliamici!</a>

$sql3='SELECT*FROMbachecaWHEREnome=%d';
correggi (aggiungi spazi)
$sql3='SELECT * FROM bacheca WHERE nome=%d';

e verifica anche il resto
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
ciao
intanto fai queste

<htmllang="it">
correggi (manca uno spazio)
<html lang="it">

<metacharset="utf-8"/>
correggi (manca uno spazio)
<meta charset="utf-8"/>

<ahref="?user={$user}"onclick="retunconfirm('Seisicurodivolerinoltrarelarichiesta?')">Aggiungiagliamici!</a>
correggi (manca uno spazio)
<a href="?user={$user}"onclick="retunconfirm('Seisicurodivolerinoltrarelarichiesta?')">Aggiungiagliamici!</a>

$sql3='SELECT*FROMbachecaWHEREnome=%d';
correggi (aggiungi spazi)
$sql3='SELECT * FROM bacheca WHERE nome=%d';

e verifica anche il resto

Tutti gli spazi nel codice c'erano, evidentemente zippandolo si sono rimossi. Forse è meglio che te lo scrivo qui:
PHP:
<?php
session_start();

require_once*('connessione.php');

if*(!isset($_SESSION['utente']))*{
header('HTTP/1.0 403 Forbidden');
****die('Non*sei*autorizzato*a*entrare.');
}

$user*=*!empty($_GET['id'])*?*(int)$_GET['id']*:*0;
?>
<!DOCTYPE*html>
<html*lang="it">
****<head>
********<title>Aggiungi*amico</title>
********<meta*charset="utf-8"*/>
****</head>

****<body>
********<?php
********if*($user*!==*0)*{
************$username*=*addslashes($_SESSION['utente']);
************$sql*=*"INSERT*INTO*amici_temp*(username_proprietario,*username_amico)*VALUES*('%s',*%d)";
************$sql*=*sprintf($sql,*$username,*$user);
************$query*=*mysql_query($sql)*or*die(mysql_error());

************$sql2*=*"SELECT***FROM*amici,*amici_temp*WHERE*username_proprietario*=*'%s'";
************$sql2*=*sprintf($sql,*$username);
************$query2*=*mysql_query($sql2)*or*die(mysql_error());

************if*(mysql_num_rows($query2)*==*0)*{
****************echo*<<<EOF
********<a*href="?user={$user}"*onclick="retun*confirm('Sei*sicuro*di*voler*inoltrare*la*richiesta?')">Aggiungi*agli*amici!</a>
EOF;
************}
********}

********$sql3*=*'SELECT***FROM*bacheca*WHERE*nome*=*%d';
********$sql3*=*sprintf($sql3,*$user);
********$query3*=*mysql_query($sql3)*or*die(mysql_error());

********while*($riga*=*mysql_fetch_assoc($query3))*{
************$msg*=*stripslashes($riga['Messaggio']);
************$ora*=*date('d/n/Y*g:i:s*A',*$riga['Data']);

************echo*<<<EOF
********<div*class="postbacheca">
************<p*class="bacheca">
****************{$ora}
****************<label*class="barradistanziatrice">*|</label>
****************<label*class="messaggio">*{$msg}*</label>
************</p>
********</div>
EOF;
********}
********?>
****</body>
</html>
 
Ultima modifica:

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
Tutti gli spazi nel codice c'erano, evidentemente zippandolo si sono rimossi. Forse è meglio che te lo scrivo qui:
PHP:
<?php
session_start();

require_once*('connessione.php');

if*(!isset($_SESSION['utente']))*{
header('HTTP/1.0 403 Forbidden');
****die('Non*sei*autorizzato*a*entrare.');
}

$user*=*!empty($_GET['id'])*?*(int)$_GET['id']*:*0;
?>
<!DOCTYPE*html>
<html*lang="it">
****<head>
********<title>Aggiungi*amico</title>
********<meta*charset="utf-8"*/>
****</head>

****<body>
********<?php
********if*($user*!==*0)*{
************$username*=*addslashes($_SESSION['utente']);
************$sql*=*"INSERT*INTO*amici_temp*(username_proprietario,*username_amico)*VALUES*('%s',*%d)";
************$sql*=*sprintf($sql,*$username,*$user);
************$query*=*mysql_query($sql)*or*die(mysql_error());

************$sql2*=*"SELECT***FROM*amici,*amici_temp*WHERE*username_proprietario*=*'%s'";
************$sql2*=*sprintf($sql,*$username);
************$query2*=*mysql_query($sql2)*or*die(mysql_error());

************if*(mysql_num_rows($query2)*==*0)*{
****************echo*<<<EOF
********<a*href="?user={$user}"*onclick="retun*confirm('Sei*sicuro*di*voler*inoltrare*la*richiesta?')">Aggiungi*agli*amici!</a>
EOF;
************}
********}

********$sql3*=*'SELECT***FROM*bacheca*WHERE*nome*=*%d';
********$sql3*=*sprintf($sql3,*$user);
********$query3*=*mysql_query($sql3)*or*die(mysql_error());

********while*($riga*=*mysql_fetch_assoc($query3))*{
************$msg*=*stripslashes($riga['Messaggio']);
************$ora*=*date('d/n/Y*g:i:s*A',*$riga['Data']);

************echo*<<<EOF
********<div*class="postbacheca">
************<p*class="bacheca">
****************{$ora}
****************<label*class="barradistanziatrice">*|</label>
****************<label*class="messaggio">*{$msg}*</label>
************</p>
********</div>
EOF;
********}
********?>
****</body>
</html>

Ho risolto: gli spazi erano sostituiti, anche se non si vedeva, dai *.
Grazie ancora per il tuo aiuto (se non avessi postato il codice non me ne sarei accorto):byebye:

EDIT:
Mi sono accorto che, pur non mostrando la scritta 'Aggiungi agli amici!', aggiornando la pagina in cui è inserito lo script, mi inserisce lo stesso l'amico nella tabella, perché?
Se mi aiuterai a risolvere il problema, te ne sarò per sempre grato.:D
 
Ultima modifica:

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
Ho risolto: gli spazi erano sostituiti, anche se non si vedeva, dai *.
Grazie ancora per il tuo aiuto (se non avessi postato il codice non me ne sarei accorto):byebye:
EDIT:
Mi sono accorto che, pur non mostrando la scritta 'Aggiungi agli amici!', aggiornando la pagina in cui è inserito lo script, mi inserisce lo stesso l'amico nella tabella, perché?
Se mi aiuterai a risolvere il problema, te ne sarò per sempre grato.:D
Credo di aver individuato il problema: in questa riga di codice
PHP:
if ($user!== 0) {
si dice se la variabile user non è uguale a 0 fai..., ma la variabile user non è mai uguale a zero nel mio caso, visto che la prelevo sempre, quindi, quando questa si setta automaticamente, la condizione è sempre vera e, aggiornando la pagina, si esegue comunque l'aggiunta dei dati in tabella. Come potrei fare a risolvere questa parte di codice? Ho provato così
PHP:
if(isset($_GET['user'])){
, ma aggiunge comunque, aggiornando la pagina, i dati all'interno della tabella mysql. Mi aiutereste a risolvere questo inghippo?
Grazie a tutti in anticipo per il vostro aiuto,
hackersatifal :D
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
PHP:
$user = !empty($_GET['id']) ? (int)$_GET['id'] : 0;
La variabile $user prende il valore di $_GET['id'] se $_GET['id'] non è vuoto o non esiste. Quindi, per qualche ragione, $_GET['id'] è sempre esistente (il che significa che nel tuo URL c'è sempre ?user=qualcosa).
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
PHP:
$user = !empty($_GET['id']) ? (int)$_GET['id'] : 0;
La variabile $user prende il valore di $_GET['id'] se $_GET['id'] non è vuoto o non esiste. Quindi, per qualche ragione, $_GET['id'] è sempre esistente (il che significa che nel tuo URL c'è sempre ?user=qualcosa).

L'URL dal quale estrai l'id è un URL sempre strutturato in questo modo: result_search2.php?id=nomeutente.
Questa pagina ha un iframe dove viene integrata la pagina con lo script che stiamo tentando di aggiustare. L'URL di questa pagina dentro l'iframe è bacheca_visualizza3.php?id=nomeutente, quindi quando tu scrivi che la variabile $user è un get dell'id questo risulta sempre vero e, quindi, lo script si esegue sempre, anche solo aggiornando la pagina, mentre io vorrei che si esegua solo cliccando sul link 'Aggiungi agli amici' che apre una pagina di conferma.
Ho notato, rileggendo il codice, che tu scrivi
PHP:
 if ($user != 0)
, ma l'azione deve avvenire SOLO se la pagina di conferma ?user=nomeutente si apre e avviene la conferma, mentre come scrivi tu l'azione deve avvenire se $user è diverso da 0 (condizione sempre vera).
Quindi come potrei scrivere in modo che si riesca ad eseguire l'insert nella tabella SOLAMENTE cliccando sul link 'Aggiungi agli amici'?
Grazie ancora per il tuo aiuto,
hackersatifal :D
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
secondo me ti stai perdendo in un bicchier d'acqua.
il controllo che ti ha messo alex funzia
es (non so come si chiami la pagina quindi metto a caso)
caso 1. accesso normale
HTML:
<a href="pagina_a_caso.php?id=asdrubale">clicca</a>
caso 2. tentativo accesso fraudolento (metto gli spazi)
www. tuo_sito . com/pagina_a_caso.php

per cui
PHP:
$user = !empty($_GET['id']) ? (int)$_GET['id'] : 0;

nel caso 1.
$user assume il valore "asdrubale"

nel caso 2.
$user assume il valore 0

da cui
PHP:
if ($user !== 0) { //verifico non solo il valore ma anche il tipo in questo cas diverso dall'intero 0
//faccio quello che devo
}else{
//errore
}
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
ciao
secondo me ti stai perdendo in un bicchier d'acqua.
il controllo che ti ha messo alex funzia
es (non so come si chiami la pagina quindi metto a caso)
caso 1. accesso normale
HTML:
<a href="pagina_a_caso.php?id=asdrubale">clicca</a>
caso 2. tentativo accesso fraudolento (metto gli spazi)
www. tuo_sito . com/pagina_a_caso.php

per cui
PHP:
$user = !empty($_GET['id']) ? (int)$_GET['id'] : 0;

nel caso 1.
$user assume il valore "asdrubale"

nel caso 2.
$user assume il valore 0

da cui
PHP:
if ($user !== 0) { //verifico non solo il valore ma anche il tipo in questo cas diverso dall'intero 0
//faccio quello che devo
}else{
//errore
}

Il problema non è che è sbagliato come preleva l'id, ma che $user è sempre diverso da 0 (lasciamo stare l'accesso fraudolento) e quindi si esegue sempre lo script, ma a me serve che si esegua solo nel caso in cui la pagina ?user=nomeutente sia aperta e venga cliccato OK.
Comunque guarda il codice della nuova discussione che ho aperto, perché mi dà quell'errore?
Grazie ancora per il tuo aiuto.
 
Discussioni simili
Autore Titolo Forum Risposte Data
felino Script PHP per leggere un file JSON. autenticazione? PHP 4
romeocharly [PHP] Script per rinominare in automatico le immagini inviate da ftp PHP 0
A [PHP] Script con array con numeri che iniziano per 00 PHP 2
TpD [PHP] Script per organizzazione presenza eventi PHP 3
webmachine [PHP] Script per censurare parole PHP 4
M [PHP] Script per controllo disponibilitá negozio in citta PHP 4
K Script PHP per leggere array.txt Presentati al Forum 3
Mauro Guardiani [PHP] script per caricamento video PHP 0
romeocharly Creare un script/codice in php per collegare un id mysql con un file PHP 0
xone [Vendo] Script php+mysql autocostruito per gestione giacenze magazzino Offerte e Richieste di Lavoro e/o Collaborazione 0
F Script php per IP camera PHP 12
IImanuII Licenza per script in PHP PHP 2
S aiuto per script PHP/OOP PHP 2
filippino Script PHP per estrarre dati estrazioni da sito "10 e lotto" PHP 0
K creare uno script in php , per generare in modo automatico query PHP 2
S countdown in php e script per aprire 2 siti contemporanemante PHP 1
U php-mysql script per convertire valori $_POST PHP 2
IImanuII [Php] script per il conteggio delle mail inviate PHP 40
T [Offro Lavoro] CERCASI PROGRAMMATORE PHP per singoli script Offerte e Richieste di Lavoro e/o Collaborazione 2
V Script per distanza indirizzi [era: Script Php che non capisco se funzioni !] PHP 2
C script php per posizionamento su google PHP 0
R script per redirect php ad orari stabiliti PHP 31
M Script php per cancellare file PHP 1
K Script in PHP per gestione sito da utente PHP 6
A cerco script php per sincro db mysql CMS (Content Management System) 4
M Editare uno script php per arricchirlo PHP 9
M php script per classifica PHP 2
Z query sql e script php per ordinamento dati tabella PHP 2
U aiuto per script php inviare una mail PHP 1
SolidSnake4 miglior script per l'upload di immagini con php su DB PHP 5
H Php script per i .swf giochini PHP 0
G Script php per invio email con controllo sintassi e record MX PHP 0
G Script php per invio email con controllo sintassi e record MX PHP 7
S Script per creare Email in PHP PHP 1
M MySQL e PHP: script particolare per vBulletin! PHP 43
P lanciare script asp (o php) da jquery Javascript 1
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
M Collegamento tra form html e script php PHP 4
felino PHP e script generazione file excel PHP 2
R Primo script in PHP / CSS PHP 4
T [a pagamento] programmatore PHP che mi aiuti a migrare gli script da vecchia versione PHP a nuova Offerte e Richieste di Lavoro e/o Collaborazione 1
Max 1 [PHP] Script che funziona in locale e non online PHP 16
K Help: problema con uno script di booking in php! PHP 0
O [PHP] inviare dati da form e script ajax PHP 0
P [PHP] Aggiungere un mio script a prestashop? PHP 10
D [Javascript] inserire uno script in un file php Javascript 6
Gabriele15497514 php testo errato durante la lettura del file txt quando lo script viene eseguito contemporaneamente PHP 3
D [PHP] script che invii una mail automatica dopo risposta ad una discussione di un forum PHP 0
T interpretare uno script php non fatto da me... PHP 3
O Script PHP e loro visibilità PHP 4

Discussioni simili