| Autor | Zpráva | ||
|---|---|---|---|
| jirikovovideni Profil |
#1 · Zasláno: 31. 7. 2014, 10:38:01
Zdravím,
pracuji ve wordpressu a mám kód na výpis modelek.Mám takovou představu,že když klinku na stránku xx.cz zobrazí se mi nadledové fotky a jméno.Fotku budu mít jako odkaz na podrobnější výpis.Zkusil jsem použít příkaz GET,ale se zobrazi se mi pouze počáteční stránka a nemohu přijít na to kde mám chybu,nebo spíš jestli mohu použít GET.Chtěl bych poprosit,jestli by jste se na to nekoukli a neporadili mi,nebo aspoň nesměrovali.díky moc <?if (isset($_GET['ok']))
{
$bbb = ($_GET['ok']);
$formName = 'modelky';
$fieldNameWithFile = 'fotka-obliceje';
$fieldNameWithFile1 = 'fotka-postavy';
$fieldNameWithFile2 = 'fotka-1';
$fieldNameWithFile3 = 'fotka-2';
$fieldNameWithFile4 = 'fotka-3';
require_once(ABSPATH . 'wp-content/plugins/contact-form-7-to-database-extension/CF7DBPlugin.php');
$plugin = new CF7DBPlugin();
require_once(ABSPATH . 'wp-content/plugins/contact-form-7-to-database-extension/CFDBFormIterator.php');
$exp = new CFDBFormIterator();
$exp->export('modelky', array('show' => 'jmeno,email', 'search' => "$bbb"));
while ($row = $exp->nextRow()) {
$fileUrl = $plugin->getFileUrl($row['submit_time'], $formName, $fieldNameWithFile);
$fileUrl1 = $plugin->getFileUrl($row['submit_time'], $formName, $fieldNameWithFile1);
$fileUrl2 = $plugin->getFileUrl($row['submit_time'], $formName, $fieldNameWithFile2);
$fileUrl3 = $plugin->getFileUrl($row['submit_time'], $formName, $fieldNameWithFile3);
$fileUrl4 = $plugin->getFileUrl($row['submit_time'], $formName, $fieldNameWithFile4);
{
echo '<TABLE>';
echo "<tr><td><img src='$fileUrl' width='75' height='75'/></td><td> <img src='$fileUrl1' width='75' height='75'/></td><td> <img src='$fileUrl2' width='75' height='75'/></td><td> <img src='$fileUrl3' width='75' height='75'/></td><td> <img src='$fileUrl4' width='75' height='75'/></td><tr>";
echo '</TABLE>';
echo '<TABLE>';
echo '<tr><td>Jméno a Příjmení</td><td><strong>' . $row['jmeno'] . ' ' . $row['prijmeni'] . '</strong></td> ';
echo '<TR><td>Datum narození</td><td><strong>' . $row['den-narozeni'] . '.' . $row['mesic-narozeni'] . '.' . $row['rok-narozeni'] . '</strong></td></tr>';
echo '</TABLE>';
} } }
else {
$formName = 'modelky';
$jmeno = ($_GET['jmeno']);
$fieldNameWithFile = 'fotka-obliceje';
require_once(ABSPATH . 'wp-content/plugins/contact-form-7-to-database-extension/CF7DBPlugin.php');
$plugin = new CF7DBPlugin();
require_once(ABSPATH . 'wp-content/plugins/contact-form-7-to-database-extension/CFDBFormIterator.php');
$exp = new CFDBFormIterator();
$exp->export($formName, array());
echo '<form name="ok" method="get"> ' ;
echo "<table id='ok'>";
while ($row = $exp->nextRow()) {
$fileUrl = $plugin->getFileUrl($row['submit_time'], $formName, $fieldNameWithFile);
$odkaz = "". $row['jmeno'] ;
echo "<td><a href='/stranka/'><img src='$fileUrl' width='150' height='155'/></a><br>". $row['jmeno'] ."</td>";
if (++$mod % 4 === 0) echo "</tr><tr>";
}echo "</table>";
echo '</form> ' ; }
?> |
||
|
Časová prodleva: 11 dní
|
|||
| Virtus Profil |
Zdravím,
takže pokud sem to pochopil dobře, tak jirikovovideni: „Zkusil jsem použít příkaz GET“ se týká řádku 39, tohohle: echo '<form name="ok" method="get"> ' ;
„Fotku budu mít jako odkaz na podrobnější výpis. ...zobrazi se mi pouze počáteční stránka...“ a tohle zase patří k řádku 44: echo "<td><a href='/stranka/'><img src='$fileUrl' width='150' height='155'/></a><br>". $row['jmeno'] ."</td>";
a dle řádků 3 $bbb = ($_GET['ok']); a 14$exp->export('modelky', array('show' => 'jmeno,email', 'search' => "$bbb")); se očekává v proměnné $_GET['ok'] nějaké ID / pointer na konkrétní modelku.
Tak problém je v tom, že se snažíte očividně odeslat formulář kliknutím na odkaz ve formuláři, což bez javascriptu není možné a vzhledem k tomu, že vám postačujě když ukazatel na konkrétní modulku bude předán přímo v URL, je zde řešení s formulářem i s javascriptem naprosto zbytečné. Takže několik bodů co tam je špatně: 1) ve formuláři chybý tlačítko pro odeslání: <input type="submit" value="odešli">
2) i kdyby zde tlačítko pro odeslání bylo, není zde žádný prvek se jménem "ok", který by se odeslal, tudíž proměnná $_GET['ok'] by neexistovala, protože <form name="ok" method="get"> název formuláře se normálně neodesílá
4) formulář je očividně kolem všech fotek, tudíž pokud by zde byly generovány nějaké ukazatele na konkrétní modelku, odeslali by se všechny a pak by nebylo možné určit jakou modelku chcete zobrazit 5) řádek 45: if (++$mod % 4 === 0)..., nikde nevidím definovanou proměnnou $mod, takže tento řádek generuje PHP notice:
PHP Notice: Undefined variable: mod in soubor.php on line 45 $jmeno a $odkaz, nikde se v kódu nepoužívají, je tedy zbytečné aby zde byly
takže teoreticky aby vám to fungovalo, tak by to mohlo vypadat nějak takto: <?php
//.....
$exp->export($formName, array());
echo "<table id='ok'>";
$mod = 0;
while ($row = $exp->nextRow()) {
$fileUrl = $plugin->getFileUrl($row['submit_time'], $formName, $fieldNameWithFile);
echo "<td><a href='/stranka/?ok=".$row['pointer_na_konkretni_modelku']."'><img src='$fileUrl' width='150' height='155'/></a><br>". $row['jmeno'] ."</td>";
if (++$mod % 4 === 0){
echo "</tr><tr>";
}
}
echo "</table>";
|
||
|
Časová prodleva: 12 let
|
|||
0