Page 1 sur 1

Scripts en tout genre

Posté : 22 déc. 2005, 19:27
par beansoldier
Bonjour !

Bon voila je souhaiterai protéger un dossier par mot de passe or sur free c'est très mal expliqué et j'ai du mal a comprendre ... u_u

Est ce que quelqu'un pourrait m'expliquer brievement ca ?

Bon je sais qu'il fio crée un fichier avec des pseudos et mdp ms avec l'histoire de .htaccess jcapte pas trop...

Merci d'avance

Autre chose : Comment fait-on pour qu'un lien URL s'ouvre sur une autre page ??

Posté : 23 déc. 2005, 17:37
par Tiger
Cherche un peut tu vas trouver beaucoup de documentation sur les htaccess.
Et je ne comprend pas trop pour le lien que tu veux ouvrir. Tu veux qu'il s'ouvre à la suite de l'exécution d'un code php? Si oui tu dois utiliser les headers.

Posté : 24 déc. 2005, 21:22
par beansoldier
Arf pour le htaccess c'est bon

pour l'histoire des liens je souhaite que lorsqu'un utilisateur clique sur un lien précis de mon site, ce lien s'ouvre sur une nouvelle page et non sur la meme !!

8)

Posté : 24 déc. 2005, 23:05
par alexbad
Tu ajoutes l'attribut target sur ton lien:

Code : Tout sélectionner

<a href="truc.php" target="_blank">Ton lien</a>
Auquel bien sûr tu donnes la valeur _blank pour l'ouverture d'une nouvelle fenêtre.

Posté : 26 déc. 2005, 12:19
par beansoldier
<?php 
// on se connecte à MySQL 
$db = mysql_connect('****', '****', '****'); 

// on sélectionne la base 
mysql_select_db('Cartes',$db); 
mysql_select_db('Versions',$db); 
mysql_select_db('Boosters',$db);

// on crée la requête SQL 
if(isset($_GET['Numero_Booster'])) 
{ 
// on crée la requête SQL 
$sql = 'SELECT * FROM Cartes LEFT JOIN Versions USING (Numero_Carte) LEFT JOIN Boosters USING (Numero_Booster) WHERE Boosters.Numero_Booster='.$_GET['Numero_Booster'].' GROUP BY Reference_Carte'; 
}

// on envoie la requête 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data = mysql_fetch_assoc($req)) 
    { 
    // on affiche les informations de l'enregistrement en cours 
    echo '<div align="center">
  <center>
  <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-left-style:dotted; border-left-width:0; border-right-style:dotted; border-right-width:0; border-top-style:dotted; border-top-width:0; border-bottom-width:0" bordercolor="#111111" width="60%" id="AutoNumber1" bgcolor="#CCFF99">
    <tr>
      <td width="33%" align="center"><font face="Book Antiqua" size="2"><a href="http://beansoldier.free.fr/Cartes/DetailCarte'. $data['Type_Carte'] .'DE.php?Numero_Carte='. $data['Numero_Carte'] .'">'. $data['Reference_Carte'] .'</a></font></td>
      <td width="33%" align="center"><font face="Book Antiqua" size="2">'.$data['Nom_DE'].'</font></td>
      <td width="34%" align="center"><font face="Book Antiqua" size="2">'.$data['Type_Carte_DE'].'</font></td>
    </tr>
  </table>
  </center>
</div>';
    } 

// on ferme la connexion à mysql 
mysql_close(); 
?> 
Voila je souhaiterais savoir comment faire pour qu'il m'affiche "Il n'y a pas d'enregistrement dans cette table" si dc il n'y a pas pas de ligne dans la table requise !

Posté : 27 déc. 2005, 12:41
par beansoldier
Autre petite chose :p

J'essaie de créer un moteur de recherche basique, j'ai utilisé un tutorial et voila ce que j'ai fais (en test)
<html>
<head>
<title>Recherche Basique</title>
<center>
<img src="http://beansoldier.free.fr/Images/bandeentete.JPG" width="800" height="10" /></center>
<center>
<img src="http://beansoldier.free.fr/Images/banbeansoldier.jpg" width="800" height="200" /></center>
<center>
<img src="http://beansoldier.free.fr/Images/bandeentete.JPG" width="800" height="10" /></center>
    <STYLE>
      <!--
        .police_item { font-family: ArkansasDB ; font-size: 8pt; }
      //-->
    </STYLE>
</head>
<body bgcolor="#98F27D">
<form method="post" action="resultrecherchebasique.php">
<p align="center">
</p>
<p align="center"><u><span style="font-size: 16pt"><b>Recherche Basique</b></span></u></p>
<p align="center">
&nbsp;</p>

<p align="center">
<i><u>Tapez votre recherche :</u></i></p>

<p align="center">

<input type="text" name="Mot" size="31"></p>

<p align="center">
&nbsp;</p>

<p align="center">

<input type="submit" value="Rechercher" alt="Lancer la recherche!"></p>

