Jump to content
IvanGS

verificar se a query foi executada

Recommended Posts

IvanGS

boas pessoal, alguém me pode dizer como é que eu faço para verificar se a query já foi executada?

a BD é MySql

Share this post


Link to post
Share on other sites
ruimcosta

Se já foi? ou se foi executada com sucesso?

if( mysql_query("select * from tabela") ){

echo 'sucesso';
}


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
ruimcosta

Devo andar mesmo a dormir ou a tua necessidade é mesmo muito especial e eu não estou a chegar lá.

No exemplo que te dei, o echo é executado após a execução do sql, logo o sucesso aparece depois de o sql ter sido executado.

Digo eu..... ou então peço a tua ajuda para te compreender melhor!  :cheesygrin:


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
IvanGS

é assim eu criei um tabela de log's aquilo não sei porque executa-me a script 4 vezes...

e não esta dentro de nenhum ciclo...

Share this post


Link to post
Share on other sites
ruimcosta

Por norma a partir das 9.30 já estou como hei-de explicar...."acordado"!

Bem me parecia que precisavas de outra coisa. E se partilhasses o código? Como executas esse registo, via jquery? Tens ajax metido na "conversa" ?


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
IvanGS

sim ha ajax, e jquery

a script é esta:

<?php
// ensure this file is being included by a parent file
if( !defined( '_JEXEC' ) && !defined( '_VALID_MOS' ) ) die( 'Restricted access' );
/**
* @version $Id: login.php 187 2011-01-18 15:25:24Z soeren $
* @package eXtplorer
* @copyright soeren 2007-2009
* @author The eXtplorer project (http://ff9900.net/projects/extplorer)
* @author The	The QuiX project (http://quixplorer.ff9900.net)
* 
* @license
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
* 
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations
* under the License.
* 
* Alternatively, the contents of this file may be used under the terms
* of the GNU General Public License Version 2 or later (the "GPL"), in
* which case the provisions of the GPL are applicable instead of
* those above. If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use
* your version of this file under the MPL, indicate your decision by
* deleting  the provisions above and replace  them with the notice and
* other provisions required by the GPL.  If you do not delete
* the provisions above, a recipient may use your version of this file
* under either the MPL or the GPL."
* 
* User Authentication Functions
*/

//------------------------------------------------------------------------------
require_once _EXT_PATH."/include/users.php";
load_users();
//------------------------------------------------------------------------------
$GLOBALS['__SESSION']=&$_SESSION;
if( !empty($_REQUEST['type'])) {
$GLOBALS['authentication_type'] = basename(extGetParam($_REQUEST, 'type', $GLOBALS['ext_conf']['authentication_method_default']));
} else {
$GLOBALS['authentication_type'] = $GLOBALS['file_mode'];
}
if($GLOBALS['authentication_type'] == 'file') {
$GLOBALS['authentication_type'] = 'extplorer';
}
if( !in_array($GLOBALS['authentication_type'],$GLOBALS['ext_conf']['authentication_methods_allowed'])) {
$GLOBALS['authentication_type'] = extgetparam( $_SESSION, 'file_mode', $GLOBALS['ext_conf']['authentication_method_default'] );
if( !in_array($GLOBALS['authentication_type'],$GLOBALS['ext_conf']['authentication_methods_allowed'])) {
	$GLOBALS['authentication_type'] = $_SESSION['file_mode'] = $GLOBALS['ext_conf']['authentication_method_default'];
}
}

if( file_exists(_EXT_PATH.'/include/authentication/'.$authentication_type.'.php')) {
	require_once(_EXT_PATH.'/include/authentication/'.$authentication_type.'.php');
	$classname = 'ext_'.$authentication_type.'_authentication';
	if( class_exists($classname)) {
		$GLOBALS['auth'] = new $classname();
	}
}

