getServerSideProps() is not called nextJS 13
P粉211600174
P粉211600174 2023-10-31 15:38:58
0
2
449

Trying to get familiar with nextJS 13. What I encountered was that the getServerSideProps function did not prerender page props. This is my first time trying it so I don't know if I'm doing it wrong.

Here is /app/login/page.js

import Content from "@/components/content";
import LoginForm from "@/components/loginForm";
import Title from "@/components/title";

function Login({ message }) {
    return (
        <Content>
            <div className="ml-2 my-2">
                {message || "NextJS is ok."}
                <Title text="Login" />
            </div>
            <LoginForm />
        </Content>
    );
}

export default Login;

export async function getServerSideProps() {
    console.log("running getServerSideProps function..");
    return {
        props: { message: "NextJS is awesome!" },
    };
}

The key thing I'm trying to achieve here is to check the server's session key using an axios request before displaying the login page. If the user is logged in, the user should be redirected to the homepage. If I can get this to work, here's the code for the future:

export async function getServerSideProps() {
    console.log("Im running getServerSideProps funct ");
    let isLoggedIn = false;
    try {
        const response = await api.get("/users/session-check", {
            withCredentials: true,
        });
        if (response.status === 200) isLoggedIn = true;
    } catch (err) {
        console.log(err.message);
    }
    if (isLoggedIn) {
        return {
            redirect: {
                destination: "/",
                permanent: false,
            },
        };
    }
    return {
        props: {},
    };
}

I tried using npm run dev Still getting the same result...

P粉211600174
P粉211600174

reply all(2)
P粉166779363

It looks like you are trying to use getServerSideProps to perform server-side rendering and authentication checks before displaying the page. Judging from your code, you seem to be on the right track.

However, I noticed that you are not passing the props returned from getServerSideProps to your Login component. In order to pass server-side properties to the component, you need to modify the Login function to accept the message property as follows:

function Login({ message }) {
    return (
        
            
{message || "NextJS is ok."} </div> <LoginForm /> </Content> ); }</pre> <p> Additionally, since you are using <code>getServerSideProps</code>, your <code>npm run dev</code> command will not generate static HTML files for your page. Instead, pages will be generated on every request. So if you want to test that <code>getServerSideProps</code> is working properly, you need to make a request to the page in the browser and check the console log for the <code>console.log( )</code> statement. </p> <p>I hope this helps! If you have any other questions, please let me know. </p></body></html> </a> <div class="wdcdcInfo flexRow"> <a href="javascript:ask_reply_good(257321)"> <img class="wdxqindz" src="/static/images/images/icon27.png"></a> <span class="wdxqindzspan">Like <b>+0</b></span> <div class="wdcdcileft"> <a href="javascript:;" class="wdcdciSpan reply openreply">Add Reply</a> <a href="javascript:;" class="wdcdciSpan reply closereply" style="display:none">关闭回复</a> </div> </div> <div class="wdcdContentReplyss" style="display: none;"> <div class="reply textarea-con"> <div class="replyTop flexRow"> <div class="retLeft flexRow"> <img src="/static/images/user_avatar.jpg" class="retlAvatar" > <span class="retlName">P粉211600174</span> </div> </div> <textarea class="replaytext colorGrey" id="release-reply" placeholder="Write down your reply"></textarea> <button type="button" class="replayBtn do-reply-btn" data-id="257321">reply</button> </div> </div> <div class="wdcdContentReplyss"> <ul class="replyssul"> </ul> </div> </div> </div> </div> <div class="wdsyCondivLine"></div> <div class="wdsyConDiv flexRow ask_top_ul"> <img src="//m.sbmmt.com/static/images/user_avatar.jpg" alt="P粉663883862" class="wdcdImg"> <div class="wdcdContent flexColumn"> <div class="wdcdContentReply"> <div class="wdxqrcTop flexRow"> <a href="//m.sbmmt.com/member/1271723.html" target="_blank" class="wdcdcName">P粉663883862<b class="wdxqRcT colorGrey">2023-11-01 09:35:08</b></a> <span class="wdxqrcTopspan colorGrey">1 floor</span> </div> <a href="javascript:;" class="wdcdcCons"><?xml encoding="utf-8" ?><html><body><p> So, as I mentioned in the comments, you should follow this <a href="https://nextjs.org/docs/app/building-your-application/data-fetching/fetching#async-and-await-in%20-server-components" rel="nofollow noreferrer"> https://nextjs.org/docs/app/building-your-application/data-fetching/fetching#async-and-await -in-server-components</a> when you use Next 13 and <code>app</code> folders. </p> <p>This means you can try something like this: </p> <pre class="brush:php;toolbar:false;">import { redirect } from 'next/navigation'; import Content from "@/components/content"; import LoginForm from "@/components/loginForm"; import Title from "@/components/title"; async function isLoggedIn() { try { const response = await api.get("/users/session-check", { withCredentials: true, }); if (response.status === 200) return true; } catch (err) { console.log(err.message); } return false; } export default async function Page() { const isLogged = await isLoggedIn(); if (!isLogged) redirect('/'); return ( <Content> <div className="ml-2 my-2"> {"NextJS is ok."} <Title text="Login" /> </div> <LoginForm /> </Content> ); }</pre> <p> Of course, you need to add message props. </p></body></html> </a> <div class="wdcdcInfo flexRow"> <a href="javascript:ask_reply_good(257320)"> <img class="wdxqindz" src="/static/images/images/icon27.png"></a> <span class="wdxqindzspan">Like <b>+0</b></span> <div class="wdcdcileft"> <a href="javascript:;" class="wdcdciSpan reply openreply">Add Reply</a> <a href="javascript:;" class="wdcdciSpan reply closereply" style="display:none">关闭回复</a> </div> </div> <div class="wdcdContentReplyss" style="display: none;"> <div class="reply textarea-con"> <div class="replyTop flexRow"> <div class="retLeft flexRow"> <img src="/static/images/user_avatar.jpg" class="retlAvatar" > <span class="retlName">P粉211600174</span> </div> </div> <textarea class="replaytext colorGrey" id="release-reply" placeholder="Write down your reply"></textarea> <button type="button" class="replayBtn do-reply-btn" data-id="257320">reply</button> </div> </div> <div class="wdcdContentReplyss"> <ul class="replyssul"> </ul> </div> </div> </div> </div> <div class="wdsyCondivLine"></div> <div></div> </div> </div> <!-- left end --> <div class="phpwzright wdxq"> <a href="javascript:void(0);" onclick="publish_ask('Post Topic',1,'en')"><img src="/static/images/images/needtiwen.png" class="wdxqrImg"></a> <div class="wzrTwo"> <div class="wzrt-title"> <div>Popular Topics</div> <a href="//m.sbmmt.com/faq/zt">More> </a> </div> <div class="wzrtlist"> <ul> <li> <a target="_blank" href="//m.sbmmt.com/faq/baymcxgj" title="Registration domain name query tool"><img src="https://img.php.cn/upload/subject/202406/19/2024061913554580971.jpg?x-oss-process=image/resize,m_fill,h_96,w_156" alt="Registration domain name query tool" /> </a> <a target="_blank" href="//m.sbmmt.com/faq/baymcxgj" title="Registration domain name query tool" class="title-a-spanl"><span>Registration domain name query tool</span> </a> </li> <li> <a target="_blank" href="//m.sbmmt.com/faq/baymcxgj" title="Registration domain name query tool"><img src="https://img.php.cn/upload/subject/202406/19/2024061913554580971.jpg?x-oss-process=image/resize,m_fill,h_96,w_156" alt="Registration domain name query tool" /> </a> <a target="_blank" href="//m.sbmmt.com/faq/baymcxgj" title="Registration domain name query tool" class="title-a-spanl"><span>Registration domain name query tool</span> </a> </li> <li> <a target="_blank" href="//m.sbmmt.com/faq/nohuphdqb" title="The difference between nohup and &amp;"><img src="https://img.php.cn/upload/subject/202403/18/2024031814511566689.jpg?x-oss-process=image/resize,m_fill,h_96,w_156" alt="The difference between nohup and &amp;" /> </a> <a target="_blank" href="//m.sbmmt.com/faq/nohuphdqb" title="The difference between nohup and &amp;" class="title-a-spanl"><span>The difference between nohup and &amp;</span> </a> </li> <li> <a target="_blank" href="//m.sbmmt.com/faq/cyyzdysjs" title="Introduction to the meaning of += in C language"><img src="https://img.php.cn/upload/subject/202403/26/2024032610164233163.jpg?x-oss-process=image/resize,m_fill,h_96,w_156" alt="Introduction to the meaning of += in C language" /> </a> <a target="_blank" href="//m.sbmmt.com/faq/cyyzdysjs" title="Introduction to the meaning of += in C language" class="title-a-spanl"><span>Introduction to the meaning of += in C language</span> </a> </li> </ul> </div> </div> <div class="wzrOne"> <div class="wzroTitle"> <div> Popular Articles </div> </div> <div class="wzroList"> <ul> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a target="_blank" title="Hamster Kombat Daily Cipher Challenge: Decode the Morse Code for June 16, 2024" href="//m.sbmmt.com/faq/1796501078.html">Hamster Kombat Daily Cipher Challenge: Decode the Morse Code for June 16, 2024</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a target="_blank" title="Can Bitcoin become a 'gain-earning asset”?" href="//m.sbmmt.com/faq/1796503391.html">Can Bitcoin become a 'gain-earning asset”?</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a target="_blank" title="Where to go after Castle Ensis in Elden Ring Shadow of the Erdtree" href="//m.sbmmt.com/faq/1796506130.html">Where to go after Castle Ensis in Elden Ring Shadow of the Erdtree</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a target="_blank" title="Best Rellana's Twin Blades build in Elden Ring SotE: Stats, Talisman, and Armor" href="//m.sbmmt.com/faq/1796506239.html">Best Rellana's Twin Blades build in Elden Ring SotE: Stats, Talisman, and Armor</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a target="_blank" title="Elden Ring SotE Belurat Gaol walkthrough: Weapons, items, bosses, and more" href="//m.sbmmt.com/faq/1796506253.html">Elden Ring SotE Belurat Gaol walkthrough: Weapons, items, bosses, and more</a> </div> </li> </ul> </div> </div> <div class="wzrThree"> <div class="wzrthree-title"> <div>Popular Tutorials</div> <a target="_blank" href="//m.sbmmt.com/course.html">More> </a> </div> <div class="wzrthreelist swiper2"> <div class="wzrthreeTab swiper-wrapper"> <div class="check tabdiv swiper-slide" data-id="one">Related Tutorials <div></div></div> <div class="tabdiv swiper-slide" data-id="two">Popular Recommendations<div></div></div> <div class="tabdiv swiper-slide" data-id="three">Latest courses<div></div></div> </div> <ul class="one"> <li> <a target="_blank" href="//m.sbmmt.com/course/812.html" title="The latest ThinkPHP 5.1 world premiere video tutorial (60 days to become a PHP expert online training course)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="The latest ThinkPHP 5.1 world premiere video tutorial (60 days to become a PHP expert online training course)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="The latest ThinkPHP 5.1 world premiere video tutorial (60 days to become a PHP expert online training course)" href="//m.sbmmt.com/course/812.html">The latest ThinkPHP 5.1 world premiere video tutorial (60 days to become a PHP expert online training course)</a> <div class="wzrthreerb"> <div>1384127 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/course/74.html" title="PHP introductory tutorial one: Learn PHP in one week" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253d1e28ef5c345.png" alt="PHP introductory tutorial one: Learn PHP in one week"/> </a> <div class="wzrthree-right"> <a target="_blank" title="PHP introductory tutorial one: Learn PHP in one week" href="//m.sbmmt.com/course/74.html">PHP introductory tutorial one: Learn PHP in one week</a> <div class="wzrthreerb"> <div>4188276 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="74"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/course/286.html" title="JAVA Beginner's Video Tutorial" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="JAVA Beginner's Video Tutorial"/> </a> <div class="wzrthree-right"> <a target="_blank" title="JAVA Beginner's Video Tutorial" href="//m.sbmmt.com/course/286.html">JAVA Beginner's Video Tutorial</a> <div class="wzrthreerb"> <div>2262989 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="two" style="display: none;"> <li> <a target="_blank" href="//m.sbmmt.com/course/812.html" title="The latest ThinkPHP 5.1 world premiere video tutorial (60 days to become a PHP expert online training course)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="The latest ThinkPHP 5.1 world premiere video tutorial (60 days to become a PHP expert online training course)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="The latest ThinkPHP 5.1 world premiere video tutorial (60 days to become a PHP expert online training course)" href="//m.sbmmt.com/course/812.html">The latest ThinkPHP 5.1 world premiere video tutorial (60 days to become a PHP expert online training course)</a> <div class="wzrthreerb"> <div >1384127 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/course/286.html" title="JAVA Beginner's Video Tutorial" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="JAVA Beginner's Video Tutorial"/> </a> <div class="wzrthree-right"> <a target="_blank" title="JAVA Beginner's Video Tutorial" href="//m.sbmmt.com/course/286.html">JAVA Beginner's Video Tutorial</a> <div class="wzrthreerb"> <div >2262989 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/course/504.html" title="Little Turtle's zero-based introduction to learning Python video tutorial" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="Little Turtle's zero-based introduction to learning Python video tutorial"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Little Turtle's zero-based introduction to learning Python video tutorial" href="//m.sbmmt.com/course/504.html">Little Turtle's zero-based introduction to learning Python video tutorial</a> <div class="wzrthreerb"> <div >486298 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="504"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/course/901.html" title="Quick introduction to web front-end development" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/64be28a53a4f6310.png" alt="Quick introduction to web front-end development"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Quick introduction to web front-end development" href="//m.sbmmt.com/course/901.html">Quick introduction to web front-end development</a> <div class="wzrthreerb"> <div >212630 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="901"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/course/234.html" title="Master PS video tutorials from scratch" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62611f57ed0d4840.jpg" alt="Master PS video tutorials from scratch"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Master PS video tutorials from scratch" href="//m.sbmmt.com/course/234.html">Master PS video tutorials from scratch</a> <div class="wzrthreerb"> <div >822215 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="234"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="three" style="display: none;"> <li> <a target="_blank" href="//m.sbmmt.com/course/1648.html" title="[Web front-end] Node.js quick start" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662b5d34ba7c0227.png" alt="[Web front-end] Node.js quick start"/> </a> <div class="wzrthree-right"> <a target="_blank" title="[Web front-end] Node.js quick start" href="//m.sbmmt.com/course/1648.html">[Web front-end] Node.js quick start</a> <div class="wzrthreerb"> <div >1446 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="1648"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/course/1647.html" title="Complete collection of foreign web development full-stack courses" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6628cc96e310c937.png" alt="Complete collection of foreign web development full-stack courses"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Complete collection of foreign web development full-stack courses" href="//m.sbmmt.com/course/1647.html">Complete collection of foreign web development full-stack courses</a> <div class="wzrthreerb"> <div >1175 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="1647"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/course/1646.html" title="Go language practical GraphQL" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662221173504a436.png" alt="Go language practical GraphQL"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Go language practical GraphQL" href="//m.sbmmt.com/course/1646.html">Go language practical GraphQL</a> <div class="wzrthreerb"> <div >971 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="1646"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/course/1645.html" title="550W fan master learns JavaScript from scratch step by step" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662077e163124646.png" alt="550W fan master learns JavaScript from scratch step by step"/> </a> <div class="wzrthree-right"> <a target="_blank" title="550W fan master learns JavaScript from scratch step by step" href="//m.sbmmt.com/course/1645.html">550W fan master learns JavaScript from scratch step by step</a> <div class="wzrthreerb"> <div >350 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="1645"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="//m.sbmmt.com/course/1644.html" title="Python master Mosh, a beginner with zero basic knowledge can get started in 6 hours" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6616418ca80b8916.png" alt="Python master Mosh, a beginner with zero basic knowledge can get started in 6 hours"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Python master Mosh, a beginner with zero basic knowledge can get started in 6 hours" href="//m.sbmmt.com/course/1644.html">Python master Mosh, a beginner with zero basic knowledge can get started in 6 hours</a> <div class="wzrthreerb"> <div >4985 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="1644"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper2', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrthreeTab>div').click(function(e){ $('.wzrthreeTab>div').removeClass('check') $(this).addClass('check') $('.wzrthreelist>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> <div class="wzrFour"> <div class="wzrfour-title"> <div>Latest Downloads</div> <a href="//m.sbmmt.com/xiazai">More> </a> </div> <script> $(document).ready(function(){ var sjyx_banSwiper = new Swiper(".sjyx_banSwiperwz",{ speed:1000, autoplay:{ delay:3500, disableOnInteraction: false, }, pagination:{ el:'.sjyx_banSwiperwz .swiper-pagination', clickable :false, }, loop:true }) }) </script> <div class="wzrfourList swiper3"> <div class="wzrfourlTab swiper-wrapper"> <div class="check swiper-slide" data-id="onef">Web Effects <div></div></div> <div class="swiper-slide" data-id="twof">Website Source Code<div></div></div> <div class="swiper-slide" data-id="threef">Website Materials<div></div></div> <div class="swiper-slide" data-id="fourf">Front End Template<div></div></div> </div> <ul class="onef"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="jQuery enterprise message form contact code" href="//m.sbmmt.com/xiazai/js/8071">[form button] jQuery enterprise message form contact code</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="HTML5 MP3 music box playback effects" href="//m.sbmmt.com/xiazai/js/8070">[Player special effects] HTML5 MP3 music box playback effects</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="HTML5 cool particle animation navigation menu special effects" href="//m.sbmmt.com/xiazai/js/8069">[Menu navigation] HTML5 cool particle animation navigation menu special effects</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="jQuery visual form drag and drop editing code" href="//m.sbmmt.com/xiazai/js/8068">[form button] jQuery visual form drag and drop editing code</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="VUE.JS imitation Kugou music player code" href="//m.sbmmt.com/xiazai/js/8067">[Player special effects] VUE.JS imitation Kugou music player code</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Classic html5 pushing box game" href="//m.sbmmt.com/xiazai/js/8066">[html5 special effects] Classic html5 pushing box game</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="jQuery scrolling to add or reduce image effects" href="//m.sbmmt.com/xiazai/js/8065">[Picture special effects] jQuery scrolling to add or reduce image effects</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="CSS3 personal album cover hover zoom effect" href="//m.sbmmt.com/xiazai/js/8064">[Photo album effects] CSS3 personal album cover hover zoom effect</a> </div> </li> </ul> <ul class="twof" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/7647" title="Organic fruit and vegetable supplier web template Bootstrap5" target="_blank">[Bootstrap template] Organic fruit and vegetable supplier web template Bootstrap5</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/7646" title="Bootstrap3 multifunctional data information background management responsive web page template-Novus" target="_blank">[backend template] Bootstrap3 multifunctional data information background management responsive web page template-Novus</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/7645" title="Real estate resource service platform web page template Bootstrap5" target="_blank">[Bootstrap template] Real estate resource service platform web page template Bootstrap5</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/7644" title="Simple resume information web template Bootstrap4" target="_blank">[Bootstrap template] Simple resume information web template Bootstrap4</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/7639" title="bootstrap responsive widescreen book education website template-DREAMLIFE" target="_blank">[Bootstrap template] bootstrap responsive widescreen book education website template-DREAMLIFE</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/7634" title="MAC style responsive blue enterprise CMS background management system template" target="_blank">[backend template] MAC style responsive blue enterprise CMS background management system template</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/7632" title="Responsive gradient atmosphere background management system website template-usinessbox" target="_blank">[backend template] Responsive gradient atmosphere background management system website template-usinessbox</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/7629" title="Responsive vegetable and fruit store website template-Organio" target="_blank">[Bootstrap template] Responsive vegetable and fruit store website template-Organio</a> </div> </li> </ul> <ul class="threef" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/sucai/3078" target="_blank" title="Cute summer elements vector material (EPS PNG)">[PNG material] Cute summer elements vector material (EPS PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/sucai/3077" target="_blank" title="Four red 2023 graduation badges vector material (AI EPS PNG)">[PNG material] Four red 2023 graduation badges vector material (AI EPS PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/sucai/3076" target="_blank" title="Singing bird and cart filled with flowers design spring banner vector material (AI EPS)">[banner picture] Singing bird and cart filled with flowers design spring banner vector material (AI EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/sucai/3075" target="_blank" title="Golden graduation cap vector material (EPS PNG)">[PNG material] Golden graduation cap vector material (EPS PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/sucai/3074" target="_blank" title="Black and white style mountain icon vector material (EPS PNG)">[PNG material] Black and white style mountain icon vector material (EPS PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/sucai/3073" target="_blank" title="Superhero silhouette vector material (EPS PNG) with different color cloaks and different poses">[PNG material] Superhero silhouette vector material (EPS PNG) with different color cloaks and different poses</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/sucai/3072" target="_blank" title="Flat style Arbor Day banner vector material (AI+EPS)">[banner picture] Flat style Arbor Day banner vector material (AI+EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/sucai/3071" target="_blank" title="Nine comic-style exploding chat bubbles vector material (EPS+PNG)">[PNG material] Nine comic-style exploding chat bubbles vector material (EPS+PNG)</a> </div> </li> </ul> <ul class="fourf" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/8328" target="_blank" title="Home Decor Cleaning and Repair Service Company Website Template">[Front-end template] Home Decor Cleaning and Repair Service Company Website Template</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/8327" target="_blank" title="Fresh color personal resume guide page template">[Front-end template] Fresh color personal resume guide page template</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/8326" target="_blank" title="Designer Creative Job Resume Web Template">[Front-end template] Designer Creative Job Resume Web Template</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/8325" target="_blank" title="Modern engineering construction company website template">[Front-end template] Modern engineering construction company website template</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/8324" target="_blank" title="Responsive HTML5 template for educational service institutions">[Front-end template] Responsive HTML5 template for educational service institutions</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/8323" target="_blank" title="Online e-book store mall website template">[Front-end template] Online e-book store mall website template</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/8322" target="_blank" title="IT technology solves Internet company website template">[Front-end template] IT technology solves Internet company website template</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="//m.sbmmt.com/xiazai/code/8321" target="_blank" title="Purple style foreign exchange trading service website template">[Front-end template] Purple style foreign exchange trading service website template</a> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper3', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrfourlTab>div').click(function(e){ $('.wzrfourlTab>div').removeClass('check') $(this).addClass('check') $('.wzrfourList>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> </div> </div> </div> <div class="phpFoot"> <div class="phpFootIn"> <div class="phpFootCont"> <div class="phpFootLeft"> <dl> <dt> <a href="//m.sbmmt.com/about/us.html" rel="nofollow" target="_blank" title="About us" class="cBlack">About us</a> <a href="//m.sbmmt.com/about/disclaimer.html" rel="nofollow" target="_blank" title="Disclaimer" class="cBlack">Disclaimer</a> <a href="//m.sbmmt.com/update/article_0_1.html" target="_blank" title="Sitemap" class="cBlack">Sitemap</a> <div class="clear"></div> </dt> <dd class="cont1">php.cn:Public welfare online PHP training,Help PHP learners grow quickly!</dd> </dl> </div> </div> </div> </div> <input type="hidden" id="verifycode" value="/captcha.html"> <script>layui.use(['element', 'carousel'], function () {var element = layui.element;$ = layui.jquery;var carousel = layui.carousel;carousel.render({elem: '#test1', width: '100%', height: '330px', arrow: 'always'});$.getScript('/static/js/jquery.lazyload.min.js', function () {$("img").lazyload({placeholder: "/static/images/load.jpg", effect: "fadeIn", threshold: 200, skip_invisible: false});});});</script> <script src="/static/js/common_new.js"></script> <script type="text/javascript" src="/static/js/jquery.cookie.js?1719168318"></script> </body> </html><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8986a26348732eb7',t:'MTcxOTE2ODMxOC4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>