Rispondi 
 
Valutazione discussione:
  • 0 voti - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Scipt PHP non funzionante completamente
02-11-2008, 14:52 (Questo messaggio è stato modificato l'ultima volta il: 02-11-2008 15:10 da filippo9639.)
Messaggio: #1
Scipt PHP non funzionante completamente
ennesimo problema con uno script che non fa tutto quello che dovrebbe fare, in poche parole aggiorna solo alcuni campi di una tabella del database, senza aggiornare altri due campi. posto il codice in questione chiarendo quali campi non aggionra.
Codice PHP:
<? include('header.php'); ?>
<h2> Advertisers Request</h2><br />
<?php

if (isset($_GET["type"])){
$type=$_GET["type"];
$id=$_GET["id"];
$option=$_GET["option"];
$username=$_GET["username"];
$ballnumber=$_GET["ballnumber"];
$referrals=$_GET["referrals"];
$numbot=$_GET["refbots"];
$pemail=$_GET["pemail"];
...........................................
if (
$type=="referrals" && $option==approve && $username!=""){

$myDb->connect();
$checkpemaile mysql_query("SELECT * FROM yob_users WHERE referer=''");
$pemail_existe mysql_num_rows($checkpemaile);
$myDb->close();
if (
$pemail_existe<$referrals){
echo 
"<p class='error'>Error. There are not "$referrals ." users without referrer.</p>";
}else{
$myDb->connect();
$timerentend=time()+(86400*30);
$sqlz "SELECT * FROM yob_users WHERE username='$username'";
$resultz mysql_query($sqlz);
$myrowz mysql_fetch_array($resultz);
$numero=$myrowz["referals"] + $referals;
$numbot=$myrowz["refbots"]+ $numbot;
$sqlex "UPDATE yob_users SET referals='$numero', refbots='$numbot' WHERE username='$username'";
mysql_query($sqlex) or die(mysql_error());
$bquery "UPDATE yob_users SET referer='$username', endrefdate='$timerentend',  refpurchase='1' WHERE referer='' AND referer!='$username' LIMIT $referrals";
mysql_query($bquery) or die(mysql_error());
$bquery2 "DELETE FROM yob_purchases WHERE id='$id'";
mysql_query($bquery2) or die(mysql_error());
$myDb->close();
echo 
"<p class='success'><bReferral Request Approved.</b></p>";
}


allora questo codice dello script aggiorna i campi 'referer', 'refpurchase' ed 'endrefdate' ma non i campi 'referrals' ed 'refbots'. Perchè c'è qualche errore nel codice???
Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
02-11-2008, 15:24
Messaggio: #2
RE: Scipt PHP non funzionante completamente
Ho modificato solo la seconda parte:
Codice PHP:
if($type=="referrals" && $option=='approve' && $username!=""){
    
$myDb->connect();
    
$checkpemaile mysql_query("SELECT * FROM yob_users WHERE referer=''");
    
$pemail_existe mysql_num_rows($checkpemaile);
    
$myDb->close();
    if(
$pemail_existe<$referrals){
        echo 
'<p class="error">Error. There are not '.$referrals.' users without referrer.</p>';
    } else {
        
$myDb->connect();
        
$timerentend time()+(86400*30);
        
$sqlex "UPDATE yob_users SET referals=referals+{$numero}, refbots=refbots+{$numbot} WHERE username='{$username}' LIMIT 1";
        
mysql_query($sqlex) or die(mysql_error());
        
$bquery "UPDATE yob_users SET referer='{$username}', endrefdate='{$timerentend}',  refpurchase='1' WHERE referer='' LIMIT {$referrals}";
        
mysql_query($bquery) or die(mysql_error());
        
$bquery2 "DELETE FROM yob_purchases WHERE id='{$id}' LIMIT 1";
        
mysql_query($bquery2) or die(mysql_error());
        
$myDb->close();
        echo 
'<p class="success"><bReferral Request Approved.</b></p>';
    }


In una query ho tolto referer!='$username' perché controllavi già che referer fosse uguale a una stringa vuota. Ti ricordo che il "diverso" in SQL si scrive così: <>.
Quando utilizzi delle variabili PHP in SQL ricordati di trattarle con la funzione mysql_escape_string o con la funzione mysql_real_escape_string, in base alle tue esigenze, per non aver problemi di SQL injection.

Mattia!
Visita il sito web di questo utente Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
02-11-2008, 16:39 (Questo messaggio è stato modificato l'ultima volta il: 02-11-2008 16:40 da filippo9639.)
Messaggio: #3
RE: Scipt PHP non funzionante completamente
Niente da fare lo script continua a non funzionare ho fatto delle piccole modifiche ma non aggiorna 2 campi della tabella, 3 li aggiona.
Codice PHP:
$myDb->connect();
$checkpemaile mysql_query("SELECT * FROM yob_users WHERE referer=''");
$pemail_existe mysql_num_rows($checkpemaile);
$myDb->close();
if (
$pemail_existe<$referrals){
echo 
"<p class='error'>Error. There are not "$referrals ." users without referrer.</p>";
}else{
$myDb->connect();
$timerentend=time()+(86400*30);
$sqlz "SELECT * FROM yob_users WHERE username='$username'";
$resultz mysql_query($sqlz);
$myrowz mysql_fetch_array($resultz);
$numero=$myrowz["referals"] + $referals;
$numbot=$myrowz["refbots"]+ $numbot;
$bquery "UPDATE yob_users SET referer='$username', endrefdate='$timerentend',  refpurchase='1' WHERE referer='' AND referer!='$username' LIMIT $referrals";
mysql_query($bquery) or die(mysql_error());
$sqlex "UPDATE yob_users SET referals='$numero' WHERE username='$username' LIMIT 1";
mysql_query($sqlex) or die(mysql_error());
$aquery="UPDATE yob_users SET  refbots='$numbot' WHERE referer='$username' and user_status='botref' LIMIT 1";
mysql_query($aquery) or die(mysql_error());
$bquery2 "DELETE FROM yob_purchases WHERE id='$id'";
mysql_query($bquery2) or die(mysql_error());
$myDb->close();
echo 
"<p class='success'><bReferral Request Approved.</b></p>";


questa query "$sqlex = "UPDATE yob_users SET referals='$numero' WHERE username='$username' LIMIT 1";" non funziona e neanche questa "$aquery="UPDATE yob_users SET refbots='$numbot' WHERE referer='$username' and user_status='botref' LIMIT 1";"
questa "$bquery = "UPDATE yob_users SET referer='$username', endrefdate='$timerentend', refpurchase='1' WHERE referer='' AND referer!='$username' LIMIT $referrals";"invece, "referer!='$username'" in questo modo non assegna se stesso come refer. Cosa c'è che non va nelle 2 query??????
Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
02-11-2008, 17:46
Messaggio: #4
RE: Scipt PHP non funzionante completamente
Non si capisce niente di cosa hai scritto!
E non ho capito perché hai scritto quel pezzo di codice e non hai provato quello che ho scritto io.

Mattia!
Visita il sito web di questo utente Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
02-11-2008, 17:52
Messaggio: #5
RE: Scipt PHP non funzionante completamente
(02-11-2008 17:46)Mattia Ha scritto:  Non si capisce niente di cosa hai scritto!
E non ho capito perché hai scritto quel pezzo di codice e non hai provato quello che ho scritto io.
ti spiego solo quali query non funzionano solo questo, volevo solo sapere perchè una query funziona e due no.
Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
02-11-2008, 17:56
Messaggio: #6
RE: Scipt PHP non funzionante completamente
Hai provato il codice che ho scritto prima?

Mattia!
Visita il sito web di questo utente Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
02-11-2008, 17:59
Messaggio: #7
RE: Scipt PHP non funzionante completamente
(02-11-2008 17:56)Mattia Ha scritto:  Hai provato il codice che ho scritto prima?
no questo no
Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
02-11-2008, 18:06
Messaggio: #8
RE: Scipt PHP non funzionante completamente
Allora provalo e, se non funziona, riscrivi il codice completo che hai utilizzato e spiega in modo dettagliato cosa fa e cosa invece dovrebbe fare.

Mattia!
Visita il sito web di questo utente Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
02-11-2008, 19:20 (Questo messaggio è stato modificato l'ultima volta il: 02-11-2008 19:21 da filippo9639.)
Messaggio: #9
RE: Scipt PHP non funzionante completamente
(02-11-2008 18:06)Mattia Ha scritto:  Allora provalo e, se non funziona, riscrivi il codice completo che hai utilizzato e spiega in modo dettagliato cosa fa e cosa invece dovrebbe fare.
il codice rifatto da te non funziona, il codice che funziona parzialemente lo già postato prima. ho scritto anche cosa fà aggiorna i campi (endrefdate, referer, refpurchase) mentre non aggiorna i campi (referals,refbots). Dove è l'errore???
Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
03-11-2008, 08:45
Messaggio: #10
RE: Scipt PHP non funzionante completamente
Il codice riscritto da me cosa fa invece?

Mattia!
Visita il sito web di questo utente Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
03-11-2008, 20:48
Messaggio: #11
RE: Scipt PHP non funzionante completamente
(03-11-2008 08:45)Mattia Ha scritto:  Il codice riscritto da me cosa fa invece?

il tuo codice mi da errore in partenza.
Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
03-11-2008, 21:59
Messaggio: #12
RE: Scipt PHP non funzionante completamente
Che errore ti dà?

Mattia!
Visita il sito web di questo utente Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
Rispondi 


Vai al forum:


Utente(i) che stanno guardando questa discussione: 1 Ospite(i)

Contattaci | Matriz | Torna all'inizio della pagina | Torna al contenuto | Modalità archivio | RSS Syndication