//------------------------------------------------------------------------------
function login() {
global $auth, $authentication_type;
if( !is_object($auth)) {
	return false;
}
if( !empty($GLOBALS['__POST']['username']) || !empty($_SESSION['credentials_'.$authentication_type])) {

	if( !empty($GLOBALS['__POST']['username'])) {
		$username = $GLOBALS['__POST']['username'];
		$password = $GLOBALS['__POST']['password'];
		$_SESSION['username_login_session'] = $username;
		if( $authentication_type == 'extplorer') $password = extEncodePassword($password);
	} else {
		$username = $_SESSION['credentials_'.$authentication_type]['username'];
		$password = $_SESSION['credentials_'.$authentication_type]['password'];

		setcookie("login", $username, time()+3600);

		$ip=$_SERVER['REMOTE_ADDR'];
		$timestamp = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y"));
		$data_hora = gmdate("d/m/Y H:i:s", $timestamp);

		$server = "";
		$dbuser = "";
		$dbpassword = "";
		$database = "";

		/* Prepare Database Connection */
		$connection = mysql_connect(''.$server.'',''.$dbuser.'',''.$dbpassword.'');
		if (!$connection) {
			die(''.$error1.' ' . mysql_error());
		}
		/* Define Database Table */
		$db_selected = mysql_select_db(''.$database.'', $connection);
		if (!$db_selected) {
			die (''.$error2.' ' . mysql_error());
		}
		$result = mysql_query("INSERT INTO logs (user, hour, ip) VALUES ('$username', '$data_hora', '$ip')");
	}

	$res = $auth->onAuthenticate( array('username' => $username, 'password' => $password) );
	if( !PEAR::isError($res) && $res !== false ) {
		if( @$GLOBALS['__POST']['action'] == 'login' && ext_isXHR() ) {
			session_write_close();
			ext_Result::sendResult('login', true, ext_Lang::msg('actlogin_success') );
		}
		return true;
	} else {
		if( ext_isXHR() ) {
			$errmsg = PEAR::isError($res) ? $res->getMessage() : ext_Lang::msg( 'actlogin_failure' );

			ext_Result::sendResult('login', false, $errmsg );
		}
		return false;
	}

}
if( ext_isXHR() && $GLOBALS['action'] != 'login') {
	echo '<script type="text/javascript>document.location="'._EXT_URL.'/index.php";</script>';
	exit();
}
session_write_close();
session_id( get_session_id() );
session_start();
// Ask for Login
$GLOBALS['mainframe']->setPageTitle( ext_Lang::msg('actlogin') );
$GLOBALS['mainframe']->addcustomheadtag( '
	<script type="text/javascript" src="'. _EXT_URL . '/fetchscript.php?'
		.'subdir[0]=scripts/extjs3/adapter/ext/&file[0]=ext-base.js'
		.'&subdir[1]=scripts/extjs3/&file[1]=ext-all.js&gzip=1"></script>
	<script type="text/javascript" src="'. $GLOBALS['script_name'].'?option=com_extplorer&action=include_javascript&file=functions.js"></script>
	<link rel="stylesheet" href="'. _EXT_URL . '/fetchscript.php?subdir[0]=scripts/extjs3/resources/css/&file[0]=ext-all.css&subdir[1]=scripts/extjs3/resources/css/&file[1]=xtheme-blue.css&gzip=1" />');


		?>
	<div style="width: 400px;" id="formContainer">
		<div id="ext_logo" style="text-align:center;">
		<a href="http://www.ez-team.com" target="_blank">
			<img src="<?php echo _EXT_URL ?>/images/eXtplorer-horizontal2.png" align="middle" alt="eXtplorer Logo" style="border:none;" />
		</a>
		</div>
		<noscript>
			<div style="width:400px;text-align:center;">
				<h1>eZplorer Login</h1>
				<p style="color:red;">Oh, o JavaScript est? desactivado!</p>
				<p>Procure <a target="_blank" href="https://www.google.com/adsense/support/bin/answer.py?hl=en&answer=12654">como o activar.</a>
				</p>
			</div>
		</noscript>
		<div id="adminForm"></div>

</div>
<script type="text/javascript">
Ext.onReady( function() {
var simple = new Ext.FormPanel(<?php $auth->onShowLoginForm() ?>);

Ext.get( 'formContainer').center();
Ext.get( 'formContainer').setTop(100);
simple.getForm().findField('username').focus();
});
</script><?php
		define( '_LOGIN_REQUIRED', 1 );
	}




Share this post


Link to post
Share on other sites
ruimcosta

Onde será que já vi esse filme, mas não me vou dar ao trabalho de ver esse código todo (deus ma libre). Eu dou-te a solução, porque há quem tenha o descaramento de dizer que sou um tipo porreiro:

Utilizo jquery em todos os projectos, principalmente a nível de admin de conteúdos. Ora o que se passa é que no início num formulário qualquer utilizava ao clicar num botão, por exemplo fazer a submissão por ajax.

O retorno desse ajax, havia casos em que me retornava uma listagem qualquer que trazia tambem a mesma função de ajax, ora isso fazia a cada submissão por ajax, a duplicação dos insert's. Não sei se me estás a acompanhar.

Solução:

Em vez de:

$("#botao").click(function(){
    $.post(
        "reg_artigos_fotos.php",
        { action: "update", artigo_id: aid, img: img},
        function(data){
            $("#resultados").html(data);
        }
    );
});

Tens de utilizar

$("#botao").live('click', function(){
    $.post(
        "reg_artigos_fotos.php",
        { action: "update", artigo_id: aid, img: img},
        function(data){
            $("#resultados").html(data);
        }
    );
});

Não esquecendo que no 1º exemplo o retorno do ajax seria html mais a duplicação do script de execução, o que já não é necessário no 2º exemplo.

Percebeste? Hoje estou numa de filosofar.... :D

Nota: A tua solução não passa por saber se o SQL foi executado, mas sim, arranjar o javascript para não executar mais que 1 única vez.


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
IvanGS

uiii lol

esta cena é um explorador de ficheiros que é o eXtplorer xD

de ajax so percebo daquele para limpar os vidros lol

Share this post


Link to post
Share on other sites
IvanGS

isto é a script do form de login:

function onShowLoginForm() {
	?>
{
	xtype: "form",
	<?php if(!ext_isXHR()) { ?>renderTo: "adminForm", <?php } ?>
	title: "<?php echo ext_Lang::msg('actlogin') ?>",
	id: "simpleform",
	labelWidth: 125, // label settings here cascade unless overridden
	url: "<?php echo basename( $GLOBALS['script_name']) ?>",
	frame: true,
	keys: {
	    key: Ext.EventObject.ENTER,
	    fn  : function(){
			if (simple.getForm().isValid()) {
				Ext.get( "statusBar").update( "Please wait..." );
				Ext.getCmp("simpleform").getForm().submit({
					reset: false,
					success: function(form, action) { location.reload() },
					failure: function(form, action) {
						if( !action.result ) return;
						Ext.Msg.alert('<?php echo ext_Lang::err( 'error', true ) ?>', action.result.error);
						Ext.get( 'statusBar').update( action.result.error );
						form.findField( 'password').setValue('');
						form.findField( 'username').focus();
					},
					scope: Ext.getCmp("simpleform").getForm(),
					params: {
						option: "com_extplorer", 
						action: "login",
						type : "extplorer"
					}
				});
    	        } else {
        	        return false;
            	}
            }
	},
	items: [{
            xtype:"textfield",
		fieldLabel: "<?php echo ext_Lang::msg( 'miscusername', true ) ?>",
		name: "username",
		width:175,
		allowBlank:false
	},
	{
		xtype:"textfield",
		fieldLabel: "<?php echo ext_Lang::msg( 'miscpassword', true ) ?>",
		name: "password",
		inputType: "password",
		width:175,
		allowBlank:false
	}, new Ext.form.ComboBox({

		fieldLabel: "<?php echo ext_Lang::msg( 'misclang', true ) ?>",
		store: new Ext.data.SimpleStore({
	fields: ['language', 'langname'],
	data :	[
	<?php 
	$langs = get_languages();
	$i = 0; $c = count( $langs );
	foreach( $langs as $language => $name ) {
		echo "['$language', '$name' ]";
	if( ++$i < $c ) echo ',';
	}
	?>
		]
}),
		displayField:"langname",
		valueField: "language",
		value: "<?php echo ext_Lang::detect_lang() ?>",
		hiddenName: "lang",
		disableKeyFilter: true,
		editable: false,
		triggerAction: "all",
		mode: "local",
		allowBlank: false,
		selectOnFocus:true
	}),
	{
		xtype: "displayfield",
		id: "statusBar"
	}
	],
	buttons: [{
		text: "<?php echo ext_Lang::msg( 'btnlogin', true ) ?>", 
		type: "submit",
		handler: function() {
			Ext.get( "statusBar").update( "Please wait..." );
			Ext.getCmp("simpleform").getForm().submit({
				reset: false,
				success: function(form, action) { location.reload() },
				failure: function(form, action) {
					if( !action.result ) return;
					Ext.Msg.alert('<?php echo ext_Lang::err( 'error', true ) ?>', action.result.error);
					Ext.get( 'statusBar').update( action.result.error );
					form.findField( 'password').setValue('');
					form.findField( 'username').focus();
				},
				scope: Ext.getCmp("simpleform").getForm(),
				params: {
					option: "com_extplorer", 
					action: "login",
					type : "extplorer"
				}
			});
		}
	},<?php if(!ext_isXHR()) { ?>
	{
		text: '<?php echo ext_Lang::msg( 'btnreset', true ) ?>', 
		handler: function() { simple.getForm().reset(); } 
	}
	<?php 
	} else {?>
	{
		text: "<?php echo ext_Lang::msg( 'btncancel', true ) ?>", 
		handler: function() { Ext.getCmp("dialog").destroy(); }
	}
	<?php 
	} ?>
	]
}

<?php
}

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.