<p align="center">
&nbsp;</p>

<a href="http://beansoldier.free.fr/index.php">
<img src="http://beansoldier.free.fr/Images/Retour.gif" width="60" height="20" /></a>

&nbsp;<p align="center">
<img border="0" src="http://beansoldier.free.fr/Images/bandefin.JPG" width="800" height="5"></p>

<p align="center">
<i><font face="ce" size="2">Site réalisé par Stéphane et Mathieu © Copyright 
Tous droits réservés<br>
Version 1.0 Site Bean Soldier</font></i></p>


</body>
</html>
<?php

$host = "**";

$user = "**";

$password = "**";

$bdd = "Cartes";

mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible");



// on choisit la bonne base

mysql_select_db($bdd) or die ("Connexion a la base impossible");

	

echo '

<html>

<head>

<title>Résultat de la recherche</title>
<center>
<img src="http://beansoldier.free.fr/Images/bandeentete.JPG" width="800" height="10" /></center>
<center>
<img src="http://beansoldier.free.fr/Images/banbeansoldier.jpg" width="800" height="200" /></center>
<center>
<img src="http://beansoldier.free.fr/Images/bandeentete.JPG" width="800" height="10" /></center>
    <STYLE>
      <!--
        .police_item { font-family: ArkansasDB ; font-size: 8pt; }
      //-->
    </STYLE>
</head>



<body bgcolor="#98F27D">';





if (($Mot == "")||($Mot == "%")) {

// Si aucun mot clé n'a été saisi,

// le script demande à l'utilisateur

// de bien vouloir préciser un mot clé

	echo "

	Veuillez entrer un mot clé s'il vous plaît!

	<p>";

}



else {



// On selectionne les enregistrements contenant le mot clé
// dans les keywords ou le titre

	$query = "SELECT * FROM Cartes 

	WHERE Nom_US LIKE \"%$Mot%\" 

	OR Nom_FR LIKE \"%$Mot%\"

	OR Nom_DE LIKE \"%$Mot%\"

	OR Nom_IT LIKE \"%$Mot%\"

	OR Nom_JAP LIKE \"%$Mot%\"

	OR Nom_JAP_US LIKE \"%$Mot%\"
	";



	$result = mysql_query($query);

	$row = mysql_fetch_row($result);

	$Nombre = $row[0];

	



// Si aucun enregistrement n'est retourné,
// on affiche un message adéquat

if ($Nombre == "0") {

	echo "

	<h2>Aucun résultat ne correspond à votre recherche</h2>

	<p>

	";

}



// Sinon, on affiche le nombre d'enregistrements correspondant
// et les résultats eux-mêmes

else {

	$query = "SELECT * FROM Cartes 

	WHERE Nom_US LIKE \"%$Mot%\" 

	OR Nom_FR LIKE \"%$Mot%\" 
	
	OR Nom_DE LIKE \"%$Mot%\"

	OR Nom_JAP LIKE \"%$Mot%\"

	OR Nom_JAP_US LIKE \"%$Mot%\"

	OR Nom_IT LIKE \"%$Mot%\" ORDER by Nom_US ASC";



	$result = mysql_query($query);



	// Si un seul enregistrement est trouvé, on affiche un message au singulier

	if ($Nombre == "1") {

	echo "

	<a name=\"#resultat\"><h2>Résultat: Une carte trouvé</h2></a>

	<p>";

	}



	// Dans le cas contraire le message est au pluriel...	

	else {

	echo "

	<a name=\"#resultat\"><h2>Résultat: $Nombre cartes trouvés</h2></a>

	<p>";

	}

	

	



	while($row = mysql_fetch_row($result))

	{



				echo "

		<p>\n

		<b>$row[2]</b>\n

		<br><a href=\"http://beansoldier.free.fr/Cartes/Cartesn°=/$row[0]\">Visualiser le carte</a>\n

		<p>\n

		";

	}

}



}

// on ferme la base

mysql_close();

?>

<p align="center">
&nbsp;</p>

<a href="http://beansoldier.free.fr/index.php">
<img src="http://beansoldier.free.fr/Images/Retour.gif" width="60" height="20" /></a>

&nbsp;<p align="center">
<img border="0" src="http://beansoldier.free.fr/Images/bandefin.JPG" width="800" height="5"></p>

<p align="center">
<i><font face="ce" size="2">Site réalisé par Stéphane et Mathieu © Copyright 
Tous droits réservés<br>
Version 1.0 Site Bean Soldier</font></i></p>

</body>

</html>
Le soucis c'est qu'il m'affiche au lieu de mettre "2 carte trouvées" il met "26 cartes trouvées" or je rearque que 26 est le numéro de la carte enregistré

enfin avec ce tuto je m'enmele les pedales auriez vous un autre tuto ou une aide a m'apporter ?

merciii :wink:

Posté : 27 déc. 2005, 13:02
par pjl
1. merci de mettre un titre explicite à ton post.

2. la question initiale n'avait rien à voir avec le PHP.

