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: 10 let
|
0