No ragazzi niente, ho studiato un pò più la cosa..non posso utilizzare chiavi esterne perchè ho un db con motore MYISAM..e non ho possibilità di metterlo con motore innodb..a questo punto volevo solo chiedere quanto una tabella può essere grande per non incorrere in qualche rischio.
eretis
@eretis
Post creati da eretis
-
RE: Relazione tra tabelle nel db
-
RE: Relazione tra tabelle nel db
Aggiungo che alla registrazione, viene inserito il nickname, l'email e la password e quindi nella prima tabella l'id incrementa di 1...dovrei inserire alla registrazione anche i valori delle altre tabelle, anche se valgono 0..in modo da avere lo stesso id per le cose che riguardano lo stesso pg?
-
Relazione tra tabelle nel db
Ciao a tutti..Nel browser game che sto creando (anche grazie al vostro aiuto), ho sviluppato tutto su un unica tabella. Ho letto in giro che sarebbe meglio suddividerla in più tabelle in modo da rendere il db più efficiente, solo che non ho trovato da nessuna parte spiegazioni valide.
Ho diviso la mia tabella in queste 3 (per ora):
[php]
id
nickname
email
passwordid
liv
exp
exp_per_liv
vita
vita_tot
attacco
difesa
energia
energia_totid
soldi
deposito
[/php]
Mi serve che tutte siano collegate tra loro...ad esempio se volessi aumentare i soldi di un dato pg....con un unica tabella facevo:[php]mysql_query("UPDATE lista_utenti SET soldi = soldi[0] +25 WHERE id= '$id' ");[/php]Ora come dovrei fare?
-
RE: Script temporizzato
@TopSeo said:
Ciao,
L'unico modo per temporizzare il tutto senza che l'utente sia online sono appunto i cron...in che senso si è impallato tutto?Avevo provato un cron, postato da un altro utente sempre in questo forum...appena ho aperto la pagina, mi dava un continuo caricamento...e anche chiudendo il browser e provando ad aprire altre pagine continua a caricare a vuoto..
Ok grazie proverò il link ^^
EDIT: ma posso fare io manualmente uno script, tipo quello che ho provato senza pagare? Poi magari quando inizierò a guadagnarci con la pubblicità, userò web cron che è più affidabile
-
Script temporizzato
Ciao, dovrei fare in modo che questo testo (inserito in una pagina php) si attivasse ogni 5 min:
[PHP]
include "config.php"; // connessione al db
$nickname = $nickname= $_SESSION['Nickname'];
// estrazione del valore
$estraien= mysql_query("SELECT Energia FROM lista_utenti WHERE Nickname= '$nickname'");// trasformazione in array
$energia= mysql_fetch_row($estraien);// aumentato valore
$aumentaen= $energia[0] + 1;// aggiorna la tabella
$update= mysql_query("UPDATE lista_utenti SET Energia= '$aumentaen' WHERE Nickname= '$nickname'");?>
[/PHP]Ho provato a usare questo famoso cron...ma mi si è impallato tutto wm server tools e è stato un pò difficile risolvere tutto..Questo valore presto dovrà diventare del tipo... "+1 di energia ogni 5min finchè non raggiungi 20"..O una cosa del genere..Non so se usare javascript (non so come fare :D) perchè questo valore deve cambiare indipendentemente se l'utente è online o no. Aiuto!!
-
RE: [Tutorial] Area privata
Ecco qua....avevo messo nella tabella "lista_utenti" a password varchar 20...quindi la registrazione della pass si fermava a 20 caratteri, invece che 32...ke noob x:x
Grazie mille darkita, sempre disponibile
-
RE: [Tutorial] Area privata
mmmm ecco dovè l'errore!!!!!!! La password criptata in md5...differisce da quella presente nella tabella!!!! Ma come mai? Non ho fatto un doppia criptazione o cose del genere
Forse è colpa di questa stringa nella registrazione?
[PHP]$password= md5($password); //criptazione della password[/PHP]
-
RE: [Tutorial] Area privata
Ok, scusa l'ignoranza
Ho registrato un utente con nickname: nanana, password: nanana
Se metto [PHP]echo "SELECT * FROM lista_utenti WHERE Nickname = '$nickname' AND Password = '$password'"; [/PHP]
esce:SELECT * FROM lista_utenti WHERE Nickname = 'nanana' AND Password = 'bb9ec852de3e8f7609d3676ede4444fa'Nickname o Password errati
Mentre se metto come prima
[PHP]echo $query;[/PHP]
esce sempre resource id #4
-
RE: [Tutorial] Area privata
esce: Resource id #4
Ho fatto così:
[php]echo mysql_query("SELECT * FROM lista_utenti WHERE Nickname = '$nickname' AND Password = '$password'");[/php]Per visualizzarla l'ho tolta dai vari if ecc..spero di aver fatto bene
-
RE: [Tutorial] Area privata
Ciao TheDarkita,
ho tolto gli exit superflui e li ho messi dove servivano XD Sulle guide su internet non parlano nemmeno di exit!!
Stampando a video le righe indagate mi esce come valore 0...
[php]$query= mysql_query("SELECT * FROM lista_utenti WHERE Nickname = '$nickname' AND Password = '$password'");
$utente=mysql_num_rows($query);[/php]:? -
RE: [Tutorial] Area privata
Nooooooooo...ho reinstallato wm server tools perchè mi dava problemi....stessa versione e tutto...e stesso codice (avevo fatto il backup) perchè ora non mi partono di nuovo più le sessioni?
Mi dice Nickname o Password errati..Riposto di nuovo...
Login:
[PHP]<?php
include "config.php";
if(isset($_POST['Nickname'])) {
$nickname= trim($_POST['Nickname']);
$password= trim($_POST['Password']);$password= md5($password);
$query= mysql_query("SELECT * FROM lista_utenti WHERE Nickname = '$nickname' AND Password = '$password'");
$utente=mysql_num_rows($query);if(!$utente==1) {
die('Nickname o Password errati');
}
else {
$_SESSION['Nickname'] = $nickname;
header("Location: frames.php");
}
}
?>[/PHP]
in una privata:
[PHP]<?php
include "config.php";
If (!isset($_SESSION['Nickname'])) {
die("non risulti loggato");
exit;}
?>[/PHP]
-
RE: [Tutorial] Area privata
Ho risolto....c'ho sbattuto la testa un altro paio di orette Ma cosa sono questi magicquotes? Mai sentiti..
-
RE: [Tutorial] Area privata
Ragazzi, ho messo session_start (); nel file "connessione.php"... prima era in index.php (dove si effettua il login)...ora se metto i dati errati nella form, mi dice che sono tali...mentre se li metto giusti mi apre la pagina....frames.php ma mi resta bianca..da cosa può dipendere?
Scusate per il doppio post non mi faceva più editare
-
RE: [Tutorial] Area privata
Ciao ragazzi, ho preso spunto da questo script per farmi il login del mio sito. All'inizio della pagina che devo proteggere ho inserito questo codice:
[php]<?php
include "connessione.php";
If (!isset($_SESSION['Nickname'])) {
die("non risulti loggato");
exit;}
?>
[/php]c'è qualcosa che non va...ma lo script dovrebbe essere corretto....infatti se metto i dati di un utente registrato mi dice non risulti loggato, invece se uso dati sbagliati nella form mi da "nome utente o password errati".... ecco invece il login:[php]<?php
include "connessione.php";
session_start();
if(isset($_POST['Nickname'])) {
$nickname= trim($_POST['Nickname']);
$password= trim($_POST['Password']);$password= md5($password);
$query= mysql_query("SELECT * FROM lista_utenti WHERE Nickname = '$nickname' AND Password = '$password'");
$utente=mysql_num_rows($query);if($utente==1) {
$_SESSION['Nickname'] = $nickname;
header("Location: frames.php");
}
else {
die ('Nickname o Password errati');}
}
?>[/php]
Dove sbaglio stavolta? -
RE: Problema registrazione
Ciao ragazzi, grazie di tutto..funziona alla perfezione!!
Ora è una registrazione molto semplice..cercherò di fare in modo di fargli riconoscere quando un campo è vuoto ecc...
Alla prossima!!
-
RE: Problema registrazione
Che sbadato lol!!!
Ho modificato...ed è cambiato l'errore...ci avviciniamo alla soluzione
php:
**$nickname= $_POST[
Nickname
];
$email= $_POST[Email
];
$password= $_POST[Password
];**errori:Notice: Undefined index: in C:\WM\www\Progetto\registrazione.php on line 29
Notice: Undefined index: in C:\WM\www\Progetto\registrazione.php on line 30
Notice: Undefined index: in C:\WM\www\Progetto\registrazione.php on line **31
Ho provato " ' `, e ho controllato che nella form Nickname, Email e Password sono scritti con la prima lettera maiuscola.............
** -
RE: Problema registrazione
Ok grazie, su altervista continua a non darmi errori, mentre in locale, aggiungendo quella riga mi da l'errore su queste righe: (anche se nn riesco proprio a capire dove sbaglio XD)
$nickname= $_post['Nickname'];
$email= $_post['Email'];
$password= $_post['Password'];Notice: Undefined variable: _post in C:\WM\www\Progetto\registrazione.php on line 29
Notice: Undefined variable: _post in C:\WM\www\Progetto\registrazione.php on line 30
Notice: Undefined variable: _post in C:\WM\www\Progetto\registrazione.php on line 31
-
Problema registrazione
Ciao a tutti...sono nuovo di qui Piano piano sto cercando di creare un browser game...e mi sono bloccato alla registrazione da qualche giorno xDxD
Naturalmente uso un database mysql, dove ho una tabella chiamata lista_utenti cn id (key primaria), nickname (varchar), email (varchar) e password (varchar). All'inizio mi dava vari errori di connessione...ora che sembra non darmi alcun errore...non mi inserisce i dati lo stesso...non è un problema di altervista perchè ho provato anche in locale..stessa cosa
Ecco lo script:
<html>
<head>
<title>Registrazione</title>
<link rel=stylesheet href="css/stylesito.css" type="text/css">
</head>
<body>
<a href="index.php">Home Page</a><br>
<a href="ilgioco.php">Il Gioco</a><br>
<text class="linkdellapaginavisualizzata">Registrazione</text><br>
<a href="">Forum</a><br>
<center><form id="registrazione" action="registrazione.php" method="post" name="registrazione">
nickname:<input type="text" name="Nickname" value="">
<p>email:<input type="text" name="Email" value=""></p>
<p>password:<input type="password" name="Password" value=""></p>
<p><input type="submit" value="Registrati"></p>
</form></center><?php
$DBhost= "localhost";
$DBuser= ".........."; //naturalmente in quello originale i dati sono inseriti
$DBpass= "..........";
$DBname= "....................";$link= mysql_connect($DBhost,$DBuser,$DBpass,$DBname) or die("impossibile collegarsi al server");
$link1= mysql_select_db($DBname,$link) or die("impossibile connettersi al database");
$nickname= $_post['Nickname'];
$email= $_post['Email'];
$password= $_post['Password'];
@mysql_query($nickname,$email,$password) or die(mysql_error());
$sql= "INSERT INTO lista_utenti(nickname, email, password) values ('$nickname', '$email', '$password')";mysql_query($sql) or die(mysql_error());
@mysql_close($link);
?>
</body>
</html>EDIT: ho provato a mettere come action della form, una pagina esterna, ho provato tutte le combinazioni di apici ' ` virgolette " ecc.....sono disperato XD
Grazie dell'aiuto