Estoy usando AS 1 & 2 (flash Cs3), e hice un pequeño flash de prueba para guardar un puntaje ficticio, tengo 2 fotogramas, en el primero tengo
Código ActionScript :
puntaje=650; // tengo un cuadro de texto dinamico y var=puntaje enviar = new LoadVars(); enviar.sendAndLoad("http://miserver.cl/user.txt", enviar, "POST"); //lee el usuario o id de un txt enviar.onLoad = function() { user = this.user_id; //tengo un cuadro de texto dinamico y tiene en var=user }; stop();
Uso los cuadros de texto para ver si se cargan bien las variables, sobre todo la que leo del txt que es el id de un usuario x. en el otro fotograma envio las variables a un php:
Código ActionScript :
form_lv = new LoadVars(); form_lv.punt= puntaje; form_lv.us = user; form_lv.sendAndLoad("http://miserver.cl/send.php", form_lv, "POST"); mensaje_txt.text = "Enviando Mensaje.."; form_lv.onLoad = function() { if (this.estatus == "ok") { mensaje_txt.text = "Tu mensaje fue enviado..."; trace("LLEGO"); } else { mensaje_txt.text = "Problemas con el servidor\nIntentalo de Nuevo"; } }; stop();
en send.php (solo se debe guardar los puntajes mas altos de cada user) tengo:
Código PHP :
if (isset($_POST['punt'])) { $loco = $_POST["punt"]; $dbh = mysql_connect("basededatos.cl", "user", "pass") or die ('problema conectando porque :' . mysql_error()); mysql_select_db ("user",$dbh); $user_u = $_POST["us"]; $q = "SELECT uid, puntaje FROM ranking1 WHERE uid = $user_u"; $user = mysql_query($q, $dbh) or die ("Problema con query"); $renglon = mysql_fetch_row($user); if($renglon[0] != $user_u){ $insertar="insert into ranking1 (uid, puntaje) values ('".$user_u."', '".$loco."')"; mysql_query($insertar, $dbh)or die (" Problema al insertar puntaje"); }else{ if($renglon[1] < $loco){ $actualizar = "update ranking1 set puntaje = '".$loco."' where uid ='$renglon[0]'"; mysql_query($actualizar, $dbh)or die (" Problema al actualizar puntaje."); } } echo "&estatus=ok&"; }
La estructura de la tabla ranking1 es:
Código MySQL :
Campo Tipo Cotejamiento Atributos Nulo Predeterminado Extra uid bigint(20) No Ninguna puntaje int(11) No Ninguna
Probé el script php con un formulario y me insertaba correctamente en la base de datos, pero cuando lo pruebo con flash no funciona, no tengo idea porque, espero que me puedan ayudar, ya que he buscado informacion y esto deveria funcionar por lo que he encontrado.
Les dejo el formulario que si guarda en la base de datos
Código PHP :
<?php if (isset($_POST['punt'])) { $loco = $_POST["punt"]; $dbh = mysql_connect("basededatos.cl", "user", "pass") or die ('problema conectando porque :' . mysql_error()); mysql_select_db ("user",$dbh); $user_u = $_POST["us"]; $q = "SELECT uid, puntaje FROM ranking1 WHERE uid = $user_u"; $user = mysql_query($q, $dbh) or die ("Problema con query"); $renglon = mysql_fetch_row($user); if($renglon[0] != $user_u){ $insertar="insert into ranking1 (uid, puntaje) values ('".$user_u."', '".$loco."')"; mysql_query($insertar, $dbh)or die (" Problema al insertar puntaje"); }else{ if($renglon[1] < $loco){ $actualizar = "update ranking1 set puntaje = '".$loco."' where uid ='$renglon[0]'"; mysql_query($actualizar, $dbh)or die (" Problema al actualizar puntaje."); } } echo "&estatus=ok&"; } else { // Si no, muestra un formulario ?> <form method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>"> user_id? <input type="text" name="us" /> puntaje <input type="text" name="punt" /> <input type="submit" name="muestra" value="Seguir" /> </form> } ?> <?php } //Fin del bloque else ?>