3. quand quelqu'un prend la peine de te répondre, avant de poser une autre question, c'est assez sympa de remercier et de dire si la réponse a résolu le problème.

4. une question par post. Quand on a une autre question qui n'a rien à voir avec la question initiale, on crée un nouveau post.

5. les tutaux pour apprendre, c'est bien mais il faut aussi prendre la peinde le lire la doc quand un tutaux utilise une fonction que l'on ne connait pas ou que l'on maitrise mal.
Et en lisant la doc de mysql_fetch_row, tu aurais de suite vu que ce code ne veut rien dire.

Code : Tout sélectionner

$row = mysql_fetch_row($result); $Nombre = $row[0]; // Si aucun enregistrement n'est retourné, // on affiche un message adéquat if ($Nombre == "0") {
et en même temps, regarde donc la doc de mysql_num_rows.

Et dernier point, quand on poste du code, inutile d'en mettre une tartine. Il suffit juste de poster la partie qui pose problème.

Posté : 05 janv. 2006, 20:06
par beansoldier
1. merci de mettre un titre explicite à ton post.
DEja soit content que je fais pas un topic par question je trouve plus intelligent de faire un topic pour toutes les questions ! C'est moins chiants et plus sympas mais bon chacun son avis :roll:
2. la question initiale n'avait rien à voir avec le PHP.
Certes enfin pour moi debuter en php voilà quoi maintenant c du sql qu'est ce que ca change dis moi ?? Comme dis je prefere faire un topic pour tout quoi...
3. quand quelqu'un prend la peine de te répondre, avant de poser une autre question, c'est assez sympa de remercier et de dire si la réponse a résolu le problème.
Je remercie toujours a l'avance a celui qui me repond si tu regardai un peu... tu veux pas encore que je lui fasse la Hola ??
4. une question par post. Quand on a une autre question qui n'a rien à voir avec la question initiale, on crée un nouveau post.
Principe bete et stupide... pourquoi une question par post dis moi ? hein ? sérieux ca te derange en quoi le principe tu te dis tiens un nouveau on va jouer le modo chiant ? bon jveux bien etre sympas et faire comme tout le monde mais bon si on peut plus poser de question... a ce que je sache je n'ecris pas toutes les 2 minutes "repondez moi !!!" je suis patient ms dès que j'ai une idée je cherche un peu, je bosse dessus et je pose des questions ! Maintenant si etre curieux et interessé c'est pas bien alors jpeux pas t'aider... Et puis je prefere poster que d'oublié ma question...
5. les tutaux pour apprendre, c'est bien mais il faut aussi prendre la peinde le lire la doc quand un tutaux utilise une fonction que l'on ne connait pas ou que l'on maitrise mal.
Et en lisant la doc de mysql_fetch_row, tu aurais de suite vu que ce code ne veut rien dire.

Code : Tout sélectionner

$row = mysql_fetch_row($result); $Nombre = $row[0]; // Si aucun enregistrement n'est retourné, // on affiche un message adéquat if ($Nombre == "0") {
et en même temps, regarde donc la doc de mysql_num_rows.

Et dernier point, quand on poste du code, inutile d'en mettre une tartine. Il suffit juste de poster la partie qui pose problème.
Oui j'ai vu c'est un paté, mais bon ce tuto il viens d'ici et est incomprehensible donc a part sur ce forum, ou veux tu que je demande ??? deja qu'il n'y a pas beaucoup de site avec des bons scripts alors bon jme rabats sur ce que je peu koi...

Voila donc ma seule et unique question : Ou puis-je trouvé un bon tuto bien expliqué sur le systeme de recherche basique ?

merci d'avance 8)

Posté : 05 janv. 2006, 20:18
par Cyrano
Modération : je te signale beansoldier que les remarques que t'as faite pjl sont parfaitement justifiées.

Un sujet par question sur un problème, au lieu d'étirer un sujet sur plusieurs pages en modifiant les questions au fur et à mesure. N'oublie pas que tu n'es pas le seul à parcourir ce forum et la philosophie générale veut que ce qui sert pour un peut servir aussi à d'autres: chercher une réponse dans un fouillis de 5 ou 6 pages d'un sujet ne sert à personne. Donc nouvelle question sur autre chose, nouveau sujet.

Si le nouveau sujet ne concerne pas PHP mais SQL, il y a un forum SQL qui est là pour ça.

Quant au titre explicite, celui que tu as mis ne l'est pas vraiment : "scripts en tous genres", ça ne veut rien dire pour personne.

J'espère ne pas devoir intervenir à nouveau sur ces points


Maintenant pour ton problème, c'est un problème de requête : le meilleur conseil que je peux te donner, c'est d'essayer de mettre au point ta requête directement dans phpMyAdmin jusqu'à ce que tu obtiennes le résultat souhaité : à partir de là, tu remplaces les valeurs en dur par des variables pour intégrer ça dans ton code et tu testes cette fois-ci avec ta page.