-2
PHP/MySQL Galerie FragenSeiten und Galerie Probleme
Ich habe eine Galerie in PHP gemacht. Er empfängt von einer Indexseite einen Parameter "inname". Die Galerie jedes Mal, wenn es von der Seite übergeht, schafft es nicht, 2 Parameter zur gleichen Zeit und in allen inombre zu senden. Unparameter der Datenbank "idtext" Bitte sagen Sie mir die Fehler
enter code here
index.php
Lista de Acontecimientos<Br />
<?php
$conexion = mysqli_connect("localhost", "root", "") or trigger_error(mysql_error(),E_USER_ERROR);
mysqli_select_db($conexion,"db674013292");
$consulta="Select * from textos where clase=1 ";
$result=mysqli_query($conexion,$consulta);
?>
<?php
while($fila=mysqli_fetch_row($result)){
echo "<a href=\"H.php?inombre='".$fila['0']."'\">".$fila['1']."</a><br>"; }
?>
gallery.php
$inombre=$_GET['inombre'];
$objConnect = mysql_connect("localhost","root","") or die(mysql_error());
$objDB = mysql_select_db("db674013292");
$strSQL = "SELECT * FROM galeriadecidiendo where idtexto =$inombre ";
$objQuery = mysql_query($strSQL);
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 8; // Per Page
@$Page = $_GET["Page"];
if([email protected]$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$strSQL .=" order by idgaleriatexto ASC LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
echo"<table border=\"0\" align=\"center\" cellspacing=\"0\" cellpadding=\"0\"><tr>";
$intRows = 0;
while($objResult = mysql_fetch_array($objQuery))
{
echo "<td>";
$intRows++;
?>
<img with="150" height="150" src="<?=$objResult["url"]; ?>"><br>
<?PHP
echo"</td>";
if(($intRows)%4==0)
{
echo"</tr>";
}
}
echo"</tr></table>";
?>
<br>
<span class="paguinas">Total <?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page :</span>
<?PHP
if($Prev_Page)
{
echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page&$inombre=idtexto'><< Back</a> ";
}
for($i=1; $i<=$Num_Pages; $i++){
if($i != $Page)
{
echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page&$inombre=idtexto'>$i</a> ]";
}
else
{
echo "<b> $i </b>";
}
}
if($Page!=$Num_Pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page$Prev_Page&$inombre=idtexto'>Next>></a> ";
}`enter code here`
?>
<?PHP
mysql_close($objConnect);
?>
</body>
</html>
Ihr Code jedes Mal die Seite Schritt bitte, wie ich senden, um die Parameter inname falsch senden ist anfällig für [** SQL-Injection * *] (https://en.wikipedia.org/wiki/SQL_injection) Angriffe. Sie sollten [** mysqli **] (https://secure.php.net/manual/en/mysqli.prepare.php) oder [** PDO **] (https://secure.php.net/) verwenden. manual/de/pdo.prepared-statements.php) vorbereitete Anweisungen mit gebundenen Parametern wie in [** dieser Beitrag **] beschrieben (https://stackoverflow.com/questions/60174/how-cani-i-prevent-sql -injektion-in-php). –
Verwenden Sie nicht die 'mysql_ *' Funktionen. Sie sind seit v5.5 (Juni 2013) veraltet und wurden seit v7.0 (Dez 2015) entfernt. Verwenden Sie stattdessen die [** mysqli _ ***] (https://secure.php.net/manual/de/book.mysqli.php) oder [** PDO **] (https://secure.php.net) /manual/en/book.pdo.php) funktioniert mit [** vorbereiteten Aussagen **] (https://secure.php.net/manual/en/pdo.prepare.php) und [** gebundenen Parametern ** ] (https://secure.php.net/manual/en/pdostatement.bindparam.php). –